<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3370577385651101886</id><updated>2011-04-21T22:53:37.178+02:00</updated><category term='remote'/><category term='ipod'/><title type='text'>Push it</title><subtitle type='html'>Publication about geeky stuff</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nykacho.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3370577385651101886/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nykacho.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nicolas</name><uri>http://www.blogger.com/profile/03967765875046777916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3370577385651101886.post-8021579786173676506</id><published>2008-02-21T16:51:00.014+01:00</published><updated>2008-12-09T13:57:10.601+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remote'/><category scheme='http://www.blogger.com/atom/ns#' term='ipod'/><title type='text'>iPod touch home controller project PART 3</title><content type='html'>&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;IR SERVER &lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;In order to separate interface from the IR engine, I'll use a socket connection between them.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The interface will open a socket to the server and write the IR code string.&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;On the other side, the server loads the IR module and listen for IR codes from the socket. When received, the code is sent to the IR module and blasted !&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Here's a simple PHP script that sends an IR code to the socket server :&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102);"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;$&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;fd = fsockopen('192.168.1.20', '9494',  $errno, $errstr, 30);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102);"&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;if ($fd) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102);"&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="white-space: pre; "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre; "&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102);"&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  fwrite($fd, utf8_encode('&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: normal; "&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102);"&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;0000 006C ... 0015 0E4A&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre; "&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102);"&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;'));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102);"&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(102, 102, 102); font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(102, 102, 102); font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(102, 102, 102); font-family:'courier new';"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(102, 102, 102); font-family:'courier new';"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(102, 102, 102); font-family:'courier new';"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;This screenshot shows the debug output of the socket server running and intercepting this code.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://3.bp.blogspot.com/_uUys3wKnkbg/R8a02wK3RyI/AAAAAAAAAEc/bsccjhCpAk8/s320/socket.png" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The next step is the PHP client that will also store the codes in a database&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3370577385651101886-8021579786173676506?l=nykacho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nykacho.blogspot.com/feeds/8021579786173676506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3370577385651101886&amp;postID=8021579786173676506' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3370577385651101886/posts/default/8021579786173676506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3370577385651101886/posts/default/8021579786173676506'/><link rel='alternate' type='text/html' href='http://nykacho.blogspot.com/2008/02/ipod-touch-home-controller-project-part_21.html' title='iPod touch home controller project PART 3'/><author><name>Nicolas</name><uri>http://www.blogger.com/profile/03967765875046777916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_uUys3wKnkbg/R8a02wK3RyI/AAAAAAAAAEc/bsccjhCpAk8/s72-c/socket.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3370577385651101886.post-2234429642673383878</id><published>2008-02-21T16:21:00.000+01:00</published><updated>2008-12-09T13:57:11.006+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remote'/><category scheme='http://www.blogger.com/atom/ns#' term='ipod'/><title type='text'>iPod touch home controller project PART 2</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;DESCRIPTION&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After a brief &lt;a href="http://nykacho.blogspot.com/2008/02/ipod-touch-home-controller-project.html"&gt;introduction&lt;/a&gt; on my &lt;a href="http://nykacho.blogspot.com/2008/02/ipod-touch-home-controller-project.html"&gt;iPod touch remote control&lt;/a&gt; project, here we are.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://1.bp.blogspot.com/_uUys3wKnkbg/R72ZipBL98I/AAAAAAAAACY/S_ctbwSwhOU/s320/ipod.png" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The computer runs on a Linux &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In order to send IR codes to the equipments and learn codes from existing remotes, the computer uses a USB IR Transmitter, available at &lt;a href="http://www.usbuirt.com/"&gt;usbuirt.com&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://www.usbuirt.com/detail.jpg" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Linux drivers are available and easy to set up. It's also provided with an API wich you can implement in a simple catch/send program. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This screenshot shows a simple test program that catchs IR signals. I simply put my remote control in front of the module, press the 'power' button and here what I get : &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_uUys3wKnkbg/R73O85BL-DI/AAAAAAAAADQ/CrUQMxBuoO8/s1600-h/Sans-titre-3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_uUys3wKnkbg/R73O85BL-DI/AAAAAAAAADQ/CrUQMxBuoO8/s320/Sans-titre-3.jpg" alt="" id="BLOGGER_PHOTO_ID_5169515492784470066" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;This way I can get easily every codes of my equipments.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;I'll use the Pronto format. A lot of ressources and equipements codes on that format are available on &lt;a href="http://www.blogger.com/remotecentral.com"&gt;remotecentral.com&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now that basic IR reception/emission is working, let's talk about the software on part 3.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3370577385651101886-2234429642673383878?l=nykacho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nykacho.blogspot.com/feeds/2234429642673383878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3370577385651101886&amp;postID=2234429642673383878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3370577385651101886/posts/default/2234429642673383878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3370577385651101886/posts/default/2234429642673383878'/><link rel='alternate' type='text/html' href='http://nykacho.blogspot.com/2008/02/ipod-touch-home-controller-project-part.html' title='iPod touch home controller project PART 2'/><author><name>Nicolas</name><uri>http://www.blogger.com/profile/03967765875046777916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_uUys3wKnkbg/R72ZipBL98I/AAAAAAAAACY/S_ctbwSwhOU/s72-c/ipod.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3370577385651101886.post-997708932540223771</id><published>2008-02-21T12:47:00.000+01:00</published><updated>2008-12-09T13:57:11.170+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remote'/><category scheme='http://www.blogger.com/atom/ns#' term='ipod'/><title type='text'>iPod touch home controller project PART 1</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;INTRODUCTION&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For some years now, I've been looking for a smart universal remote control, to control my home theater system in an elegant way. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These are existing solutions for that :&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;so-called 'universal' cheap remote controllers. Unfortunalty unusable in a custom configuration.&lt;/li&gt;&lt;li&gt;pronto-like remotes.  Too expensive for a non flexible machine, and poorly-designed&lt;br /&gt;&lt;/li&gt;&lt;li&gt;professional domotic solutions. Much too expensive !&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;When Apple released the iPhone, and the iPod touch some months ago, I thought these machines were good starting points for a remote controller. &lt;/div&gt;&lt;div&gt;They have :&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;gorgeous design&lt;br /&gt;&lt;/li&gt;&lt;li&gt;screen-touch control&lt;br /&gt;&lt;/li&gt;&lt;li&gt;web browser&lt;br /&gt;&lt;/li&gt;&lt;li&gt;and a wifi connection&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;But the iPod is not meant to be a remote controller, so it has no infrared built-in, and that's what remote control is all about.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To act like a remote controller, the iPod have to call a webpage via the browser.&lt;/div&gt;&lt;div&gt;Then, the web server actually sends the IR codes to the appliances ( receiver, television and whatever I want ) via a IR transmitter.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://1.bp.blogspot.com/_uUys3wKnkbg/R71xypBL97I/AAAAAAAAACQ/TDjIs_5zPA0/s320/ipod.png" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;I'll describe the project in details in an upcoming post.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3370577385651101886-997708932540223771?l=nykacho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nykacho.blogspot.com/feeds/997708932540223771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3370577385651101886&amp;postID=997708932540223771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3370577385651101886/posts/default/997708932540223771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3370577385651101886/posts/default/997708932540223771'/><link rel='alternate' type='text/html' href='http://nykacho.blogspot.com/2008/02/ipod-touch-home-controller-project.html' title='iPod touch home controller project PART 1'/><author><name>Nicolas</name><uri>http://www.blogger.com/profile/03967765875046777916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_uUys3wKnkbg/R71xypBL97I/AAAAAAAAACQ/TDjIs_5zPA0/s72-c/ipod.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
