Difference between revisions of "Developer:LPEC"

From LinnDocs
Jump to: navigation, search
Line 38: Line 38:
 
An action can be perfomed on a device by sending the following message:
 
An action can be perfomed on a device by sending the following message:
  
<br> <code>ACTION [id]/[type] [version] [action] "[inarg1]" "[inarg2]" ... "[inargn]"</code><code></code>
+
<code>ACTION [id]/[type] [version] [action] "[inarg1]" "[inarg2]" ... "[inargn]"</code>
  
<code>e.g.</code>
+
e.g.
  
<code>ACTION MediaRenderer/AVTransport 1 SetAVTransportURI "0" "http://192.168.0.1/Abba/Dancing Queen.mp3" ""</code>
+
<code>ACTION MediaRenderer/RenderingControl 1 SetVolume "0" "Master" "50"</code>
 
 
<code></code>
 
 
 
<code></code>
 
  
 
= Eventing =
 
= Eventing =

Revision as of 09:53, 17 June 2008

Introduction

Linn's UPnP products can be controlled over a home network in an ever increaing number of ways. The primary means of control is, of course, UPnP itself, which subdivides product control into smaller units called services. A DS product, for instance, will provide some standard UPnP AV services:


  • AVTransport
  • RenderingControl
  • ConnectionManager


and additional Linn-specific services, such as:


  • Ds
  • Volkano
  • Product
  • Ui


It is possible in Bute and later software releases to control a Linn UPnP product using an alternative mechanism known as the Linn Protocol for Eventing and Control.


This is a basic Telnet-like protocol, which relies on the developer knowing in advance, or having discovered by some means, the TCP/IP of the device to be controlled. Knowing this, LPEC can be accessed by creating a raw socket session to port 23 of the device.


The rest of this document describes the format of the messages that LPEC expects and delivers.


Control

Each service contains actions that can be performed. Thes are like methods that can be called on the device with input and output arguments.

An action can be perfomed on a device by sending the following message:

ACTION [id]/[type] [version] [action] "[inarg1]" "[inarg2]" ... "[inargn]"

e.g.

ACTION MediaRenderer/RenderingControl 1 SetVolume "0" "Master" "50"

Eventing

Discovery