<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.mios.com/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.mios.com/index.php?action=history&amp;feed=atom&amp;title=Luup_IO_Device</id>
		<title>Luup IO Device - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mios.com/index.php?action=history&amp;feed=atom&amp;title=Luup_IO_Device"/>
		<link rel="alternate" type="text/html" href="http://wiki.mios.com/index.php?title=Luup_IO_Device&amp;action=history"/>
		<updated>2026-06-03T04:13:51Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.8</generator>

	<entry>
		<id>http://wiki.mios.com/index.php?title=Luup_IO_Device&amp;diff=2243&amp;oldid=prev</id>
		<title>Javier: Category:Development</title>
		<link rel="alternate" type="text/html" href="http://wiki.mios.com/index.php?title=Luup_IO_Device&amp;diff=2243&amp;oldid=prev"/>
				<updated>2010-04-13T05:07:19Z</updated>
		
		<summary type="html">&lt;p&gt;Category:Development&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 05:07, 13 April 2010&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Development]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Most Luup plugins are simply interfaces to communicate with&amp;amp;nbsp;an external piece of hardware using infrared (A/V devices like TV's), RS232 (high-end&amp;amp;nbsp;A/V gear, alarm panels, etc.), Network (IP cameras and other IP devices), and a handful of other connections like RS485. In this case the Luup plugin will effectively act as a translator&amp;amp;nbsp;between UPnP&amp;amp;nbsp;and the device's native communication protocol (IR, RS232, etc.). All these communication methods (IR, RS232, network) can be thought of as 'input/output', or I/O, because you get data in from the device and send data out to the device. Infrared is often output-only since generally you can only send&amp;amp;nbsp;IR codes to the device. If you're writing a device that does not talk to some piece of external hardware this section doesn't apply to you. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Most Luup plugins are simply interfaces to communicate with&amp;amp;nbsp;an external piece of hardware using infrared (A/V devices like TV's), RS232 (high-end&amp;amp;nbsp;A/V gear, alarm panels, etc.), Network (IP cameras and other IP devices), and a handful of other connections like RS485. In this case the Luup plugin will effectively act as a translator&amp;amp;nbsp;between UPnP&amp;amp;nbsp;and the device's native communication protocol (IR, RS232, etc.). All these communication methods (IR, RS232, network) can be thought of as 'input/output', or I/O, because you get data in from the device and send data out to the device. Infrared is often output-only since generally you can only send&amp;amp;nbsp;IR codes to the device. If you're writing a device that does not talk to some piece of external hardware this section doesn't apply to you. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The Luup engine handles all the low-level I/O. Your plugin only needs to specify what type of&amp;amp;nbsp;I/O to use. Then, within your plugin, when you want to send something to the device you use one of the Luup send commands, like lu_iop_send. If the device is using infrared, whatever you send needs to be in Pronto format. If the device is serial/RS232 or network based, you can send anything and Luup will send this data to the device. Generally serial and network devices have a low-level protocol to organize the data you send/receive into 'chunks'. The most basic low-level protocol is to send/receive text commands that end with a carriage return+line feed (i.e. ENTER), such as: PowerOn [ENTER] ChannelUp [ENTER]. Luup handles the low-level protocol for you,&amp;amp;nbsp;so that any incoming data is automatically divided into 'chunks' of discrete commands, and handles adding separating characters like carriage return+line feed to anything you send. This makes it much faster for you to write a plugin.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The Luup engine handles all the low-level I/O. Your plugin only needs to specify what type of&amp;amp;nbsp;I/O to use. Then, within your plugin, when you want to send something to the device you use one of the Luup send commands, like lu_iop_send. If the device is using infrared, whatever you send needs to be in Pronto format. If the device is serial/RS232 or network based, you can send anything and Luup will send this data to the device. Generally serial and network devices have a low-level protocol to organize the data you send/receive into 'chunks'. The most basic low-level protocol is to send/receive text commands that end with a carriage return+line feed (i.e. ENTER), such as: PowerOn [ENTER] ChannelUp [ENTER]. Luup handles the low-level protocol for you,&amp;amp;nbsp;so that any incoming data is automatically divided into 'chunks' of discrete commands, and handles adding separating characters like carriage return+line feed to anything you send. This makes it much faster for you to write a plugin.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key micasaverde_wiki:diff:version:1.11a:oldid:1575:newid:2243 --&gt;
&lt;/table&gt;</summary>
		<author><name>Javier</name></author>	</entry>

	<entry>
		<id>http://wiki.mios.com/index.php?title=Luup_IO_Device&amp;diff=1575&amp;oldid=prev</id>
		<title>LibraSun at 03:16, 11 August 2009</title>
		<link rel="alternate" type="text/html" href="http://wiki.mios.com/index.php?title=Luup_IO_Device&amp;diff=1575&amp;oldid=prev"/>
				<updated>2009-08-11T03:16:59Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 03:16, 11 August 2009&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Most Luup plugins are simply interfaces to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;talk to &lt;/del&gt;an external piece of hardware using infrared (&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;a&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;v &lt;/del&gt;devices like TV's), RS232 (high-end &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;a&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;v &lt;/del&gt;gear, alarm panels, etc.), Network (IP cameras and other IP devices), and a handful of other connections like RS485. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;In this case the Luup plugin will effectively act as a translator &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;to go from &lt;/del&gt;UPnP &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;to &lt;/del&gt;the device's native communication (&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;i/r&lt;/del&gt;, RS232, etc.). &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;All these communication methods (&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;i/r&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;rs232&lt;/del&gt;, network) can be thought of as 'input/output', or &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;IO&lt;/del&gt;, because you get data in from the device and send data out to the device. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;Infrared is often output-only since generally you can only send &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;i/r &lt;/del&gt;codes to the device. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;If you're writing a device that does not talk to some piece of external hardware this section doesn't apply to you.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Most Luup plugins are simply interfaces to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;communicate with&amp;amp;nbsp;&lt;/ins&gt;an external piece of hardware using infrared (&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;A&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;V &lt;/ins&gt;devices like TV's), RS232 (high-end&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;nbsp;A&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;V &lt;/ins&gt;gear, alarm panels, etc.), Network (IP cameras and other IP devices), and a handful of other connections like RS485. In this case the Luup plugin will effectively act as a translator&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;nbsp;between &lt;/ins&gt;UPnP&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;nbsp;and &lt;/ins&gt;the device's native communication &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;protocol &lt;/ins&gt;(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;IR&lt;/ins&gt;, RS232, etc.). All these communication methods (&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;IR&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;RS232&lt;/ins&gt;, network) can be thought of as 'input/output', or &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;I/O&lt;/ins&gt;, because you get data in from the device and send data out to the device. Infrared is often output-only since generally you can only send&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;nbsp;IR &lt;/ins&gt;codes to the device. If you're writing a device that does not talk to some piece of external hardware this section doesn't apply to you. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The Luup engine handles all the low-level &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;i&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;o&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;Your plugin only needs to specify what type of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;i&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;o &lt;/del&gt;to use. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;Then, within your plugin, when you want to send something to the device you use one of the Luup send commands, like lu_iop_send. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;If the device is using infrared, whatever you send needs to be in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pronto &lt;/del&gt;format. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;If the device is serial/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;rs232 &lt;/del&gt;or network based, you can send anything and Luup will send this data to the device. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;Generally serial and network devices have a low-level protocol to organize the data you send/receive into 'chunks'. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;The most basic low-level protocol is to send/receive text commands that end with a carriage return+line feed (&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ie &lt;/del&gt;ENTER), such as: PowerOn [ENTER] ChannelUp [ENTER]. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;Luup handles the low-level protocol for you, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;meaning &lt;/del&gt;that any incoming data is automatically divided into 'chunks' of discrete commands, and handles adding separating characters like carriage return+line feed to anything you send. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;This makes it much faster for you to write a plugin.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The Luup engine handles all the low-level &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;I&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;O&lt;/ins&gt;. Your plugin only needs to specify what type of&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;nbsp;I&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;O &lt;/ins&gt;to use. Then, within your plugin, when you want to send something to the device you use one of the Luup send commands, like lu_iop_send. If the device is using infrared, whatever you send needs to be in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pronto &lt;/ins&gt;format. If the device is serial/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;RS232 &lt;/ins&gt;or network based, you can send anything and Luup will send this data to the device. Generally serial and network devices have a low-level protocol to organize the data you send/receive into 'chunks'. The most basic low-level protocol is to send/receive text commands that end with a carriage return+line feed (&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;i.e. &lt;/ins&gt;ENTER), such as: PowerOn [ENTER] ChannelUp [ENTER]. Luup handles the low-level protocol for you,&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;nbsp;so &lt;/ins&gt;that any incoming data is automatically divided into 'chunks' of discrete commands, and handles adding separating characters like carriage return+line feed to anything you send. This makes it much faster for you to write a plugin.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key micasaverde_wiki:diff:version:1.11a:oldid:1156:newid:1575 --&gt;
&lt;/table&gt;</summary>
		<author><name>LibraSun</name></author>	</entry>

	<entry>
		<id>http://wiki.mios.com/index.php?title=Luup_IO_Device&amp;diff=1156&amp;oldid=prev</id>
		<title>Micasaverde: New page: Most Luup plugins are simply interfaces to talk to an external piece of hardware using infrared (a/v devices like TV's), RS232 (high-end a/v gear, alarm panels, etc.), Network (IP cameras ...</title>
		<link rel="alternate" type="text/html" href="http://wiki.mios.com/index.php?title=Luup_IO_Device&amp;diff=1156&amp;oldid=prev"/>
				<updated>2009-06-12T16:51:42Z</updated>
		
		<summary type="html">&lt;p&gt;New page: Most Luup plugins are simply interfaces to talk to an external piece of hardware using infrared (a/v devices like TV&amp;#039;s), RS232 (high-end a/v gear, alarm panels, etc.), Network (IP cameras ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Most Luup plugins are simply interfaces to talk to an external piece of hardware using infrared (a/v devices like TV's), RS232 (high-end a/v gear, alarm panels, etc.), Network (IP cameras and other IP devices), and a handful of other connections like RS485.  In this case the Luup plugin will effectively act as a translator to go from UPnP to the device's native communication (i/r, RS232, etc.).  All these communication methods (i/r, rs232, network) can be thought of as 'input/output', or IO, because you get data in from the device and send data out to the device.  Infrared is often output-only since generally you can only send i/r codes to the device.  If you're writing a device that does not talk to some piece of external hardware this section doesn't apply to you.&lt;br /&gt;
&lt;br /&gt;
The Luup engine handles all the low-level i/o.  Your plugin only needs to specify what type of i/o to use.  Then, within your plugin, when you want to send something to the device you use one of the Luup send commands, like lu_iop_send.  If the device is using infrared, whatever you send needs to be in pronto format.  If the device is serial/rs232 or network based, you can send anything and Luup will send this data to the device.  Generally serial and network devices have a low-level protocol to organize the data you send/receive into 'chunks'.  The most basic low-level protocol is to send/receive text commands that end with a carriage return+line feed (ie ENTER), such as: PowerOn [ENTER] ChannelUp [ENTER].  Luup handles the low-level protocol for you, meaning that any incoming data is automatically divided into 'chunks' of discrete commands, and handles adding separating characters like carriage return+line feed to anything you send.  This makes it much faster for you to write a plugin.&lt;/div&gt;</summary>
		<author><name>Micasaverde</name></author>	</entry>

	</feed>