<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pyrocam.com &#187; computer</title>
	<atom:link href="http://pyrocam.com/tag/computer/feed/" rel="self" type="application/rss+xml" />
	<link>http://pyrocam.com</link>
	<description>I&#039;m like Vitamins for Computers</description>
	<lastBuildDate>Wed, 09 May 2012 07:29:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Home Brew &#8211; Temperature managed fermenting cabinet</title>
		<link>http://pyrocam.com/home-brew-temperature-managed-fermenting-cabinet/</link>
		<comments>http://pyrocam.com/home-brew-temperature-managed-fermenting-cabinet/#comments</comments>
		<pubDate>Thu, 03 May 2012 06:19:09 +0000</pubDate>
		<dc:creator>pyrocam</dc:creator>
				<category><![CDATA[box]]></category>
		<category><![CDATA[budget]]></category>
		<category><![CDATA[cabinet]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[ferment]]></category>
		<category><![CDATA[fermenter]]></category>
		<category><![CDATA[foam tape]]></category>
		<category><![CDATA[Green]]></category>
		<category><![CDATA[heat]]></category>
		<category><![CDATA[home brewing beer]]></category>
		<category><![CDATA[insulating foam]]></category>
		<category><![CDATA[junk]]></category>
		<category><![CDATA[peltiers]]></category>
		<category><![CDATA[Polystyrene]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[recycled polystyrene]]></category>
		<category><![CDATA[scrap wood]]></category>
		<category><![CDATA[temperature]]></category>
		<category><![CDATA[temperature management]]></category>
		<category><![CDATA[temperature variations]]></category>
		<category><![CDATA[Wood]]></category>

		<guid isPermaLink="false">http://pyrocam.com/?page_id=748</guid>
		<description><![CDATA[When home brewing beer, it is important to keep a constant and cool temperature. I like to aim for around 19 degrees C (66F) for ales (references) and 4 degrees C for lagers but in New Zealand the general yeasts sold or packaged with kits for lagers are really &#8216;lager style&#8217; top fermenting (ale) yeasts; [...]]]></description>
			<content:encoded><![CDATA[<p>When home brewing beer, it is important to keep a constant and cool temperature. I like to aim for around 19 degrees C (66F) for ales (<a href="http://hypertextbook.com/facts/2004/GinaJohn.shtml">references</a>) and 4 degrees C for lagers but in New Zealand the general yeasts sold or packaged with kits for lagers are really &#8216;lager style&#8217; top fermenting (ale) yeasts; also I don&#8217;t have the budget or equipment to go for a lager style ferment anyway.</p>
<p>So I wanted to build something that would smooth out daily temperature variations and could potentially have some temperature management (eg peltiers in the summer, incandescent light bulbs in the winter) to assist in smooth and appropriate temperature management.</p>
<p><strong>Total Cost: $2<br />
</strong>Tallboy: Recycled<br />
Scrap Wood: Recycled<br />
Polystyrene: Recycled (Sometimes you can find large sheets on the roadside in industrial areas)<br />
Masking Tape: Already had a roll.<br />
Screws: Already had<br />
Adhesive Insulating Foam Tape: $2 a roll<br />
Hinges: Already had</p>
<p><strong>Tools Needed</strong>: Screwdrivers, Drill, Hammer, Torch or other light source</p>
<p>&nbsp;</p>
<p>I had a tallboy waiting to be junked so I removed all the drawers, stripped the front panel off them and attached them together to form a solid pseudo wall/door. I also drilled a 8cm hole and installed a fan although currently I am not using it.</p>
<p><a href="http://pyrocam.com/wp-content/uploads/2012/05/IMG_2349.jpg"><img class=" wp-image-756 aligncenter" title="IMG_2349" src="http://pyrocam.com/wp-content/uploads/2012/05/IMG_2349-150x150.jpg" alt="" width="211" height="211" /></a><a href="http://pyrocam.com/wp-content/uploads/2012/05/IMG_2355.jpg"><img class=" wp-image-757 aligncenter" title="IMG_2355" src="http://pyrocam.com/wp-content/uploads/2012/05/IMG_2355-150x150.jpg" alt="" width="209" height="209" /></a><a href="http://pyrocam.com/wp-content/uploads/2012/05/IMG_2356.jpg"><img class="wp-image-758 aligncenter" title="IMG_2356" src="http://pyrocam.com/wp-content/uploads/2012/05/IMG_2356-150x150.jpg" alt="" width="208" height="208" /></a><a href="http://pyrocam.com/wp-content/uploads/2012/05/IMG_2360.jpg"><img class=" wp-image-759 aligncenter" title="IMG_2360" src="http://pyrocam.com/wp-content/uploads/2012/05/IMG_2360-150x150.jpg" alt="" width="208" height="208" /></a></p>
<p>After creating the front &#8216;door&#8217; I removed the drawer sliders, mounted it on hinges, and placed a small block on the bottom of the door so it would fit into the cabinet and stay closed. Then I glued polystyrene to the sides, floor, roof and back panel. The back panel sheet is on the rear of the cabinet otherwise there would not have been enough room for the fermenter.</p>
<p><a href="http://pyrocam.com/wp-content/uploads/2012/05/IMG_2843.jpg"><img class="size-medium wp-image-761 aligncenter" title="IMG_2843" src="http://pyrocam.com/wp-content/uploads/2012/05/IMG_2843-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>I did the torch test (put a light inside and close the door, if you see light there is a leak) and found quite a few flaws. I also thought that there might be some problems with gaps between the sheets in the corners etc so used duct tape to try and seal it up a bit. I also got some door seal padding strips and lined the door where it was appropriate.</p>
<p><a href="http://pyrocam.com/wp-content/uploads/2012/05/IMG_3446.jpg"><img class="size-medium wp-image-765 aligncenter" title="IMG_3446" src="http://pyrocam.com/wp-content/uploads/2012/05/IMG_3446-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://pyrocam.com/wp-content/uploads/2012/05/IMG_3445.jpg"><img class="size-medium wp-image-764 aligncenter" title="IMG_3445" src="http://pyrocam.com/wp-content/uploads/2012/05/IMG_3445-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>The twisted pair cable you see in those pictures is the temperature probe to test the effectiveness which I graphed and will explain here.</p>
<p><a href="http://pyrocam.com/wp-content/uploads/2012/05/temperature_rawdata.png"><img class="alignnone  wp-image-766" title="temperature_rawdata" src="http://pyrocam.com/wp-content/uploads/2012/05/temperature_rawdata-1024x413.png" alt="" width="893" height="329" /></a></p>
<p><a href="http://pyrocam.com/wp-content/uploads/2012/05/temperature_rawdata_4d.png"><img class="alignnone  wp-image-767" title="temperature_rawdata_4d" src="http://pyrocam.com/wp-content/uploads/2012/05/temperature_rawdata_4d-1024x486.png" alt="" width="894" height="389" /></a></p>
<p>This is the raw temperature data for 20 days from 4 probes. (The second graph is of the same data but only 4 days so you can get a better idea of what happens on a day to day basis)</p>
<p>One is on a shelf to the side of the the cool-box, one is inside the cool-box, another one is on the floor just outside the cool-box and one is outside.</p>
<p>Some obvious things to note is</p>
<ul>
<li>Purple (outside) has a very large variation and has some quite significant drops as you might expect. The probe is subject to direct sun, wind and any other environmental factors.</li>
<li>Blue (shelf) is basically right next to the computer recording the data, although the exhaust fan is on the other side and blowing the other way. It currently can get direct sun for a few hours though, and as it is higher I would believe that it is subject to generally higher temperatures as heat rises.</li>
<li>Green (floor outside cool-box) is, except for the cool-box, the least affected by direct sun. and being on the floor should generally be the lowest of them all, although there is still some large variations</li>
<li>Red (Cool-box) is the smoothest of them all, although it is noticeably but only by a little bit, higher in temperature than some other probes most of the time.</li>
</ul>
<p><a href="http://pyrocam.com/wp-content/uploads/2012/05/temperature_variation_score.png"><img class="alignnone size-full wp-image-768" title="temperature_variation_score" src="http://pyrocam.com/wp-content/uploads/2012/05/temperature_variation_score.png" alt="" width="810" height="393" /></a></p>
<p>This graph shows how much time is spent in the optimal temperature zone (16-21 degrees c) and how much time is in the extremes. Outside and garage probe 1 are in the red quite a bit as you would expect. Surprisingly, garage probe 2 spends the most time in the optimal temperature, and almost no time in the extremes. This is good as this is about where I plan to have an air intake to cool the box should its internal temperature be higher than the external temperature.</p>
<p>So far the project is a success, but I need to install either an internal cooling system, either by peltiers &amp; light bulbs or possibly using mains water to cool the box. Over winter I may use a relay switched heating pad to maintain an even more constant temperature. Although this assumes it&#8217;s going to be too cold in there of course.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://pyrocam.com/home-brew-temperature-managed-fermenting-cabinet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cellphone TV Remote Control</title>
		<link>http://pyrocam.com/remote-control/</link>
		<comments>http://pyrocam.com/remote-control/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 16:46:02 +0000</pubDate>
		<dc:creator>pyrocam</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[automation project]]></category>
		<category><![CDATA[cellphone]]></category>
		<category><![CDATA[channel]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[control tv]]></category>
		<category><![CDATA[DTR]]></category>
		<category><![CDATA[entertainment system]]></category>
		<category><![CDATA[framework project]]></category>
		<category><![CDATA[freeview]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[home automation devices]]></category>
		<category><![CDATA[Infra Red]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[IR]]></category>
		<category><![CDATA[ir transmitter]]></category>
		<category><![CDATA[LIRC]]></category>
		<category><![CDATA[old laptop]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[remote control]]></category>
		<category><![CDATA[remote controller]]></category>
		<category><![CDATA[rube goldberg]]></category>
		<category><![CDATA[software setup]]></category>
		<category><![CDATA[Transmit]]></category>
		<category><![CDATA[TV]]></category>
		<category><![CDATA[tv entertainment]]></category>
		<category><![CDATA[tv receiver]]></category>
		<category><![CDATA[winlirc]]></category>

		<guid isPermaLink="false">http://pyrocam.com/?page_id=74</guid>
		<description><![CDATA[ContentsWhat is this Project?Why I built this.Project RequirementsHow it worksThe ComputerIR Transmitter setupSoftware SetupWinLircConsiderationsLooking ForwardThis is my Internet Remote controller for my TV/entertainment system and general home automation. What is this Project? This is a cellphone controlled home automation project, focusing on IR device control (TV) for under $10 This is what it looks like [...]]]></description>
			<content:encoded><![CDATA[<div class="mwm-aal-container"><div class='mwm-aal-title'>Contents</div><ol><li><a href="#What+is+this++Project%3F">What is this  Project?</a></li><li><a href="#Why+I+built++this.">Why I built  this.</a></li><li><a href="#Project+Requirements">Project Requirements</a></li><li><a href="#How+it+works">How it works</a></li><li><a href="#The+Computer">The Computer</a></li><li><a href="#IR+Transmitter++setup">IR Transmitter  setup</a></li><li><a href="#Software+Setup">Software Setup</a></li><li><a href="#WinLirc">WinLirc</a></li><li><a href="#Considerations">Considerations</a></li><li><a href="#Looking++Forward">Looking  Forward</a></li></ol></div><p>This is my Internet Remote controller for my TV/entertainment system and  general home automation.</p>
<a name="What+is+this++Project%3F"></a><h2><a title="what is this?" name="what is this?"></a>What is this  Project?</h2>
<p>This is a cellphone controlled home automation project, focusing on IR  device control (TV) for under $10</p>
<div id="v6105"><object id="mpl" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="320" height="259" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="name" value="mpl" /><param name="flashvars" value="file=http://www.pyrocam.com/files/images/remotecontrol/universal_remote_nx_conv.flv&amp;image=http://www.pyrocam.com/files/images/remotecontrol/universal_remote_nx_conv.jpeg" /><param name="src" value="https://media.dreamhost.com/mp4/player.swf" /><param name="allowfullscreen" value="true" /><param name="quality" value="high" /><embed id="mpl" type="application/x-shockwave-flash" width="320" height="259" src="https://media.dreamhost.com/mp4/player.swf" quality="high" allowfullscreen="true" flashvars="file=http://www.pyrocam.com/files/images/remotecontrol/universal_remote_nx_conv.flv&amp;image=http://www.pyrocam.com/files/images/remotecontrol/universal_remote_nx_conv.jpeg" name="mpl"></embed></object></div>
<div id="v6105">This is what it looks like on the phone, at the moment its just channel  up, channel down, and the top 5 channels along the top.</div>
<div id="v6105"><img src="http://www.pyrocam.com/files/images/remotecontrol/phone_ready.jpg" alt="phone_ready" width="234" height="437" /><img src="http://www.pyrocam.com/files/images/remotecontrol/computer.jpg" alt="page" width="252" height="249" /></div>
<div id="v6105">It doesnt have to be TV channels though; it could be window controls,  garage door openers, rube goldberg mojito making machines&#8230; but I am  getting ahead of myself</div>
<p><BR/></p>
<div id="v6105">
<hr size="2" /></div>
<p><BR/><br />
<script src="https://media.dreamhost.com/mp4/swfobject.js" type="text/javascript">
</script> <script type="text/javascript">// <![CDATA[
    var swf = new SWFObject("https://media.dreamhost.com/mp4/player.swf", "mpl", "320", "259", 8); swf.addParam("allowfullscreen", "true"); swf.addParam("allowscriptaccess", "always"); swf.addVariable("file", "http://www.pyrocam.com/files/images/remotecontrol/universal_remote_nx_conv.flv"); swf.addVariable("image", "http://www.pyrocam.com/files/images/remotecontrol/universal_remote_nx_conv.jpeg"); swf.write("v6105");
// ]]&gt;</script></p>
<a name="Why+I+built++this."></a><h2><a title="Why I built this" name="Why I built this"></a>Why I built  this.</h2>
<p><span style="font-size: large;"><strong>I</strong></span> wanted a cost  effective (as in, as cheap as possible) way to change the channel on my  TV without line of sight.<br />
I also wanted the project to be able to operate other external devices  such as a garage door opener or other home automation devices with the  same general framework.</p>
<a name="Project+Requirements"></a><h2><a title="Requirements" name="Requirements"></a>Project Requirements</h2>
<ul>
<li>Non L.O.S. Remote Control</li>
</ul>
<p>I must be able to control my TV receiver from any room in the house.</p>
<ul>
<li>Cheap</li>
</ul>
<p>This whole project must be low cost. The most costly thing is an old laptop, you should be able to pick up something that runs Windows XP/2000 for cheap (broken screens / keyboards etc are OK) if you dont already have one lying around like I did.</p>
<ul>
<li>Low power</li>
</ul>
<p>The entire system needs to come under 10w, otherwise the energy cost will spoil the whole purpose of the project. 10w is about 5c a day for me (assuming it was on all the time, which it&#8217;s not)</p>
<ul>
<li> &#8220;Universal Remote Control&#8221; functionality</li>
</ul>
<p>I want to be able to control other things as well, there are 4 or 5 things in my entertainment system that operate from IR. I can combine all these with a single &#8220;remote&#8221;</p>
<ul>
<li>Expandability/Home Automation</li>
</ul>
<p>If I&#8217;m making a device that can change the TV from anywhere in the world, it might as well turn the heater on as well. The system should also be able to control other outputs like IO boards and by proxy: any other home automation device.<br />
<BR/></p>
<hr size="2" />
<BR/></p>
<a name="How+it+works"></a><h2><a title="How it Works" name="How it Works"></a>How it works</h2>
<p><span style="font-size: large;"><strong>T</strong></span>o summarise,  you access a webpage from your cellphone, pressing a button on the page  places an entry into a command queue. Another application actions the  command. Using <a href="http://winlirc.sourceforge.net/" target="_blank">WinLirc</a> I can control the TV and other IR devices.<span style="font-size: large;"> </span></p>
<p><span style="font-size: large;">I</span> have a laptop motherboard  slapped on the back of my TV (a computer might be overkill for this task  but it has the added benefit of being able to run media center etc)  This computer runs an apache website available on the internet (under  some basic security) and uses php to write lines directly into a command  queue file (a flat txt file for now) also the program can check an  email account for commands that have been emailed to it (in case the  website is not available) and then drop those commands into the text  file</p>
<p><img src="http://www.pyrocam.com/files/images/remotecontrol/command-to-action-process.png" alt="command-to-action-process.png" /></p>
<p>Then an Incoming Message Handler (IMH) checks the contents of this file  and actions the command if it&#8217;s valid; there is a database of legitimate  commands and actions available to the IMH process. A message could say <strong>##Password##:Prc:ch-up </strong>and it would check it against it&#8217;s DB to see if  it&#8217;s valid and what to do with it. This runs every second, so from  entering your command from the web interface you have about up to about 1  second to wait before the action is executed.</p>
<p>For the Channel changing procedure, the IMH would receives the  appropriate command and then runs a bat file to operate <a href="http://winlirc.sourceforge.net/" target="_blank">WinLIRC</a> from  the command line.<br />
<BR/></p>
<hr size="2" />
<BR/></p>
<a name="The+Computer"></a><h2><a title="The Computer" name="The Computer"></a>The Computer</h2>
<p>This is the computer on the back of the TV.</p>
<p><img src="http://www.pyrocam.com/files/images/remotecontrol/computer%20-%20detail.jpg" alt="detailed picture of computer setup" width="746" height="772" /></p>
<p><a href="http://www.pyrocam.com/files/images/computer%20-%20high%20res.png">(higher  res)</a></p>
<p>I am using the bolts you would normally use to attach it to a mounting  bracket to hold a piece of card away from the back of the TV about 6CM  (for heat purposes) it&#8217;s really sturdy and works really well. I had to  hack the notebook screen-detection switch with a jumper so I could set  it to always on (IE: lid always closed) so the VGA is always on</p>
<p>And my handy dandy watt meter showing the current power consumption (9  watts)</p>
<p><img src="http://www.pyrocam.com/files/images/remotecontrol/whatwatt.jpg" alt="9 watts" /><br />
<BR/></p>
<hr size="2" />
<BR/></p>
<a name="IR+Transmitter++setup"></a><h2><a title="IR Output Setup" name="IR Output Setup"></a>IR Transmitter  setup</h2>
<p>Originally I hacked up a serial plug and a usb cable to get my data and  power but I found this to ugly and the cables were the wrong length etc.  Now I plug directly into the motherboard to get what I need.</p>
<ul>
<li>Power</li>
</ul>
<p>I get the 5v for my circuit off USB, but not using a standard USB plug, I  am getting it the USB board that comes off the motherboard (every  laptop mobo is different in this regard, it may not be available) I took  the board, used a multimeter to get some continuity from known +5v /  Gnd all the way back to the plug itself</p>
<p><img src="http://www.pyrocam.com/files/images/remotecontrol/ext_usb_board.jpg" alt="ext_usb_board.jpg" width="362" height="282" /> <img src="http://www.pyrocam.com/files/images/remotecontrol/USB%20board%20connector.jpg" alt="USB board connector.jpg" width="377" height="282" /></p>
<ul>
<li> Data</li>
</ul>
<p>Same concept: find the data line on the motherboard plug, hack at the  cable till I get it.</p>
<p>This is what I was using</p>
<p><img src="http://www.pyrocam.com/files/images/remotecontrol/ext-serial-board.jpg" alt="ext-serial-board.jpg" width="463" height="236" /></p>
<p>And this is the finished product with both serial DTR line and USB in  use</p>
<p><img src="http://www.pyrocam.com/files/images/remotecontrol/IR-controller-mobo-plug.jpg" alt="IR-controller-mobo-plug.jpg" width="600" height="343" /></p>
<p>I have wired these to a piece of UTP I had lying around, going the 40cm  or so to the controller board</p>
<p>This is the circuit diagram of my version of the controller, identical  to the one<a href="http://www.lirc.org/transmitters.html"> here</a> only  for a status led, slightly more obvious line inputs, and the &#8216;output  array&#8217; which is just a bank of jumpers that I can plug multiple IR  senders on (for different devices, I dont want to have one giant IR  controlling everything)</p>
<p><img src="http://www.pyrocam.com/files/images/remotecontrol/IR-controller-circuit-diagram.jpg" alt="IR-controller-circuit-diagram.jpg" /></p>
<p>This is the built IR transmitter,<br />
The modifications I have made are; multiple outs (4), you can see the 3  sets of jumpers (one is in use, connected on the blue/white cable), and a status LED (green). I have used orange for DTR Blue for +5V and green  for GND.</p>
<p><img src="http://www.pyrocam.com/files/images/remotecontrol/IR%20-%20Output%20controller%202.jpg" alt=" IR Output controller" /><br />
<BR/></p>
<hr size="2" />
<BR/></p>
<a name="Software+Setup"></a><h2><a title="Software Setup" name="Software Setup"></a>Software Setup</h2>
<p>Web server runs on apache + php with some basic php code to insert commands directly into the command queue file on the machine. I can customise this to suit any phones browser.</p>
<p>I have a VB.net application that is checking this file every second for  changes, if it sees a change it will read the contents of every line,  put them into an array, start trying to process them. I may publish this  later. Although it should be relatively easy to reproduce.</p>
<p>It Also manages a VC#.net app that I found and barely managed to compile  that grabs subject lines from a email account and dumps them into the  command log. This is like a back end if the web service goes down or is  unavailable wherever I am at.</p>
<p>This is the UI of the application. In this shot I have sent through a single &#8216;Channel UP&#8217; command from the web interface.</p>
<p><img src="http://www.pyrocam.com/files/images/remotecontrol/imh.png" alt="Incomming Message Handler" width="645" height="501" /></p>
<p>Dont worry about the poor code, I bought some <a href="http://codeoffsets.com/" target="_blank">code offsets</a> to  compensate</p>
<a name="WinLirc"></a><h2>WinLirc</h2>
<p><a title="Winlirc setup" name="Winlirc setup"></a><a href="http://winlirc.sourceforge.net/">WinLirc</a> is a program that can  record and later send the IR commands (via the external IR sender) to  the IR compatible devices. It took me quite a while to get working, its a  bit of a hassle because you cant really test your hardware or software  elsewhere; it is all or nothing. I built the receiver and transmitter  and recorded a bunch of codes and I was quite impressed when I managed  to get it to actually function, but getting it to operate from the  command line almost killed the project. the code looks for a window  called &#8220;WinLirc&#8221; and drops some data on it based on parsed commands. eg  ch_up.bat consists of</p>
<p><strong>c:winlirc-0.6.5transmit5.exe freeview ch_up </strong></p>
<p>This will send the remote (called Freeview) and the button (recorded as  ch_up) to the window called &#8220;winlirc&#8221; I spent ages thinking my VC++6  compiler was broken (its not compatible with windows XP let alone 7) but  I finally realised its because the window is actually called &#8220;WinLIRC&#8221;  note the case difference.</p>
<p>Here is my working copy of transmit.exe available for you to download <a href="http://www.pyrocam.com/files/images/remotecontrol/transmit.exe">Download  Transmit.EXE</a> (you MUST right click, save target as)<br />
It is kindof weird. It didnt work first time, I dont know what it is  that makes it work. The WinLirc application is minimised (to systray) on  the system I am using, maybe this helps.</p>
<p><a href="http://support.microsoft.com/kb/151715">Assembly </a>is used to  toggle keyboard lights for the cheap home automation project part of  this (you should check that link out anyway, never knew you could do  that)</p>
<p>Bat files are usually called to run the actions, such as WinLirc command  line actions, or the above Assembly executables to do the other stuff.</p>
<p>VC++6.0 was used to compile transmit.exe a lovely little piece of  generally fun time from the (now defunct) WinLirc project. I will attach  my WinLirc Transmit.exe with a sample later.</p>
<p>Currently I am running this on a Windows XP OS, I toyed around with  using linux, and I know I should, I really should, but the learning  curve of the <a href="http://www.lirc.org/">LIRC</a> was too great and  so would have made me loose interest.</p>
<a name="Considerations"></a><h2><a title="Considerations" name="Considerations"></a>Considerations</h2>
<ul>
<li><strong> Power Consumption</strong></li>
</ul>
<p>I wanted my project to use as little power as possible, there isn&#8217;t much  point saving $100 on kit only to use that in power over a year. My aim  was to keep it under 10W per hour (equates to about 5c per day, just  under $20 a year @21c per Kwh), but I would of been happy with under 50W  (25c a day)</p>
<p>By using a laptop, and ripping all the guts of it out I was able to get a  smooth 9W (after a few minutes of operation) I had planned to replace  the hard drive with either a SD card or memory stick if consumption was  higher, although I was worried about <a href="http://en.wikipedia.org/wiki/Flash_memory#Memory_wear" target="_blank">Memory Wear</a>. It&#8217;s a Windows OS, and I am performing  file operations every second (not to mention whatever Windows is doing) I  expected I could start having problems very quickly. Most commercially  available flash products are guaranteed to withstand  around 100,000 write-erase-cycles, my software would only be writing and  reading (and deleting) if there was a command coming in, but it&#8217;s  reading the contents of this file nigh-continuously (86400 reads a day).  A read is not a erasure operation I know, but I cant be sure what is  going on in pagefile and other Windows operations. Whilst I turned off  Windows indexing and as many other operational services I couldnt rely  on a cheap memory stick or SD card. SSD&#8217;s would certainly acheive a  power consumption boost, but the cost is prohibitive for this project.<a href="http://en.wikipedia.org/wiki/Flash_memory#Flash_memory_as_a_replacement_for_hard_drives"> more on this</a></p>
<ul>
<li><strong>Security</strong></li>
</ul>
<p>Obviously, I dont want anyone to be able to access this webpage and  start changing my channel around while I am watching TV (or start  opening my garage or churning out mojito&#8217;s whatever else I have hooked  up) so I need some methods to protect the system.</p>
<p><span style="text-decoration: underline;">Security by obscurity</span></p>
<p>For starters, I didnt register http://www.home-automation-system.com to  run this off, running it on an obscure IP address and an obscure port is  my first defence.</p>
<p><span style="text-decoration: underline;">Only certain IP&#8217;s can access </span></p>
<p>Locking off the accessible IP range to my phone provider&#8217;s allocation  (as far as I can work out) means it pretty much doesnt exist to any  would-be opportunist</p>
<p><span style="text-decoration: underline;">Passwords</span></p>
<p>I still want to be able to access the page without having to enter in  some long username and password, so I keep these somewhat short, but  still random enough for there to be a high number of possible passwords  and also a lockout after the second wrong entry (I can reset it locally  if I manage to break it this way)</p>
<p><span style="text-decoration: underline;">Closed Circuit</span></p>
<p>Currently, I don&#8217;t own a phone that can access WiFi, if I did (and there  are some other major UI benifits to using an iphone or clone) so it&#8217;s  not possible for me to run the page only on an internal network. but for  anyone else looking to do this kind of project, it is definately the  best way to keep it locked down.</p>
<ul>
<li><strong>Cost </strong></li>
</ul>
<p>The most expensive component was the IR receiver, all up this project  cost me about $10 for the components for the IR transmitter and IR  receiver (for recording the remote control signals). The laptop I had  lying around so there is no cost there.</p>
<a name="Looking++Forward"></a><h2><a title="Looking forward" name="Looking forward"></a>Looking  Forward</h2>
<ul>
<li>iPhone</li>
</ul>
<p>Most obviously, a phone with a touch screen (Iphone, nexus one etc) this  will really spruce up the UI and I&#8217;ll be able to customise it to suit  (currently designed for smaller screens without touch capability)</p>
<ul>
<li> Further Home Automation</li>
</ul>
<p>Somethings I have been toying with the idea of, although have been too  expensive for this stage of the project,<a href="http://www.maplin.co.uk/Module.aspx?ModuleNo=32372&amp;C=SO&amp;U=strat15"> would be remote controlled light switches</a><br />
A really cheap way to get some output controllers on a computer is by  taking a keyboard and hacking up controller board. The LED&#8217;s that  display capslock, numlock and scroll lock can all be wired up (these are  controllable via the command line if you want) to relays to trigger a  real life device, like a garage door opener, or perhaps the on off  switch on a device that cant be controlled by IR.</p>
<ul>
<li> Wall or Portable touch pad controller</li>
</ul>
<p>Quite like the iPhone idea, but a house specific one, since it would be  running local loop (see security concerns) it would be dedicated to  controlling everything in the house.</p>
<ul>
<li>Software updates</li>
</ul>
<p>I would like to start using Windows MSMQ instead of flat file handling,  but this means new OS and I&#8217;d have to learn how to, ya&#8217;know, use it. I  want to make the options stickable, like most users might not want to  use the email checking facility, at the moment you can disable it once  it&#8217;s running but you have to do that every time you start it.<br />
I need to document the software and release the source code (gah) but it  is a big mess and all the &#8216;real&#8217; developers will laugh at me.</p>
<ul>
<li>House monitoring</li>
</ul>
<p>If the heaters/fans/window controls were hooked up and I had temperature  sensors, I could keep each room at a certain temperature to some  extent. and automatically heat/cool the house a few minutes before  arrival (Imagine if the GPS in my car could warn the house 15mins before  I got home too turn on the heater)</p>
<ul>
<li>Rube Goldberg machines</li>
</ul>
<p>One of the original intentions of this plan was to incorporate the  garage door opener. It could of been done with a relay off the capslock  key, but I thought it would also be kinda cool to hook up a CDROM to the  device which had a plastic hand glued on the end. when the right  command was sent it would eject the CDROM and the finger on the hand  would be lined up to press the button on the inside of the garage. Never  came to fruition but have ahad a few cool idea&#8217;s for a rube-goldberg  style mojito (or whatever you fancy) machine that was started by the  CD-Rom ejecting. I actually consider the rest of this setup to be  somewhat of a virtual rube-goldberg machine (apache + php + text files +  VB.net + bat files + c#.net + vc6++ and even assembly all running  together to make this work)</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;"><code>&lt;a class="DiggThisButton"&gt;('&lt;img  src="http://digg.com/img/diggThisCompact.png" height="18" width="120"  alt="DiggThis" /&gt;’)&lt;/a&gt;</code></div>
<p><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://pyrocam.com/remote-control/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Unknown Device issues, Trying to identify unknown hardware</title>
		<link>http://pyrocam.com/unknown-device-identifing/</link>
		<comments>http://pyrocam.com/unknown-device-identifing/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 16:32:23 +0000</pubDate>
		<dc:creator>pyrocam</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[audio drivers]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[device manager]]></category>
		<category><![CDATA[driverguide]]></category>
		<category><![CDATA[easy driver]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[machine]]></category>
		<category><![CDATA[manufacturers website]]></category>
		<category><![CDATA[model number]]></category>
		<category><![CDATA[modem]]></category>
		<category><![CDATA[network cards]]></category>
		<category><![CDATA[pci card]]></category>
		<category><![CDATA[peripheral card]]></category>
		<category><![CDATA[toshiba]]></category>
		<category><![CDATA[windows xp]]></category>

		<guid isPermaLink="false">http://pyrocam.com/?page_id=60</guid>
		<description><![CDATA[Disclaimer: All care No Responsibility. you follow the instructions provided at your own risk. I take no responsibility any damage you may cause. Please read the article in full before starting I have spent most of today trying to install some drivers on a laptop I installed XP on yesterday. The issue? Identifying the unknown [...]]]></description>
			<content:encoded><![CDATA[<h2></h2>
<p><em>Disclaimer: All care No Responsibility. you follow the instructions provided at your own risk. I take no responsibility any damage you may cause. Please read the article in full before starting </em></p>
<p>I have spent most of today trying to install some drivers on a laptop I  installed XP on yesterday. The issue? Identifying the unknown devices.</p>
<p><img src="http://www.pyrocam.com/files/frontpage/devices.png" alt="unknown devices" width="299" height="124" /></p>
<p>I was downgrading Vista to windows XP, gave it the user in question then  got it back the next day with problems, almost none of the drivers had  automatically installed. (in hindsight this was quite a spectacular  overlook)</p>
<p>So I jumped on Toshiba&#8217;s website, and I commend them for having a nice  and easy driver finding system (put in model, get drivers) but I found  out quite quickly that it was&#8230; well, wrong. the modem and audio  drivers do not suit this system.</p>
<p>So anyway, getting to the point, lets say you have a computer that you  need to install drivers for and you don&#8217;t know what hardware it is. If  you have no idea what device it could be, check to see if all the other  hardware matches up (in Device Manager, you don&#8217;t have entries in the  modem tree, or network cards etc. If something is missing but you have  one, its probably that.)</p>
<p>If you can find out from the manufacturer (for example using Toshiba or  HP&#8217;s neat driver finding by model trick) you can just download the  drivers for the device in question. if this isn&#8217;t an option, it starts  getting more fun.</p>
<p>If you are using a PC, you can pop the case off and have a look at the  motherboard or peripheral card, if its a PCI card you are trying to get  drivers for, pop it out of your computer (Google instructions if you are  unsure) and look for the model number then Google for the drivers (or  use the manufacturers website or driverguide.com)</p>
<p>But wait a minute, this is a laptop. and or quite frankly I don&#8217;t want  to take the case off. All right, now comes the really neat bit. Windows   will query all the devices in your computer when it starts up and gets a  little bit of information, device ID, manufacturer ID etc, and you can  get this information easily enough. once you have it, you are on easy  street. (what follows is a summary of [<a href="http://support.microsoft.com/kb/298837" target="_blank">KB298837</a>)</p>
<p><img src="http://www.pyrocam.com/files/frontpage/reg2.png" alt="registry" width="250" height="210" /></p>
<p>1. Start regedit,<br />
2. goto [code]HKEY_LOCAL_MACHINESYSTEMControlSet001EnumPCI[/code]<br />
(if its ISA (god forbid) use ISA instead of PCI etc)<br />
3. Look through these keys for an item that has the description matching  the unknown device you are looking for, this is most likely 'unknown  device' although it could be 'unknown simple communications device' or  similar<br />
4. get some details. Its going to look something like this:<br />
VEN_104C&amp;DEV_FE03&amp;SUBSYS_30A3103C&amp;REV_00<br />
in particular you want<br />
VEN: (vendor ID)<br />
DEV: (device ID)<br />
SUBSYS: (subsystem ID)<br />
and REV: (hardware revision)</p>
<p>5. Once you have this information you can run onto the internet and get  what you need, I would recommend you start here: so far its been helpful  to me:  [url=http://www.pcidatabase.com/]http://www.pcidatabase.com/[/url]<br />
first up, click 'Vendors by ID'<br />
search through the list to get your appropriate vendor, in our case its  104C - Texas Instruments.<br />
click on the vendor.</p>
<p>6. search for the device ID. in our case its 8033 - Integrated  FlashMedia Controller - PCIxx21</p>
<p>7. This particular unit had a download link attached but most don't, in  which case, Search, download, install. (driverguide is good for this)</p>
<p>if you have any comments or notes on this or any of my other articles  please send them to me through the comments form. happy hunting.</p>
]]></content:encoded>
			<wfw:commentRss>http://pyrocam.com/unknown-device-identifing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Re-Register all DLL&#8217;s to fix &#8220;No such interface supported&#8221; error in windows 7 after installing IE7 Standalone</title>
		<link>http://pyrocam.com/re-register-all-dlls-to-fix-no-such-interface-supported-error-in-windows-7-after-installing-ie7-standalone/</link>
		<comments>http://pyrocam.com/re-register-all-dlls-to-fix-no-such-interface-supported-error-in-windows-7-after-installing-ie7-standalone/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 16:27:23 +0000</pubDate>
		<dc:creator>pyrocam</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[command prompt]]></category>
		<category><![CDATA[command promt]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[dll files]]></category>
		<category><![CDATA[regdll]]></category>
		<category><![CDATA[regsvr32]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[windows installation]]></category>

		<guid isPermaLink="false">http://pyrocam.com/?page_id=48</guid>
		<description><![CDATA[Re-Register all DLL&#8217;s to fix &#8220;No such interface supported&#8221; error in windows 7 after installing IE7 Standalone Disclaimer: All care No Responsibility. you follow the instructions provided at your own risk. I take no responsibility any damage you may cause. Please read the article in full before starting To test some website stuff I tried [...]]]></description>
			<content:encoded><![CDATA[<p>Re-Register all DLL&#8217;s to fix &#8220;No such interface supported&#8221; error in windows 7 after installing IE7 Standalone</p>
<p><em>Disclaimer: All care No Responsibility. you follow the instructions provided at your own risk. I take no responsibility any damage you may cause. Please read the article in full before starting </em></p>
<p>To test some website stuff I tried to install IE7 on my windows 7 machine. now I cant run explorer for browsing files or accessing control panel and the like. I found an old guide for re-registering all your dll&#8217;s that I thought was quite nifty so I thought I woukld re-share it with you. (up-dated from windows 98)</p>
<p>The original instructions basically get you to dump all DLL files into notepad, then do a find and replace to regsvr32 them all. if you do it from c:\ like it suggests, you might get more than you need. including dll files from the recycle bin.</p>
<p>this fixed my problem. and I think its worth trying this way before doing it for every file on your computer.</p>
<p>I am going to assume your windows installation is on C:\ and in C:\ windows</p>
<p>1. open command promt as an administrator (You may need to find it in accessories, right click it and run as administrator if you are having issues with security rights)</p>
<p>2. type</p>
<p><strong>CD C:\WINDOWS </strong></p>
<p>(and <strong>C:</strong>\ if you werent on that drive by default)</p>
<p>3. type <strong>Dir *.dll /s /b &gt; c:\regdll.bat</strong></p>
<p>This will search for all dll files within c:\windows (including <strong>/s</strong>ubdirectories) and output them (in <strong>/b</strong>are format) into a text file on the c:\ called regdll.bat<br />
you cant run it just yet because its just a list of files, we need to change it so that its actually got a command. open the file in your prefered text editor (notepad) and do a replace on<strong> c:\</strong> , replacing it with <strong>Regsvr32.exe /s c:\</strong></p>
<p>This is what your file should look like.</p>
<p><img src="http://www.pyrocam.com/files/images/regsvr32_find_and_replace.jpg" alt="regsvr32_find_and_replace.jpg" width="614" height="251" /></p>
<p>Now. before trying to run the file. I highly recommend you scrolldown until you find $patchcache$ and WinSXS folders and deleting all the references to the files within those directories in the file. (dont delete them off your computer) Leaving them in will excruciatingly increase the time to do this and very likely stuff lots up. Also <strong><a href="http://pyrocam.com/re-register-all-dlls-to-fix-no-such-interface-supported-error-in-windows-7-after-installing-ie7-standalone/comment-page-2/#comment-40144" rel="nofollow">John Crenshaw</a> </strong>mentions<strong>: </strong>You probably also want to delete any lines for the temp folder, if any, since registering a DLL that may not exist later is probably not an awesome idea.</p>
<p><img src="http://www.pyrocam.com/files/images/delsomefiles.jpg" alt="delsomefiles.jpg" width="682" height="231" /></p>
<p>Once this is done. Save the file and run it. If you still have your command prompt as administrator open, just type <strong>c:\regdll.bat</strong></p>
<p>This will register all dll files in c:\windows and subdirectories. This will take some time, (Potentially, also register files that would not normally be registered by default, (like files in $patchcache$ and other windows directories if you did not remove them). It worked for me and I dont need to do a reinstall <img src='http://pyrocam.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You will get errors. just click ok.</p>
]]></content:encoded>
			<wfw:commentRss>http://pyrocam.com/re-register-all-dlls-to-fix-no-such-interface-supported-error-in-windows-7-after-installing-ie7-standalone/feed/</wfw:commentRss>
		<slash:comments>59</slash:comments>
		</item>
		<item>
		<title>Microsoft Outlook Attachment Storage</title>
		<link>http://pyrocam.com/microsoft-outlook-attachment-storage/</link>
		<comments>http://pyrocam.com/microsoft-outlook-attachment-storage/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 16:18:07 +0000</pubDate>
		<dc:creator>pyrocam</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[current user]]></category>
		<category><![CDATA[documents and settings]]></category>
		<category><![CDATA[filenames]]></category>
		<category><![CDATA[hidden folder]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[local settings]]></category>
		<category><![CDATA[microsoft office]]></category>
		<category><![CDATA[office 2000]]></category>
		<category><![CDATA[outlook security]]></category>
		<category><![CDATA[registry location]]></category>
		<category><![CDATA[software microsoft]]></category>
		<category><![CDATA[temp folder]]></category>
		<category><![CDATA[temporary internet files]]></category>
		<category><![CDATA[user software]]></category>

		<guid isPermaLink="false">http://pyrocam.com/?page_id=20</guid>
		<description><![CDATA[Working on documents &#8216;out of their email&#8217; which is possibly the most dangerous method of working with documents. The problem with this is that files are stored in a hidden temp folder, and it&#8217;s very easy to accidentally overwrite the file, it is only a temp folder of course. in fact. the exact* location is [...]]]></description>
			<content:encoded><![CDATA[<p>Working on documents &#8216;out of their email&#8217; which is possibly the most dangerous method of working with documents. The problem with this is that files are stored in a hidden temp folder, and it&#8217;s very easy to accidentally overwrite the file, it is only a temp folder of course. in fact. the exact* location is </p>
<p><strong>C:Documents and Settings%username%Local SettingsTemporary Internet FilesOLKXX</strong> &#8230;..<em>SORTOF</em></p>
<p>as well as this folder being hidden on several levels Microsoft randomize the folder name as an extra step of security to hide these files from users and other security reasons. The last bunch of characters could be anything. (some examples OLK6, OLK8F, OLK3SM etc) You can find this exact folder out by opening up regedit and going to:</p>
<p><strong>HKEY_CURRENT_USERSoftwareMicrosoftOfficeXX.0OutlookSecurity</strong> <em>XX = 9 for Office 2000, 11 for Office 2003</em></p>
<p><em> etc</em> also of course replace %username% with the username. That registry location has always been a hassle to find for me, thats why I am writing this article, throwing in enough keywords to hopefull y bring this article up for other people with the problem of having to get into this folder. Why, exactly WOULD you want to get into this folder? well, one limitation in O2K and O2K3 is the ability to rename duplicate filenames in this folder. lets say you have a scanner or another user sending you the same attachment continuously, it might be &#8216;image1.pdf&#8217; after a while, you wont be able to open this attachment anymore because outlook adds a number to the filename from 1 to 99, but past 99 it cant handle and you need to get into this folder to delete (or move) the image1(1).pdf image1(2).pdf image1(3).pdf image1(4).pdf ~ image1(99).pdf why else? perhaps you (or your user) has inadvertently been working on a document opened out of email, closed it and saved it but don&#8217;t know where it is anymore, because it&#8217;s saved it in this hidden folder. Can you change this? no, not as far as I can see. I changed it and it didnt save attachments where I told it to, seems to be there informational purposes only. Another note, if you are doing this remotely (which you can easily do) Remote registry access the users computer, hopefully only one user has been using it and you can find this folder under the first S_1_18_1_20_NUMBERSTOAFRICA folder, there is two per user, it&#8217;s the first one you want. if you want to make sure you have the right folder, you can look in <strong></strong></p>
<p><strong>HKEY_USERSS-1-5-21-18030245246-1264929856-123457687-7181Software MicrosoftWindowsCurrentVersionExplorerShell Folders</strong></p>
<p><strong></strong> it will have the username several times.</p>
<p>MS KB 296115</p>
]]></content:encoded>
			<wfw:commentRss>http://pyrocam.com/microsoft-outlook-attachment-storage/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

