<?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>Biobug.org &#187; Projects</title>
	<atom:link href="http://biobug.org/index.php/category/projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://biobug.org</link>
	<description>Projects, notes, etc by Will O'Brien</description>
	<lastBuildDate>Sat, 04 Feb 2017 13:43:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Android ADK and ubuntu 12.10</title>
		<link>http://biobug.org/index.php/2013/03/03/android-adk-and-ubuntu-12-10/</link>
		<comments>http://biobug.org/index.php/2013/03/03/android-adk-and-ubuntu-12-10/#comments</comments>
		<pubDate>Sun, 03 Mar 2013 16:02:41 +0000</pubDate>
		<dc:creator>willo</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://biobug.org/?p=376</guid>
		<description><![CDATA[I while back I played with setting up an android dev environment. It was annoying. I ended up throwing my hands up in the air and forgot the whole thing. Now I&#8217;ve got a project that needs android, and I&#8217;ve had some requests for certain android apps. So, I&#8217;ve acquired a Nexus 7 for dev [...]]]></description>
			<content:encoded><![CDATA[<p>I while back I played with setting up an android dev environment. It was annoying. I ended up throwing my hands up in the air and forgot the whole thing.</p>
<p>Now I&#8217;ve got a project that needs android, and I&#8217;ve had some requests for certain android apps. So, I&#8217;ve acquired a Nexus 7 for dev testing and decided to set up a linux workstation to develop on. I had a quad core xeon poweredge tower that&#8217;s been sitting in the floor for a few months. (previously it was my test ESXi host.)</p>
<p>So, I installed Ubuntu 12.10 in the usual fashion. (downloaded the iso and wasted a CD since I couldn&#8217;t find a thumb drive for it). Post installation, I updated.</p>
<pre>sudo apt-get update</pre>
<pre>sudo apt-get upgrade</pre>
<p>Then I needed a version of java to run this thing. The standard free dev environment is eclipse, which needs java.</p>
<pre>sudo apt-get install openjdk-7-jre-headless</pre>
<p>So now java -version returns some useful information.</p>
<p>java -version<br />
java version &#8220;1.7.0_15&#8243;<br />
OpenJDK Runtime Environment (IcedTea7 2.3.7) (7u15-2.3.7-0ubuntu1~12.10)<br />
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)</p>
<p>After that I downloaded the Android ADT bundle. The ADT bundle has eclipse preconfigured for android development. This is a huge improvement from before. My frustration on my previous attempt was really that eclipse wouldn&#8217;t configure properly. This way, it&#8217;s pretty trivial to get things running. However, I ran into a problem. When I launched eclipse from the adt bundle, I got an error. Eclipse popped up a window complaining about no such file when trying to run adb.</p>
<p>I have a 64 bit install of ubuntu. I installed the 64bit ADT bundle. However, it wants some 32bit tools! Back to apt-get!</p>
<p>sudo apt-get install ia32-libs</p>
<p>Say yes and let it install the 5 billion dependencies.</p>
<p>Try running eclipse again&#8230;</p>
<p>Boom! Headshot! For a second, it looked like it was broken. However, it&#8217;s just Ubuntu window management being goofy. Mouse over the menu bar at the top of the screen and the file menu and friends will appear. <a href="http://developer.android.com/training/basics/firstapp/creating-project.html">Now for some development&#8230;.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://biobug.org/index.php/2013/03/03/android-adk-and-ubuntu-12-10/feed/</wfw:commentRss>
		<slash:comments>1049</slash:comments>
		</item>
		<item>
		<title>Inventables is fantastic.</title>
		<link>http://biobug.org/index.php/2012/08/21/inventables-is-fantastic/</link>
		<comments>http://biobug.org/index.php/2012/08/21/inventables-is-fantastic/#comments</comments>
		<pubDate>Tue, 21 Aug 2012 15:35:40 +0000</pubDate>
		<dc:creator>willo</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[inventables]]></category>

		<guid isPermaLink="false">http://biobug.org/?p=335</guid>
		<description><![CDATA[I&#8217;ve been building/making/hacking hardware projects for a long time. As I&#8217;ve done that, I&#8217;ve really benefited from online shopping for parts you just can&#8217;t find locally. Also, it&#8217;s hard for the guy at the store to wonder what the hell you&#8217;re doing with that thing that he can&#8217;t find in his catalog. So, last year [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been building/making/hacking hardware projects for a long time. As I&#8217;ve done that, I&#8217;ve really benefited from online shopping for parts you just can&#8217;t find locally. Also, it&#8217;s hard for the guy at the store to wonder what the hell you&#8217;re doing with that thing that he can&#8217;t find in his catalog.</p>
<p>So, last year a company came up on my radar &#8211; called <a href="https://www.inventables.com/">Inventables</a>. I found their catalog to be interesting and even asked them about stocking bamboo for laser cutting. They were really helpful and got a price for me.</p>
<p>Recently I&#8217;ve been working on my Shapeoko based mill. I ordered it through Inventables. I needed some more Makerslide and they&#8217;d changed sizes for easier international shipping. I emailed them and they found some of the old stock for me! They even adjusted some quantities on my order and really went the extra mile to make sure that I got what I needed.</p>
<p>Seriously, these guys are really great to work with and purchase from. Also, they support open source projects like Makerslide. If you&#8217;re in the midwest like me, shipping times are fast!</p>
<p>Normally I don&#8217;t mention much about shopping, but these guys are doing a great job! Check em out next time you&#8217;re making something.</p>
]]></content:encoded>
			<wfw:commentRss>http://biobug.org/index.php/2012/08/21/inventables-is-fantastic/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Cheap Wifi Thermostat with a JSON API</title>
		<link>http://biobug.org/index.php/2012/04/09/cheap-wifi-thermostat-with-a-json-api/</link>
		<comments>http://biobug.org/index.php/2012/04/09/cheap-wifi-thermostat-with-a-json-api/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 14:08:58 +0000</pubDate>
		<dc:creator>willo</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[Toys]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[home automation]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[JSON]]></category>

		<guid isPermaLink="false">http://biobug.org/?p=316</guid>
		<description><![CDATA[I updated my thermostat to one of these. It&#8217;s made by Homewerks (Home depot sells a filtrete branded version.) It&#8217;s not as cool as the NEST, but it&#8217;ll do the job of controlling a furnace/AC. The interesting part of this device is that the wifi interface can be cloud managed, making it possible to control [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://biobug.org/blog/wp-content/uploads/2012/04/wifi-thermostat.jpg"><img class="alignnone size-full wp-image-317" title="wifi-thermostat" src="http://biobug.org/blog/wp-content/uploads/2012/04/wifi-thermostat.jpg" alt="" width="300" height="300" /></a></p>
<p>I updated my thermostat to one of <a href="http://www.amazon.com/exec/obidos/ASIN/B004YZFU1Q/cj708-20">these</a>. It&#8217;s made by Homewerks (Home depot sells a filtrete branded version.) It&#8217;s not as cool as the <a href="http://www.sparkfun.com/tutorials/334">NEST</a>, but it&#8217;ll do the job of controlling a furnace/AC. The interesting part of this device is that the wifi interface can be cloud managed, making it possible to control the thermostat via my iPhone, iPad (or android) from anywhere with data connectivity.</p>
<p>It&#8217;s actually a fairly decent device for the money. It has a JSON api that allows you to get and set variables via web interface. There&#8217;s a fantastic PDF on the API that shows examples using curl (available on linux, mac, etc). What&#8217;s really interesting is that with a JSON interface, you could easily write your own application for mobile phones or just script up some commands from your choice of computing platform.</p>
<p>Wiring was interesting. On my ancient furnace (built by chrystler) I discovered some new details. The fan wire wasn&#8217;t connected at all! At some point, some A/C tech had installed a honeywell fan controller and the fan is activated by either the cooling or heating wires being engaged. (there is a manual switch inside the furnace. Argh!) However, I was able to re-use the fan wire as a C wire to deliver both sides of the 24v a/c transformer power to the thermostat. Wifi eats more power, and you need an external supply to feed that radio.</p>
<p>Setup is pretty neat. I loaded the radio thermostat App on my iPad, and once it discovered the thermostat, I had to join the &#8216;stats wifi network. Then I could configure my WPA2 network (excellent! Thanks for supporting proper protocols!) as well as a dynamic or static ip address. I opted for static the last time I configured it. &#8211;I reconfigured it a few times while I played around with wiring options.</p>
<p>The hardware in the device is rather interesting. It&#8217;s the first one I&#8217;ve seen with a wifi <a href="http://www.usnap.org/Default.aspx">USNAP module</a>. I&#8217;d expect to see more of these devices on the market. The price point is fairly low and the curl api is ideal. Hmm, arduino USNAP shield, anyone?</p>
<p>Resources:</p>
<p>Wiki (unknown owner) for developing: <a href="http://central.isaroach.com/wiki/index.php/Main_Page">http://central.isaroach.com/wiki/index.php/Main_Page</a></p>
<p>PDF Documenting the <a href="www.radiothermostat.com/documents/RTCOAWiFIAPIV1_3.pdf">Thermostat API</a>. (local copy <a href="http://biobug.org/lj/RTCOAWiFIAPIV1_3.pdf">here</a>) This is the interesting one.</p>
]]></content:encoded>
			<wfw:commentRss>http://biobug.org/index.php/2012/04/09/cheap-wifi-thermostat-with-a-json-api/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Amazing engineering &#8211; ebikes gone wild</title>
		<link>http://biobug.org/index.php/2012/02/10/amazing-engineering-ebikes-gone-wild/</link>
		<comments>http://biobug.org/index.php/2012/02/10/amazing-engineering-ebikes-gone-wild/#comments</comments>
		<pubDate>Fri, 10 Feb 2012 14:21:21 +0000</pubDate>
		<dc:creator>willo</dc:creator>
				<category><![CDATA[Electric Vehicle]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[Motorcycle]]></category>
		<category><![CDATA[biike]]></category>
		<category><![CDATA[electric bike]]></category>

		<guid isPermaLink="false">http://biobug.org/?p=307</guid>
		<description><![CDATA[Recently I started working on an electric bicycle. Financially they&#8217;re quite viable and the performance you can get out of today&#8217;s batteries is finally worth the effort! In my research, I ran across a build log by a interesting fellow named greyborg. He makes custom bikes (in Croatia I believe) and has done some steller [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I started working on an electric bicycle. Financially they&#8217;re quite viable and the performance you can get out of today&#8217;s batteries is finally worth the effort! In my research, I ran across a build log by a interesting fellow named greyborg. He makes custom bikes (in Croatia I believe) and has done some steller work:</p>
<p><img class="alignnone" title="Greyborg stealth" src="http://biobug.org/lj/greyborg.jpg" alt="" width="500" height="666" /></p>
<p>This is his hand built version of a <a href="http://www.stealthelectricbikes.com/">Stealth Electric Bike</a> (Those start at $8k each!). Check out his build logs for this bike <a href="http://www.greyb.org/assembler.html">here</a> and <a href="http://www.greyb.org/assembler2.html">here</a>. He even made the hub motor. The chassis is laser cut steel that he welded together and it&#8217;s powered by a custom pack of LifePo cells. Given the motor and voltage, this bike is capable of something like 50-60mph!</p>
<p>Be sure to check out part 2 which details the friggin liquid cooled motor, internal temperature monitoring and some huge phase wires for the brushless motor.</p>
<p>After I&#8217;d read this build &#8211; and was just amazed by it, I found out that Greyborg is actually a serious Ebike manufacturer who produces and sells motors, bikes and other parts. (Which explains the resources he could put into the build) I have to say that I definitely admire this guy. If he didn&#8217;t live on another continent I would take a road trip just to meet him and check out his creations!</p>
]]></content:encoded>
			<wfw:commentRss>http://biobug.org/index.php/2012/02/10/amazing-engineering-ebikes-gone-wild/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SMS remote start usability update</title>
		<link>http://biobug.org/index.php/2011/12/17/sms-remote-start-usability-update/</link>
		<comments>http://biobug.org/index.php/2011/12/17/sms-remote-start-usability-update/#comments</comments>
		<pubDate>Sat, 17 Dec 2011 20:51:35 +0000</pubDate>
		<dc:creator>willo</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[SMSresponder]]></category>

		<guid isPermaLink="false">http://biobug.org/?p=296</guid>
		<description><![CDATA[Ok, so it&#8217;s been a week since I installed the SMS interface. I took the car out to Winter Park for a week of sliding down the mountain and gave the system a real world test. (Tried it from my hotel room while the car was outside) and it worked! I just gave it another [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so it&#8217;s been a week since I installed the SMS interface. I took the car out to Winter Park for a week of sliding down the mountain and gave the system a real world test. (Tried it from my hotel room while the car was outside) and it worked!</p>
<p>I just gave it another test run and the car started perfectly. Now that the system has stayed working, I&#8217;m planning to develop the backend code a bit more. In addition, I have some more tricks up my sleeve&#8230; <img src='http://biobug.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://biobug.org/index.php/2011/12/17/sms-remote-start-usability-update/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SMSresponder interface schematic</title>
		<link>http://biobug.org/index.php/2011/12/17/smsresponder-interface-schematic/</link>
		<comments>http://biobug.org/index.php/2011/12/17/smsresponder-interface-schematic/#comments</comments>
		<pubDate>Sat, 17 Dec 2011 20:42:37 +0000</pubDate>
		<dc:creator>willo</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[SMSresponder]]></category>

		<guid isPermaLink="false">http://biobug.org/?p=289</guid>
		<description><![CDATA[I whipped up a clean schematic for my current version of the SMS responder. I left out the iphone dock connector because I used a breakout board &#8211; and really, it&#8217;s easier that way, you can cable over to the iphone. Click to view the entire schematic &#8211; my blog trims the images (I don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I whipped up a clean schematic for my current version of the SMS responder. I left out the iphone dock connector because I used a breakout board &#8211; and really, it&#8217;s easier that way, you can cable over to the iphone. Click to view the entire schematic &#8211; my blog trims the images (I don&#8217;t like scaling them!)</p>
<p><a href="http://biobug.org/blog/wp-content/uploads/2011/12/SMSresponder.png"><img class="alignnone size-full wp-image-290" title="SMSresponder" src="http://biobug.org/blog/wp-content/uploads/2011/12/SMSresponder.png" alt="" width="899" height="481" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://biobug.org/index.php/2011/12/17/smsresponder-interface-schematic/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>SMS Remote Start &#8211; working prototype</title>
		<link>http://biobug.org/index.php/2011/12/11/sms-remote-start-working-prototype/</link>
		<comments>http://biobug.org/index.php/2011/12/11/sms-remote-start-working-prototype/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 01:01:25 +0000</pubDate>
		<dc:creator>willo</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[SMSresponder]]></category>

		<guid isPermaLink="false">http://biobug.org/?p=280</guid>
		<description><![CDATA[A quick update on the SMS remote start using my old iPhone&#8230; It works! I can now start my Subaru outback via SMS command from wherever I am. I used an older Arduino simply because I wanted a quick and dirty 3.3v source for the iphone to arduino serial interface. The perfboard has a tip120 [...]]]></description>
			<content:encoded><![CDATA[<p>A quick update on the SMS remote start using my old iPhone&#8230; It works! I can now start my Subaru outback via SMS command from wherever I am.</p>
<p><a href="http://biobug.org/blog/wp-content/uploads/2011/12/Image.jpg"><img class="alignnone size-full wp-image-281" title="iPhone SMS Remote interface" src="http://biobug.org/blog/wp-content/uploads/2011/12/Image.jpg" alt="" width="800" height="582" /></a></p>
<p>I used an older Arduino simply because I wanted a quick and dirty 3.3v source for the iphone to arduino serial interface. The perfboard has a tip120 to drive the remote start, all the interface wiring for the car, power supply and the iphone interface. I tossed in a .01 cap at the power source just for extra filtering. The power supply is a switching charger from a broken iphone car charger. Efficient and free!</p>
<p><a href="http://biobug.org/blog/wp-content/uploads/2011/12/Image-1.jpg"><img class="alignnone size-full wp-image-282" title="SMS remote start schematic" src="http://biobug.org/blog/wp-content/uploads/2011/12/Image-1.jpg" alt="" width="800" height="500" /></a></p>
<p>This is my quick build schematic. (Click to see the entire thing) The voltage divider on the left is so that the arduino can report the system voltage. it&#8217;s made of 3 10k resistors since I always have those on hand. The result is 1/3 of the 12-14v DC that the car has. From this, we can infer the state of the car: &gt;13 is started. I plan to toss in a ds180 1 wire temp sensor later on as well. The pink highlighter was used as I wired things up.</p>
<p>Important: There&#8217;s an error in the schematic &#8211; I fixed it on my board but forgot to update it! The diode should connect on the other side of the resistor that connects the iphone serial RX and the Arduino 3.3v source. If you connect it this way, you won&#8217;t get any serial input on the iphone. It&#8217;s not lethal, just important!</p>
<p>(update 2: You can get the clean version of the schematic <a href="http://biobug.org/index.php/2011/12/17/smsresponder-interface-schematic/">here</a>: )</p>
<p>Requirements:</p>
<p>An old jailbroken iPhone, an Arduino, iphone breakout board (I used a <a href="http://www.sparkfun.com/products/10645">PodBreakout Mini</a>) 4x 10k resistors, 1x TIP120, a 5 volt switching supply cell charger (easier than building one), some wiring ability and a general understanding of unix/perl/arduino. (See the packages on my dev phone in <a href="http://biobug.org/index.php/2011/11/28/iphone-dev-smsresponder/">this</a> post.</p>
<p>The code:</p>
<p>You can get the code to make it all work <a href="../../code/SMSresponder/">here</a>. (SMSresponder.pl, com.SMSresponder.startup.plist and</p>
<p>SMSresponder is a perl script that runs in a loop. Every 30 seconds it checks for a new message since the last time it ran. place it in /var/root/bin/ (you&#8217;ll need to create that directory) as this is where the startup system looks for it. You can put it somewhere else, just edit the plist to match.</p>
<p>Make it work all the time:</p>
<p>Copy com.SMSresponder.startup.plist to /System/Library/LaunchDaemons on the phone. This will start the script at boot.</p>
<p>The Arduino:</p>
<p><a href="../../code/SMSresponder/RemoteStartController.pde">RemoteStartController.pde</a> is a quick program that I wrote based on all sorts of other source I already had on hand. Notably, most of the code was adapted from Motokomp. I&#8217;ve added hooks for additional commands, but haven&#8217;t updated the iPhone perl script to do anything with the output.</p>
<p>How it works in real life:</p>
<p>I send a text message from my phone with the phrase: &#8220;Start 1234&#8243; (1234 would be the password in the phone script). The phone gets the text then tells the arduino via serial interface to start. The arduino grounds the wire to the remote start that activates it. Meanwhile, the phone sends back a SMS saying &#8216;Executed&#8217; to let me know that it got the message and is acting on it. In the future it&#8217;ll send back a message confirming that the start was executed as opposed to the I told him to do it method.</p>
<p>Project comments:</p>
<p>This thing works very well. I can probably get away with reducing the polling time on the iPhone, but I wanted to conserve resources. I spent two weeks testing the SMSresponder script running on the phone with perfect results every time. I still need to add some handshaking between the iphone and arduino, (iPhone: start dude. Arduino: OK!, iPhone: great let me sms that back to the man in charge.) Right now, the iphone sends the command and prays that the arduino got the message.</p>
<p>The remote start I&#8217;m using is an Avatal 3117 purchased via Amazon. (There are additional things added to make the subaru&#8217;s computer happy about missing the key) the main reason I bought this remote start is that it has an input wire for starting! When you ground it, the remote start will start the car. If you ground it again, the car will turn off. That&#8217;s how the arduino activates the remote start. In reality, there&#8217;s also a serial interface on most RS units today, but getting documentation on them seemed difficult. Besides, who wants to implement a new protocol just for a one-off build?</p>
<p>I&#8217;m seriously considering building a kit version of this hardware. It would include the iphone dock connector, programmed atmega, etc: it would tie all the prototype hardware into a single build &#8211; and maybe add a nice box and harness to make it work. (I used extra wiring bits from my remote start install to add a nice modular connector to the prototype)</p>
]]></content:encoded>
			<wfw:commentRss>http://biobug.org/index.php/2011/12/11/sms-remote-start-working-prototype/feed/</wfw:commentRss>
		<slash:comments>4398</slash:comments>
		</item>
		<item>
		<title>iPhone dev: SMSresponder</title>
		<link>http://biobug.org/index.php/2011/11/28/iphone-dev-smsresponder/</link>
		<comments>http://biobug.org/index.php/2011/11/28/iphone-dev-smsresponder/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 16:44:08 +0000</pubDate>
		<dc:creator>willo</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[SMSresponder]]></category>

		<guid isPermaLink="false">http://biobug.org/?p=277</guid>
		<description><![CDATA[I&#8217;ve built a perl script to enable SMS remote start of my car. The script checks the SMS database for new messages and if the message meets the criteria, it will send a command out the serial port, log the event and send a reply sms for confirmation. Everything is done in perl! My script [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve built a perl script to enable SMS remote start of my car. The script checks the SMS database for new messages and if the message meets the criteria, it will send a command out the serial port, log the event and send a reply sms for confirmation.</p>
<p>Everything is done in perl! My script directly reads the SQLite sms database, writes to the serial port via Serial::Device, sends confirmation SMS messages via sendSMS and logs to a log file with a quick and dirty file write routine. I&#8217;d like to add a serial port logger for convenient data logging from my hardware interface as well as some feedback info for the reply sms: cabin temperature will be the easiest to add&#8230;</p>
<p>First, the phone needed some packages. Here&#8217;s my current install list:</p>
<pre>iPhone:/var/log root# dpkg --get-selections
adv-cmds                    install
apr-lib                        install
apt7                        install
apt7-key                    install
apt7-lib                    install
apt7-ssl                    install
base                        install
bash                        install
berkeleydb                    install
bzip2                        install
ch.ringwald.springboardaccess            install
com.saurik.iphone.ske                install
com.saurik.substrate.safemode            install
coreutils-bin                    install
curl                        install
cy+cpu.arm                    install
cy+kernel.darwin                install
cy+lib.corefoundation                install
cy+model.iphone                    install
cy+os.ios                    install
cydia                        install
cydia-lproj                    install
darwintools                    install
debianutils                    install
diffutils                    install
diskdev-cmds                    install
dpkg                        install
essential                    install
expat                        install
findutils                    install
firmware                    install
firmware-sbin                    install
gcrypt                        install
git                        install
gnupg                        install
grep                        install
gsc.accelerometer                install
gsc.all-features                install
gsc.any-telephony                install
gsc.app-store                    install
gsc.application-installation            install
gsc.armv6                    install
gsc.bluetooth                    install
gsc.cellular-data                install
gsc.contains-cellular-radio            install
gsc.gps                        install
gsc.hw-encode-snapshots                install
gsc.hw-snapshots-need-purplegfx            install
gsc.international-settings            install
gsc.location-services                install
gsc.microphone                    install
gsc.mms                        install
gsc.music-store                    install
gsc.not-green-tea                install
gsc.opengles-1                    install
gsc.peer-peer                    install
gsc.proximity-sensor                install
gsc.ringer-switch                install
gsc.sms                        install
gsc.stand-alone-contacts            install
gsc.still-camera                install
gsc.telephony                    install
gsc.telephony-maximum-generation        install
gsc.unified-ipod                install
gsc.voip                    install
gsc.volume-buttons                install
gsc.wifi                    install
gsc.youtube                    install
gsc.youtube-plugin                install
gzip                        install
jp.ashikase.mousesupport            install
jpeg                        install
libgpg-error                    install
libstatusbar                    install
libvncserver                    install
lzma                        install
minicom                        install
mobilesubstrate                    install
ncurses                        install
openssh                        install
openssl                        install
org.thebigboss.repo.icons            install
p5-archive-extract                install
p5-archive-tar                    install
p5-archive-zip                    install
p5-attribute-handlers                install
p5-autodie                    install
p5-autoloader                    install
p5-b-debug                    install
p5-b-lint                    install
p5-bignum                    install
p5-cgi.pm                    install
p5-class-isa                    install
p5-compress-bzip2                install
p5-compress-raw-bzip2                install
p5-compress-raw-zlib                install
p5-constant                    install
p5-cpan                        install
p5-cpan-checksums                install
p5-cpan-meta-yaml                install
p5-cpanplus                    install
p5-cpanplus-dist-build                install
p5-data-compare                    install
p5-data-dumper                    install
p5-db-file                    install
p5-dbd-sqlite                    install
p5-dbi                        install
p5-devel-ppport                    install
p5-device-serialport                install
p5-digest                    install
p5-digest-md5                    install
p5-digest-sha                    install
p5-encode                    install
p5-encode-locale                install
p5-encoding-warnings                install
p5-exporter                    install
p5-extutils-cbuilder                install
p5-extutils-command                install
p5-extutils-install                install
p5-extutils-makemaker                install
p5-extutils-manifest                install
p5-extutils-parsexs                install
p5-fcgi                        install
p5-file-fetch                    install
p5-file-find-rule                install
p5-file-homedir                    install
p5-file-listing                    install
p5-file-path                    install
p5-file-remove                    install
p5-file-temp                    install
p5-file-which                    install
p5-filter                    install
p5-filter-simple                install
p5-getopt-long                    install
p5-html-parser                    install
p5-html-tagset                    install
p5-http-cookies                    install
p5-http-daemon                    install
p5-http-date                    install
p5-http-message                    install
p5-http-negotiate                install
p5-http-tiny                    install
p5-io                        install
p5-io-compress                    install
p5-io-zlib                    install
p5-ipc-cmd                    install
p5-ipc-run3                    install
p5-ipc-sysv                    install
p5-json                        install
p5-json-pp                    install
p5-lib                        install
p5-libnet                    install
p5-libwww-perl                    install
p5-locale-codes                    install
p5-locale-maketext                install
p5-locale-maketext-simple            install
p5-log-message                    install
p5-log-message-simple                install
p5-lwp-mediatypes                install
p5-math-bigint                    install
p5-math-bigint-fastcalc                install
p5-math-bigrat                    install
p5-math-complex                    install
p5-mime-base64                    install
p5-module-build                    install
p5-module-corelist                install
p5-module-install                install
p5-module-load                    install
p5-module-load-conditional            install
p5-module-loaded                install
p5-module-pluggable                install
p5-module-scandeps                install
p5-module-signature                install
p5-net-http                    install
p5-next                        install
p5-number-compare                install
p5-object-accessor                install
p5-par-dist                    install
p5-params-check                    install
p5-parse-cpan-meta                install
p5-pathtools                    install
p5-pod-escapes                    install
p5-pod-parser                    install
p5-probe-perl                    install
p5-safe                        install
p5-storable                    install
p5-switch                    install
p5-sys-syslog                    install
p5-term-ansicolor                install
p5-term-ui                    install
p5-test-harness                    install
p5-test-script                    install
p5-test-simple                    install
p5-text-balanced                install
p5-text-glob                    install
p5-tie-refhash                    install
p5-time-local                    install
p5-time-piece                    install
p5-unicode-collate                install
p5-unicode-normalize                install
p5-uri                        install
p5-version                    install
p5-www-robotrules                install
p5-xsloader                    install
p5-yaml                        install
p5-yaml-libyaml                    install
p5-yaml-syck                    install
p5-yaml-tiny                    install
pam                        install
pam-modules                    install
pcre                        install
perl                        install
perl-base-modules                install
preferenceloader                install
profile.d                    install
readline                    install
saurik                        install
sed                        install
sendsms                        install
shell-cmds                    install
system-cmds                    install
tar                        install
top                        install
uikittools                    install
ultrasn0w                    install
veency                        install
vim                        install
</pre>
<p>I highly reccommend installing apt strict &#8211; you can install needed packages via apt-get install bleh on the command line.</p>
<p>I&#8217;m still tweaking the script, but the first working version loads on phone startup vi starup plist. So far it seems to be somewhat robust. Testing will tell.</p>
]]></content:encoded>
			<wfw:commentRss>http://biobug.org/index.php/2011/11/28/iphone-dev-smsresponder/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>iPhone, jailbreak, ssh, car controller</title>
		<link>http://biobug.org/index.php/2011/11/20/iphone-jailbreak-ssh-car-controller/</link>
		<comments>http://biobug.org/index.php/2011/11/20/iphone-jailbreak-ssh-car-controller/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 16:00:33 +0000</pubDate>
		<dc:creator>willo</dc:creator>
				<category><![CDATA[networking]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Toys]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://biobug.org/?p=257</guid>
		<description><![CDATA[I&#8217;m working on a new car controller. It&#8217;s based on aftermarket remote start, a jailbroken iphone and some open source hardware. This post covers setting up the iPhone for that use. It&#8217;s really just a nice, cheap (if you have it) script-able serial telemetry platform. iPhone jailbreak notes: I used an iPhone 3g, downloaded 4.2.1 [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on a new car controller. It&#8217;s based on aftermarket remote start, a jailbroken iphone and some open source hardware. This post covers setting up the iPhone for that use. It&#8217;s really just a nice, cheap (if you have it) script-able serial telemetry platform.</p>
<p><a href="http://biobug.org/blog/wp-content/uploads/2011/11/installing-pic.png"><img class="alignnone size-full wp-image-266" title="installing-pic" src="http://biobug.org/blog/wp-content/uploads/2011/11/installing-pic.png" alt="" width="320" height="480" /></a></p>
<h2>iPhone jailbreak notes:</h2>
<p>I used an iPhone 3g, downloaded 4.2.1 iphone firmware and used pwnageTool_4.2 to build jailbroken firmware.<br />
(then did it all over again to build unlockable firmware &#8211; update baseband to 6.10: (add link)<br />
First stop was to configure wireless to talk to my home network.<br />
Then I hit Cydia (the app that&#8217;s loaded when jailbroken.) and updated everything it wanted.<br />
Get cell service (you can do this later):<br />
Install ultrasn0w and get a pay as you go t-mobile account activated on it.</p>
<h2>Now it&#8217;s time for software:</h2>
<p>Install openssh via cydia.<br />
ssh onto the phone and change the passwords for the root and mobile users.</p>
<p>I also install veency &#8211; it&#8217;ll allow you to vnc onto your iphone, making it much easier to do all your work from your computer. Set a password in settings if you like.</p>
<p>We want perl, so add the coredev.nl repo:<br />
download http://coredev.nl/cydia/coredev.pub on your machine. Then scp it to root@yourphonesip:/var/root<br />
ssh to the phone and run: apt-key add coredev.pub<br />
then run: echo &#8216;deb http://coredev.nl/cydia iphone main&#8217; &gt; /etc/apt/sources.list.d/coredev.nl.list<br />
Now when you load cydia next, you can get perl installed. <img src='http://biobug.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Use Cydia to install the following packages. Instead of confirm after each, just hit continue queuing and add things to be installed. Then you can go to manage or just hit confirm on the final package you want to install.</p>
<p>minicom<br />
perl<br />
perl-dbd-sqlite(search for dbd::sqlite)<br />
perl device serial (search for device::serial)<br />
vimproved (This is vim, find something else if you don&#8217;t do vi.)</p>
<p>Later we&#8217;ll want a command line sms sender, but for now I haven&#8217;t decided which to use yet.</p>
<h2>Set things up:</h2>
<p>Set up Minicom:<br />
As root mkdir /usr/etc<br />
Run minicom -s, set serial to /tty.iap, set 9600 N81, turn off flow control<br />
Save config as default.<br />
install vi (or vim for the search to work) (I like vim. deal.)</p>
<p>If you have a serial port dock built, now&#8217;s the time to test your port. My first phone had a bad dock connector, so no serial on it. Luckily I had a spare laying around with a bad home button. I swapped the screens and was good to go.</p>
<p>If you&#8217;re getting a data plan, it might be nice to ssh into the phone over the nat&#8217;d edge/3g/whatever you paid for:</p>
<p>install autossh.<br />
Follow this how-to: http://llemarie.wordpress.com/2009/09/05/tip-connect-to-your-iphone/<br />
install p5-Device-modem (which gets you device::serial)</p>
<p>Congratulations. Now you have the equivalent of a funky linux (yeah, it&#8217;s bsd. I know.) box with geolocation, 3g, wifi and a serial port. Muhahah.</p>
]]></content:encoded>
			<wfw:commentRss>http://biobug.org/index.php/2011/11/20/iphone-jailbreak-ssh-car-controller/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The new karkomp: iphone/ipad video server</title>
		<link>http://biobug.org/index.php/2011/07/03/the-new-karkomp-iphoneipad-video-server/</link>
		<comments>http://biobug.org/index.php/2011/07/03/the-new-karkomp-iphoneipad-video-server/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 14:09:29 +0000</pubDate>
		<dc:creator>willo</dc:creator>
				<category><![CDATA[networking]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[carpc]]></category>
		<category><![CDATA[evil]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mini-itx]]></category>

		<guid isPermaLink="false">http://biobug.org/?p=231</guid>
		<description><![CDATA[Quite a while ago, I spent quite a bit of time messing around with car pc&#8217;s. I was never truly happy with what I had. However, on my new car, I&#8217;m adding a pair of roof mounted LCDs and an iphone/ipad video cable. NO MORE DVDs in the car! Since storage space is fairly limited [...]]]></description>
			<content:encoded><![CDATA[<p>Quite a while ago, I spent quite a bit of time messing around with car pc&#8217;s. I was never truly happy with what I had. However, on my new car, I&#8217;m adding a pair of roof mounted LCDs and an iphone/ipad video cable. NO MORE DVDs in the car!<br />
Since storage space is fairly limited on those devices, I decided that a video server would be a great addition to load up a bunch of movies that I won&#8217;t carry around on my devices. (Think Tinkerbell)</p>
<p>For now I&#8217;m using what I have on hand: a dual core ATOM Foxconn 45CSX (the network interface is crappy slow on it) I will be upgrading it to something with gig and a core 2 duo at least in the future. That&#8217;s stuffed into a case with a 12v power supply. An older 200gb laptop drive will soon become a new 500gb, but it&#8217;s not a big deal.<br />
For the server, I decided to use ubuntu linux with the alpha air video server installed. It turns out to be really simple to do, thanks to a custom repository out there. I chose linux because it&#8217;s the most stable when you&#8217;re dealing with random power outages and it won&#8217;t waste the sparse cpu driving an unnecessary GUI.</p>
<p>Thanks to http://blog.frameos.org/2011/02/08/installing-airvideo-linux-server-in-ubuntu/ for the time saving writeup!<br />
More later when I get the install together.</p>
]]></content:encoded>
			<wfw:commentRss>http://biobug.org/index.php/2011/07/03/the-new-karkomp-iphoneipad-video-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->