<?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>I am ShadowLord&#187; iobridge</title>
	<atom:link href="http://iamshadowlord.com/tag/iobridge/feed" rel="self" type="application/rss+xml" />
	<link>http://iamshadowlord.com</link>
	<description>Interesting to me</description>
	<lastBuildDate>Mon, 26 Mar 2012 03:41:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Las 10 cuentas de Twitter más divertidas y absurdas</title>
		<link>http://iamshadowlord.com/2012/01/las-10-cuentas-de-twitter-mas-divertidas-y-absurdas.html</link>
		<comments>http://iamshadowlord.com/2012/01/las-10-cuentas-de-twitter-mas-divertidas-y-absurdas.html#comments</comments>
		<pubDate>Wed, 11 Jan 2012 17:19:56 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[MyToaster]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[my toaster]]></category>
		<category><![CDATA[thingspeak]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=354</guid>
		<description><![CDATA[What do the Big Ben Clock, MyToaster, and T-800 have in common? They all use Twitter (and are completely absurd)! Check out this article on ABC.es.]]></description>
			<content:encoded><![CDATA[<p>What do the <a title="Big Ben Clock on Twitter" href="https://twitter.com/#!/big_ben_clock" target="_blank">Big Ben Clock</a>, <a title="My Toaster on Twitter" href="https://twitter.com/#!/mytoaster" target="_blank">MyToaster</a>, and <a title="T-800 Terminator on Twitter" href="https://twitter.com/#!/111001001101010" target="_blank">T-800</a> have in common? They all use Twitter (and are completely absurd)!</p>
<p>Check out this article on <a title="Things that tweet" href="http://www.abc.es/20120111/medios-redes/abci-cuentas-twitter-divertidas-201201111129.html">ABC.es</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2012/01/las-10-cuentas-de-twitter-mas-divertidas-y-absurdas.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CheerLights: my lights are linked to everyone else&#8217;s</title>
		<link>http://iamshadowlord.com/2011/12/cheerlights-my-lights-are-linked-to-everyone-elses.html</link>
		<comments>http://iamshadowlord.com/2011/12/cheerlights-my-lights-are-linked-to-everyone-elses.html#comments</comments>
		<pubDate>Thu, 01 Dec 2011 18:08:02 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[CheerLights]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[thingspeak]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[web of things]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=368</guid>
		<description><![CDATA[If you have been following my projects for the last 12 years, you probably figured out that I must have a master plan. And this plan involves connecting things to the Internet that may or may not turn against us in the future. Way back in 2001, my partners and I released FuzzBox &#8211; this technology allowed for artificial [...]]]></description>
			<content:encoded><![CDATA[<p>If you have been following my projects for the last 12 years, you probably figured out that I must have a master plan. And this plan involves connecting things to the Internet that may or may not turn against us in the future. Way back in 2001, my partners and I released <a title="Tangent Research Announces Web-based Gateway to Artificial Intelligence System" href="http://tangentresearch.com/news/07252001_p2p_ai.html" target="_blank">FuzzBox</a> &#8211; this technology allowed for artificial intelligence to be distributed to devices via the Web. Our thoughts were if the decision making could be made on the Internet the devices themselves could focus on their task vs. trying to be a super device on their own. This was way early on and the ideas were premature, but it started a series of events and failures that led to even more projects involving devices linked together over the web. I guess this is now called, &#8220;<a title="Internet of Things Projects on the ioBridge blog" href="http://blog.iobridge.com/tag/internet-of-things/" target="_blank">The Internet of Things</a>&#8220;.</p>
<p>Something that has emerged over the years is social networking. I have been fascinated by the idea of collective intelligence. It&#8217;s fun to follow a football game on Twitter or on Facebook&#8217;s live stream. You get to see the take other&#8217;s have on the same event that you are experiencing. If the Steelers score, you can feel it reverberate through social networks. These networks only work if there is lots of participation by many people. I have heard that people have predicted STD out breaks from Twitter status updates, food poisoning sources, and even where earthquakes have taken place. This is fascinating to me.</p>
<p>The results are two-fold: you can learn from this data and that we are all connected. Enter in, <a title="Socially aware lights -- CheerLights" href="http://www.cheerlights.com" target="_blank">CheerLights</a> &#8211; CheerLights is my combination of distributed devices with social networking. This project that involves connecting multicolored lights to other people&#8217;s lights and allow Twitter keywords control them all. If someone <a title="CheerLights on Twitter" href="http://www.twitter.com/cheerlights" target="_blank">tweets</a>, &#8220;@cheerlights let&#8217;s go green&#8221; &#8211; every light connected to the project would change to green. To me this is a physical representation of a social network trending topic. It&#8217;s a way to share a moment in that moment. Just like with social networking, CheerLights requires scale to be very interesting.  If you check out CheerLights.com, you will see how to build a set of lights that are linked together with other people&#8217;s lights via Twitter. I have examples using things from ioBridge, Arduino, and Digi. Please let me know if you decide to build something and connect it to <a title="Twitter reactive lights -- CheerLights" href="http://www.cheerlights.com" target="_blank">CheerLights</a>.</p>
<p>We are all connected. That&#8217;s my purpose for building all of this technology. Nothing else matters.</p>
<p style="text-align: center;">
<p><a href="http://www.youtube.com/watch?v=yqi28Qcvvdg&#038;fmt=18">www.youtube.com/watch?v=yqi28Qcvvdg</a></p></p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2011/12/cheerlights-my-lights-are-linked-to-everyone-elses.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet of Things DCWEEK Workshop during DCWEEK</title>
		<link>http://iamshadowlord.com/2011/11/internet-of-things-dcweek-workshop-during-dcweek.html</link>
		<comments>http://iamshadowlord.com/2011/11/internet-of-things-dcweek-workshop-during-dcweek.html#comments</comments>
		<pubDate>Wed, 16 Nov 2011 17:40:59 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[Talks]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[thingspeak]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=359</guid>
		<description><![CDATA[DCWEEK invited me to host a dedicated workshop for the Internet of Things. We had a session learning about what IoT is all about, some basics of electronics, and then a hands on section. In a matter of minutes, we had things online. A group sent a tweet from a button and others moved a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">DCWEEK invited me to host a dedicated workshop for the Internet of Things. We had a session learning about what IoT is all about, some basics of electronics, and then a hands on section. In a matter of minutes, we had things online. A group sent a tweet from a button and others moved a motor from a web page. It was great to see a roomful of adults happy to tinker with some new technology. What a great experience!</p>
<p style="text-align: center;"><a title="Internet of Things Workshop at DCWEEK" href="http://blog.iobridge.com/2011/11/successful-internet-of-things-dcweek-workshop/" target="_blank"><img src="http://blog.iobridge.com/wp-content/uploads/2011/11/DSC03604.jpg" alt="" width="480" height="270" /></a></p>
<p style="text-align: center;"><a title="Hands on making things at IoT Workshop at DCWEEK" href="http://blog.iobridge.com/2011/11/successful-internet-of-things-dcweek-workshop/" target="_blank"><img class="aligncenter" src="http://blog.iobridge.com/wp-content/uploads/2011/11/DSC03599.jpg" alt="" width="480" height="270" /></a></p>
<p style="text-align: center;"><a title="DCWEEK Web of Things builders" href="http://blog.iobridge.com/2011/11/successful-internet-of-things-dcweek-workshop/" target="_blank"><img src="http://blog.iobridge.com/wp-content/uploads/2011/11/DSC03607.jpg" alt="" width="480" height="270" /></a></p>
<p><a title="Connecting things at DCWEEK workshop" href="http://blog.iobridge.com/2011/11/successful-internet-of-things-dcweek-workshop/" target="_blank"><img class="aligncenter" src="http://blog.iobridge.com/wp-content/uploads/2011/11/DSC03614.jpg" alt="" width="480" height="270" /></a><br />
<a title="Internet of Things Workshop hosted by Hans Scharler of ioBridge" href="http://blog.iobridge.com/2011/11/successful-internet-of-things-dcweek-workshop/" target="_blank"><img class="aligncenter" src="http://blog.iobridge.com/wp-content/uploads/2011/11/DSC03618.jpg" alt="" width="480" height="270" /></a></p>
<p>[via <a title="Successful Internet of Things DCWEEK Workshop" href="http://blog.iobridge.com/2011/11/successful-internet-of-things-dcweek-workshop/" target="_blank">ioBridge Blog</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2011/11/internet-of-things-dcweek-workshop-during-dcweek.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet of Things Talk at Carnegie Mellon University</title>
		<link>http://iamshadowlord.com/2011/10/internet-of-things-talk-at-carnegie-mellon-university-for-the-pittsburgh-perl-workshop.html</link>
		<comments>http://iamshadowlord.com/2011/10/internet-of-things-talk-at-carnegie-mellon-university-for-the-pittsburgh-perl-workshop.html#comments</comments>
		<pubDate>Wed, 12 Oct 2011 02:32:52 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[Talks]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[PGHPW]]></category>
		<category><![CDATA[PPW]]></category>
		<category><![CDATA[web of things]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=327</guid>
		<description><![CDATA[Last weekend was the Pittsburgh Perl Workshop hosted by Carnegie Mellon University in Pittsburgh, PA. I gave a talk on the Internet of Things and building apps using the Perl programming language as the connective tissue between devices and web applications. I covered the basics on how you interface devices to the real-world. I also [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend was the <a title="Pittsburgh Perl Workshop" href="http://pghpw.org/ppw2011/" target="_blank">Pittsburgh Perl Workshop</a> hosted by Carnegie Mellon University in Pittsburgh, PA. I gave a talk on the Internet of Things and building apps using the Perl programming language as the connective tissue between devices and web applications. I covered the basics on how you interface devices to the real-world. I also hosted a Hardware Hackathon and got to discuss hardware, connecting things, and Perl. I introduced everyone to my <a title="Everything is a Remix" href="http://www.everythingisaremix.info" target="_blank">remixed</a> theory of innovation. Just get out there and copy a well documented project, learn by transforming some part of the project, and combine it with other ideas. This is the only way innovation has ever happened&#8230; Thanks for the awesome time at PPW!</p>
<p><a href="http://pghpw.org/ppw2011/"><img class="aligncenter size-full wp-image-331" title="Hans Scharler at the 2011 Pittsburgh Perl Workshop" src="http://iamshadowlord.com/wp-content/uploads/2011/10/PPW2011-2-small.jpg" alt="Hans Scharler at the 2011 Pittsburgh Perl Workshop" width="500" height="205" /></a></p>
<p>Here are my slides from the 2011 Pittsburgh Perl Workshop:</p>
<p style="text-align: center;"><iframe src="http://www.slideshare.net/slideshow/embed_code/9638095" width="400" height="337" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2011/10/internet-of-things-talk-at-carnegie-mellon-university-for-the-pittsburgh-perl-workshop.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Top 100 &#8220;Internet of Things&#8221; Thinkers</title>
		<link>http://iamshadowlord.com/2011/09/top-100-internet-of-things-thinkers.html</link>
		<comments>http://iamshadowlord.com/2011/09/top-100-internet-of-things-thinkers.html#comments</comments>
		<pubDate>Fri, 02 Sep 2011 22:03:59 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[Updates]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[my toaster]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[web of things]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=316</guid>
		<description><![CDATA[We all love lists and some lists are really cool to be on. Postcapes selected me as one of the Top 100 Thinkers in the emerging field of the &#8220;Internet of Things&#8221;. They based their decision on many criteria, but I think the one item that sets me a part is my charisma (CHA of 16 is nothing [...]]]></description>
			<content:encoded><![CDATA[<p>We all love <a title="Americans Love Lists YouTube Video" href="http://www.youtube.com/watch?v=w9BfLMHNhxE" target="_blank">lists</a> and some lists are really cool to be on. <a title="Postscapes tracking the Internet of Things" href="http://postscapes.com/" target="_blank">Postcapes</a> selected me as one of the <strong>Top 100 Thinkers</strong> in the emerging field of the &#8220;Internet of Things&#8221;. They based their decision on many criteria, but I think the one item that sets me a part is my charisma (CHA of 16 is nothing to sneeze at). I am on the list at #88! It&#8217;s honor to be included with so many of the people that I have been following during my career.</p>
<p><a title="Top Internet of Things Thinkers - Hans Scharler" href="http://postscapes.com/hans-scharler" target="_blank"><img class="aligncenter size-full wp-image-317" title="Internet of Things Top 100 Thinkers" src="http://iamshadowlord.com/wp-content/uploads/2011/10/Internet_of_Things_Top_100_Thinkers.jpg" alt="Internet of Things Top 100 Thinkers" width="560" height="135" /></a></p>
<p><em>From <a title="Postscapes tracking the Internet of Things" href="http://postscapes.com/hans-scharler" target="_blank">Postcapes</a>,</em></p>
<blockquote><p>As a Software Developer at <a title="Internet of Things by ioBridge" href="http://iobridge.com/" target="_blank">ioBridge</a> and active <a title="Internet of Things Speech at Ignite Pittsburgh" href="http://iamshadowlord.com/2011/02/web-of-things-talk-at-ignite-pittsburgh.html" target="_blank">speaker</a>, and <a title="Projects by Hans Scharler" href="http://iamshadowlord.com/category/projects" target="_blank">developer</a> (including having over 800 people following <a title="Internet Connected Toaster that uses Twitter" href="http://twitter.com/#!/mytoaster" target="_blank">his toaster</a> on Twitter) in the Internet of Things space <a href="http://iamshadowlord.com/">Hans Scharler</a> is someone to watch as he sits on the interesting intersection of DIY&#8217;ers and corporate products.</p>
<p>Follow Hans and his latest on Twitter <a title="Hans Scharler on Twitter" href="http://twitter.com/scharler" target="_blank">@scharler</a>.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2011/09/top-100-internet-of-things-thinkers.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keynote Speech at Web of Things 2011</title>
		<link>http://iamshadowlord.com/2011/06/keynote-speech-at-web-of-things-2011.html</link>
		<comments>http://iamshadowlord.com/2011/06/keynote-speech-at-web-of-things-2011.html#comments</comments>
		<pubDate>Wed, 01 Jun 2011 06:39:00 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[Talks]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[thingspeak]]></category>
		<category><![CDATA[web of things]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=306</guid>
		<description><![CDATA[I had the distinct  privilege to be invited to give a keynote speech at the Web of Things Workshop 2011 at Pervasive 2011 in San Francisco on June 12, 2011. The perspective of my presentation will be from my vantage point of being involved day-to-day working on Internet of Things projects with ioBridge and how we turned projects [...]]]></description>
			<content:encoded><![CDATA[<p>I had the distinct  privilege to be invited to give a keynote speech at the <a title="Web of Things Workshop 2011" href="http://www.webofthings.com/wot/2011/program.php" target="_blank">Web of Things Workshop 2011</a> at <a title="Pervasive 2011 San Francisco" href="http://pervasiveconference.org/2011/" target="_blank">Pervasive 2011</a> in San Francisco on June 12, 2011.</p>
<p>The perspective of my presentation will be from my vantage point of being involved day-to-day working on Internet of Things projects with ioBridge and how we turned projects into products for consumers and manufacturers. Our perspective is that we see the Internet of Things being built from the ground up versus the top down. This means that there is so much innovation that will bubble up from small companies that will revolutionize the industries above them. I am honored to be part of the Web of Things Workshop.</p>
<p><strong>Updates:</strong></p>
<p>The Web of Things conference turned out great. I got a chance to meet the researchers and developers in other areas related to the Internet of Things and the cross over into wireless, social networking, and web technologies.</p>
<p>Here are the slides from my keynote presentation at the Web of Things Workshop.</p>
<p style="text-align: center;"><iframe src="http://www.slideshare.net/slideshow/embed_code/8297842" width="400" height="337" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2011/06/keynote-speech-at-web-of-things-2011.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ThingSpeak: Building My Own Twitter (for Things)</title>
		<link>http://iamshadowlord.com/2011/02/thingspeak-building-my-own-twitter-for-things.html</link>
		<comments>http://iamshadowlord.com/2011/02/thingspeak-building-my-own-twitter-for-things.html#comments</comments>
		<pubDate>Sat, 19 Feb 2011 21:54:10 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[ThingSpeak]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[netduino]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[thingspeak]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[web of things]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=292</guid>
		<description><![CDATA[Over the past several months I have been working on software to allow &#8220;things&#8221; to form social networks and send status updates via the Internet. At first glance this may sound very impractical. Hopefully, in a few years this will make more sense as better applications come out. Remember how ridiculous my toaster sounded three years ago? [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past several months I have been working on software to allow &#8220;things&#8221; to form social networks and send status updates via the Internet. At first glance this may sound very impractical. Hopefully, in a few years this will make more sense as better applications come out. Remember how ridiculous my toaster sounded three years ago? I gave that thing a voice and since has been on TV and more people are interested in it than my Twitter status updates. More proof? At CES 2011 there were at least 10 appliances that could send Twitter status updates. I am not saying that I created them, but I am not not saying that they didn&#8217;t know about <a title="Social networking for my toaster and appliances" href="http://iamshadowlord.com/2008/12/social-networking-for-my-toaster.html" target="_self">My  Toaster</a> and it&#8217;s 600+ followers on <a title="mytoaster on Twitter" href="http://www.twitter.com/mytoaster" target="_blank">Twitter</a>. With this project, I wanted to take it a few steps further and build something from the ground up that&#8217;s focused on collecting enormous amounts of data from everyday objects, allowing devices to interact with each other, and building applications to present some meaning. The <a title="Open Web of Things Project" href="http://www.thingspeak.com" target="_blank">ThingSpeak</a> project is finally ready to go and open to anyone that wants to start building applications.</p>
<p><strong>My Problem</strong></p>
<p>One problem with the Internet of Things is the concept of &#8220;the killer app&#8221; &#8211; the app that defines a new industry. The internet connected refrigerator is our poster child. Recently, Ryan Rusnak connected a <a title="Intenet connected mini fridge beer cannon" href="http://www.iobridge.net/projects/2010/12/network-and-iphone-controlled-mini-fridge-drink-cannon/" target="_blank">mini fridge</a> to the iPhone via ioBridge, added a motor controlled beer selector, and strapped on an air cannon to fire beers to his couch from 25 feet away &#8211; now that&#8217;s a killer app. So, my problem was trying to find an application that highlights key features of ThingSpeak and why it&#8217;s different.</p>
<p><strong>My App</strong></p>
<p>What I come up with is the idea of &#8220;my_house&#8221;. &#8220;my_house&#8221; is a collection of &#8220;rooms&#8221; that all hold computers, appliances, and sensors aka things. I recently installed some light sensors in &#8220;my_room&#8221; that push light levels to the ThingSpeak API. I did this to remind me when to turn my lights on so I don&#8217;t work in the dark when I get plugged in. And an interesting side benefit was that now I can detect whether or not someone is in the room based on the light level. I will admit this could have been done other ways, but sometimes you solve problems with what you have lying around. &#8220;my_house&#8221; already keeps track of my location using Google Latitude to <a title="Automatic Thermostat Control Based on Location and Weather" href="http://iamshadowlord.com/2010/09/automatic-thermostat-control-based-on-location-and-weather.html" target="_self">control my thermostat</a>. Eureka moment&#8230;</p>
<p style="text-align: center;"><em><strong>Now I can tell when my mom goes into my room when I am out on the town, most likely <a title="Sheetz" href="http://sheetz.com" target="_blank">Sheetz</a>!!!</strong></em></p>
<p>Below is a screenshot of the demo app and how I aggregate the data collected by my light sensors. Here are a few things I want to point out:</p>
<ul>
<li>&#8220;my_house&#8221; is sending the status updates via a collection of networked sensors</li>
<li>The status updates were generated by the light sensor device itself</li>
<li>The timestamps were recorded by the ThingSpeak API</li>
<li>If you click the chart icon you get what the actual light level was</li>
<li>The app works in real-time and you can check it out <a title="Twitter for Things - ThingSpeak Demo App" href="http://iamshadowlord.com/thingspeak" target="_blank">here</a></li>
</ul>
<p><a title="ThingSpeak Demo Application" href="http://iamshadowlord.com/thingspeak" target="_blank"><img class="aligncenter size-full wp-image-293" title="&quot;Twitter of Things&quot; ThingSpeak Demo App" src="http://iamshadowlord.com/wp-content/uploads/2011/02/ThingSpeak_Twitter_Demo_App.png" alt="&quot;Twitter of Things&quot; ThingSpeak Demo App" width="387" height="657" /></a></p>
<p><strong><br />
The Technical Details</strong></p>
<p>The light sensor uses a Netduino Plus that connects to my home network over Ethernet. This device uses Microsoft .NET Micro Framework and I wrote an application that interfaces with the ThingSpeak API. I also wrote a tutorial over at the ThingSpeak community site on how to use the <a title="ThingSpeak Tutorial for the Netduino Plus" href="http://community.thingspeak.com/tutorials/netduino/create-your-own-web-of-things-using-the-netduino-plus-and-thingspeak/" target="_blank">Netduino Plus</a> for those that want to get started with it fast.</p>
<p>The front-end application is written using only HTML, CSS, and jQuery. I have the fully documented source code attached and you can also see the app <a title="Twitter of Things Demo App using the ThingSpeak API" href="http://iamshadowlord.com/thingspeak" target="_blank">live</a> in your web browser.</p>
<p>Project Files:</p>
<ul>
<li><a title="Netduino Plus Application" href="http://community.thingspeak.com/netduino/ThingSpeak.zip">Netduino Plus .NET Project</a></li>
<li><a title="ThingSpeak Demo Project Apps" href="http://iamshadowlord.com/thingspeak/ThingSpeak-Twitter.zip">Twitter of Things Demo App</a></li>
</ul>
<p style="text-align: center;"><a title="Create your own Web of Things using the Netduino Plus and ThingSpeak" href="http://community.thingspeak.com/tutorials/netduino/create-your-own-web-of-things-using-the-netduino-plus-and-thingspeak/" target="_blank"><img class="aligncenter" title="Light Sensor connected to the Netduino Plus" src="http://community.thingspeak.com/wp-content/uploads/2011/01/Light-Sensor-Netduino_Plus.jpg" alt="Light Sensor connected to the Netduino Plus" width="480" height="350" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2011/02/thingspeak-building-my-own-twitter-for-things.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Web of Things Talk at Ignite Pittsburgh</title>
		<link>http://iamshadowlord.com/2011/02/web-of-things-talk-at-ignite-pittsburgh.html</link>
		<comments>http://iamshadowlord.com/2011/02/web-of-things-talk-at-ignite-pittsburgh.html#comments</comments>
		<pubDate>Thu, 10 Feb 2011 14:08:43 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[Talks]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[my toaster]]></category>
		<category><![CDATA[thingspeak]]></category>
		<category><![CDATA[web of things]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=280</guid>
		<description><![CDATA[I will be giving a talk at the first annual Ignite Pittsburgh a part of the O&#8217;Reilly Ignite Global week. Ignite is series of 5 minute talks on any topic &#8211; 20 slides at 15 seconds each. I will be giving a talk about the &#8220;Web of Things&#8221; aka &#8220;Internet of Things&#8221;. This is the future of [...]]]></description>
			<content:encoded><![CDATA[<p>I will be giving a talk at the first annual Ignite Pittsburgh a part of the O&#8217;Reilly Ignite Global week. Ignite is series of 5 minute talks on any topic &#8211; 20 slides at 15 seconds each. I will be giving a talk about the &#8220;Web of Things&#8221; aka &#8220;Internet of Things&#8221;. This is the future of connected devices and a new era of self-serving applications. This topic is near and dear to me as I have been connecting things together for a long time. It&#8217;s also the focus of <a title="Internet of Things from ioBridge" href="http://www.iobridge.com" target="_blank">ioBridge</a> and some of the <a title="Open Internet of Things - ThingSpeak" href="http://www.thingspeak.com" target="_blank">projects</a> I work on. We used to kid about ioBridge being one step closer to SkyNet&#8230;it may actually be true given enough time, iterations, and scale. Who knows how many times civilizations have been to this point before?</p>
<p>My talk is about the things that surround us &#8211; iPads, <a title="MyToaster - Social Networking for Appliances" href="http://iamshadowlord.com/2010/06/toaster-twitter-internet-of-things.html" target="_blank">Toasters</a>, Fridges, and Cars &#8211; and pose some questions &#8211; what if they were connected? What are the issues that we must consider? How can we can we disconnect in a connected world? After the talk I will post the slides and if they record it, I may or may not post the video.</p>
<p><a href="http://ignitepittsburgh.com/"><img class="aligncenter size-full wp-image-288" title="Web of Things Ignite Talk" src="http://iamshadowlord.com/wp-content/uploads/2011/02/Web-of-Things-Ignite-Talk.jpg" alt="Web of Things Ignite Talk" width="540" height="407" /></a></p>
<p><a title="Ignite Pittsburgh" href="http://ignitepittsburgh.com/" target="_blank"><strong>Ignite Pittsburgh</strong></a></p>
<p>Brillobox<br />
7pm<br />
Febuary 10, 2011</p>
<p><a title="Ignite Talk Abstract and Credits - Tangled in a Web of Things by Hans Scharler" href="http://iamshadowlord.com/ignite_2011" target="_blank"><strong>Abstract and Credits</strong></a></p>
<p>Update:</p>
<p style="text-align: center;"><a title="Ignite Pittsburgh by caseywest, on Flickr" href="http://www.flickr.com/photos/caseywest/5438069028/"><img class="aligncenter" src="http://farm6.static.flickr.com/5100/5438069028_3ca7d23841.jpg" alt="Ignite Pittsburgh" width="500" height="334" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2011/02/web-of-things-talk-at-ignite-pittsburgh.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Automatic Thermostat Control Based on Location and Weather</title>
		<link>http://iamshadowlord.com/2010/09/automatic-thermostat-control-based-on-location-and-weather.html</link>
		<comments>http://iamshadowlord.com/2010/09/automatic-thermostat-control-based-on-location-and-weather.html#comments</comments>
		<pubDate>Tue, 14 Sep 2010 13:56:51 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[home automation]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[latitude]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=239</guid>
		<description><![CDATA[The Pittsburgh Perl Workshop will be held at the Carnegie Mellon University on October 9-10, 2010. The PPW is a gathering of Perl programmers from around the world (and near Pittsburgh) to learn more and discuss the future of Perl. At this year&#8217;s PPW, I will be giving a talk called, &#8220;Connecting the Internet of Things [...]]]></description>
			<content:encoded><![CDATA[<p>The <a title="Pittsburgh Perl Workshop 2010" href="http://pghpw.org/ppw2010/" target="_blank">Pittsburgh Perl Workshop</a> will be held at the Carnegie Mellon University on October 9-10, 2010. The PPW is a gathering of <a title="Perl Wiki" href="http://en.wikipedia.org/wiki/Perl" target="_blank">Perl</a> programmers from around the world (and near Pittsburgh) to learn more and discuss the future of Perl.</p>
<p>At this year&#8217;s PPW, I will be giving a talk called, &#8220;<strong><em>Connecting the Internet of Things with Perl</em></strong>&#8221; (visit <a title="Pittsburgh Perl Conference Schedule for Internet of Things talk by Hans Scharler" href="http://pghpw.org/ppw2010/talk/3043" target="_blank">pghpw.org</a> for schedule info). I will also explain how to create an Internet of Things application using off-the-shelf Perl modules and web control technology by <a title="ioBridge Technology" href="http://www.iobridge.com/technology" target="_blank">ioBridge</a>.</p>
<p>As you may or may not know, Perl is a really powerful programming language that enables everything from fast prototyping of web applications to large-scale software platforms. What makes the language unique is the library of modules available to you. If you get a great new idea for a web app, you can get started quickly and find modules that others have written. In some cases, it&#8217;s literally copy-and-paste.</p>
<p>A big movement for the past few years is this concept of The Internet of Things. More things will be on the Internet than people in the next few years, so my talk is to highlight why Perl is still relevant after 20 years and needs to be apart of this emerging technology. Internet of Things applications involve connecting sensors and controllers to the web. Perl is perfect for parsing lots of data, pushing data into databases, and connecting services together, known as &#8220;mashups&#8221;.</p>
<p>My Internet of Things project, written in Perl, allows your current location and home weather conditions to control your home heating and cooling system.</p>
<div id="attachment_253" class="wp-caption aligncenter" style="width: 560px"><a href="http://iamshadowlord.com/wp-content/uploads/2010/09/Google-Latitude-ioBridge-Mashup2.jpg"><img class="size-full wp-image-253" title="Location Aware Home Automation" src="http://iamshadowlord.com/wp-content/uploads/2010/09/Google-Latitude-ioBridge-Mashup2.jpg" alt="Location Aware Home Automation using Google Latitude API and ioBridge API" width="550" height="433" /></a><p class="wp-caption-text">Location Aware Home Automation</p></div>
<p>I call it,  &#8221;Location Aware Home Automation&#8221;. You don&#8217;t have to do anything to control your HVAC/Thermostat, it all happens based on where you are. If you are home, the thermostat regulates the inside temperature as normal. When you leave, systems turn off or enter power saving modes. When you get near your home, the heating/cooling system kicks back on so you have a comfortable temperature by the time you get back home. In order to pull off all of this passive and automatic functionality, I have mashed up several APIs from Google Latitude, WeatherBug, and ioBridge.</p>
<p>Using the API for Google Latitude, I track the location of my Android mobile phone. When I get near my home, I check the weather using Google Weather API, WeatherBug API, and my home temperature (via ioBridge) to see if I need to to use the air conditioner, the heater, or neither. If I do need to control the HVAC, I send the control commands using the ioBridge API that routes the commands to the IO-204 controller that&#8217;s hooked up to my thermostat.</p>
<p>This application is really just a beginning. Right after I got everything working, I started having a flood of ideas. I can see some real power here.</p>
<p><strong><em>The How To Portion of the Show</em></strong></p>
<p>&gt;&gt; Google Latitude</p>
<p>You have to enable Google Latitude on your mobile phone and get your Badge ID. This ID represents your position in the world, your latitude and longitude. Visit the <a title="Google Latitude API and Badge ID" href="http://www.google.com/latitude/apps/badge" target="_blank">Google Latitude API</a> site for more information.</p>
<p>Install the latest <a title="Google Latitude Perl Module" href="http://search.cpan.org/~mrdvt/Geo-Google-Latitude-0.06/lib/Geo/Google/Latitude.pm" target="_blank">Geo::Google::Latitude</a> Perl module from CPAN.org &#8211; this module completely abstracts the access to the Google Latitude API for you. All you have to do us pass your ID and the module returns the date, time, last known latitude and longitude (the values are in decimal degrees).</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:580px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">use Geo::Google::Latitude;<br />
my $gl=Geo::Google::Latitude-&gt;new;<br />
my $id=&quot;7832225593622256926&quot;;<br />
my $badge=$gl-&gt;get($id);<br />
my ($lat2, $lon2) = $badge-&amp;gt;point-&gt;latlon;</div></div>
<p>&gt;&gt; Calculating how far you are away  from home</p>
<p>You have to figure out how far you are from home, you do this by doing some math. Oh wait, there&#8217;s a Perl module for that. Install <a title="Geo::Distance Perl Module on CPAN used to calculate distance between positions" href="http://search.cpan.org/~bluefeet/Geo-Distance-0.16/lib/Geo/Distance.pm" target="_blank">Geo::Distance</a> and all you have to do is tell it what latitude and longitude to compare and it spits out the distance.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:580px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">use Geo::Distance;<br />
my $geo = new Geo::Distance;<br />
### Home Location<br />
my $lon1 = &quot;-79.76408&quot;;<br />
my $lat1 = &quot;39.980342&quot;;<br />
### Calculated Distance<br />
my $distance = $geo-&gt;distance( 'mile', $lon1, $lat1 =&gt;; $lon2, $lat2 ); # Use 'meter' to calculate distance in meters</div></div>
<p>&gt;&gt; Getting the Weather</p>
<p>You can use a number of weather APIs to get weather data for your home location. All you need to know is where you live. The easiest to implement is Google Weather (<a title="Google Weather API" href="http://search.cpan.org/~possum/Weather-Google-0.05/lib/Weather/Google.pm" target="_blank">Weather::Google</a>), but the WeatherBug API has a lot more information you can use for other Internet of Things things you may do.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:580px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;use Weather::Google;<br />
my $gw = new Weather::Google(15401); # Zipcode<br />
my $current_outside = $gw-&gt;current-&gt;{temp_f}; #Use temp_c for Celsius</div></div>
<p>&gt;&gt; Connect to ioBridge</p>
<p>All you have to do to connect with ioBridge is to send command via the <a title="ioBridge Widget API" href="http://www.iobridge.net/wiki/api/static-widget-api" target="_blank">ioBridge Widget API</a>. First you create the control widgets for your heating and cooling system. For mine, I can use relays. Others may need serial strings, which you can send as well. Once you have the widgets created, locate there widget ID&#8217;s and send them to the API.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:580px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">use LWP::Simple;<br />
my $Air_Conditioner_widgetID = &quot;Gb2Q1FUKPmzZ&quot;; ### Replace with your widget ID's<br />
my $Heater_widgetID = &quot;9c3WEGHKemnzJ&quot;;<br />
my $Inside_Temp_widgetID = &quot;D32SDghy98iOu&quot;;<br />
my $ioBridgeAPI = &quot;&quot;;<br />
$ioBridgeAPI = &quot;http://www.iobridge.com/widgets/static/id=&quot; . $Inside_Temp_widgetID . &quot;&amp;value=1&amp;format=text&quot;;<br />
my $current_inside = get($ioBridgeAPI);<br />
### Test if the heater or the air condition should be turned on<br />
if ($current_outside &gt;= 78 &amp;&amp; $current_inside &gt;= 72) {<br />
$ioBridgeAPI = &quot;http://www.iobridge.com/widgets/static/id=&quot; . $Air_Conditioner_widgetID . &quot;&amp;value=1&amp;format=text&quot;;<br />
get($ioBridgeAPI);<br />
}<br />
elsif ($current_outside &lt;= 60 &amp;&amp; $current_inside &lt;= 68 ) {<br />
$ioBridgeAPI = &quot;http://www.iobridge.com/widgets/static/id=&quot; . $Heater_widgetID . &quot;&amp;value=1&amp;format=text&quot;;<br />
get(&quot;$ioBridgeAPI&quot;);<br />
}</div></div>
<p>&gt;&gt; Putting it all together</p>
<p>Once you have the entire built all you have to do is call the app periodically using CRON Linux or Task Scheduler on Windows. Here is a <a href="http://iamshadowlord.com/LocationAwareAutomation.txt">TXT file</a> of the Perl application with all of the parts tied together, probably will be easier to read and understand.</p>
<p>The hardware side uses the <a title="ioBridge IO-204 Internet Monitor and Control Module" href="http://www.iobridge.com" target="_blank">ioBridge IO-204</a> connected to the control lines of a <a title="Remotely enabling and disabling a thermostat" href="http://www.thomaswlewis.com/?p=567" target="_blank">thermostat</a> or an HVAC control box. The lines switch at 12 volts, so I use relays trigger them. Other thermostats that I researched use serial lines which the IO-204 can tap into using RS-232.</p>
<p>It may seem like a lot of work, but just think about what is happening. Feeds from Google Latitude and WeatherBug are being processed and passed to your home network via the Internet. All of this is happening without your direct interaction &#8211; your things are working for you. I hope that you can see that is a start of some pretty amazing applications of technologies that will advance over time. A lot has changed in the past year, I can&#8217;t image what comes next.</p>
<p>If you get around to building a project like this, please drop me a line. I love this stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2010/09/automatic-thermostat-control-based-on-location-and-weather.html/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Toaster + Twitter = Internet of Things</title>
		<link>http://iamshadowlord.com/2010/06/toaster-twitter-internet-of-things.html</link>
		<comments>http://iamshadowlord.com/2010/06/toaster-twitter-internet-of-things.html#comments</comments>
		<pubDate>Wed, 30 Jun 2010 15:35:17 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[MyToaster]]></category>
		<category><![CDATA[dating]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[my toaster]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=177</guid>
		<description><![CDATA[Really? You might be hearing this new buzz-phrase, &#8220;Internet of Things&#8221; quite a bit lately. You might be wondering what it&#8217;s all about. Let me try to explain. A &#8220;thing&#8221; could be a lot of things, but it&#8217;s not people (and definitely not places). That leaves everything else. Now according to the Internet, there are 6,767,805,208 people [...]]]></description>
			<content:encoded><![CDATA[<p>Really?</p>
<p>You might be hearing this new buzz-phrase, &#8220;Internet of Things&#8221; quite a bit lately. You might be wondering what it&#8217;s all about. Let me try to explain.</p>
<p>A &#8220;thing&#8221; could be a lot of things, but it&#8217;s not people (and definitely not places). That leaves every<em>thing</em> else. Now according to the <a title="Internet usage stats for the world" href="http://www.internetworldstats.com/stats.htm" target="_blank">Internet</a>, there are 6,767,805,208 people on Earth and of those 6,767,805,208 people 1,802,330,457 have used the Internet. That&#8217;s (only) 26%. So, that means one out of four people do not know what <a title="Numa Numa" href="http://www.youtube.com/watch?v=KmtzQCSh6xk" target="_blank">Numa Numa</a> is all about. This also means there are a lot more things than people. A thing could be a camera, mobile device, sensors, your air conditioner, a river, and even a toaster.</p>
<p>The trick to the &#8220;Internet of Things&#8221; or the &#8220;Web of Things&#8221; will be providing connectivity to all of those things. Once we do, we will be able to gain access to a lot of information. The next challenge will be making that data useful in our everyday lives. We are just at the start of this, that&#8217;s why we are just starting to hear about it (with some help with IBM commercials).</p>
<p>I have been fascinated by this concept since I first joined the Internet, back where GeoCities and L&#8217;Hotel Chat were the hip spots. For me the interest started off by controlling things over the web. Then, I started wondering what are my things doing. What temperature is it at my house? What&#8217;s going on with my freezer? Is it time to refill my humidor? How much power is my computer using?</p>
<p>Over a year and half ago, I placed my toaster on <a title="Follow myToaster on Twitter" href="http://www.twitter.com/mytoaster" target="_blank">Twitter</a> (@mytoaster). Since then, my toaster starting using other social networks and discovered online dating all by itself. That is a weird thought, &#8220;What if things get smarter and smarter?&#8221; Things will eventually be able to socialize with other things. My (sentient) toaster might even find another compatible <a title="My Toaster found another toaster on eHarmony" href="http://www.flickr.com/photos/nothans/4528602015/" target="_blank">toaster</a> using eHarmony.</p>
<p>I am not saying that this is the best example of the Internet of Things, but what I am saying is that it&#8217;s a start. I believe in a future of connected things so strongly that I joined a<a title="New gig for Hans" href="http://iamshadowlord.com/2010/06/new-gig-less-hotels-2.html" target="_self"> start up</a> company that enabled my toaster way back when I was more interesting than my things.</p>
<p>For a good primer on the Internet of Things, check the recent article on Silicon.com called, &#8220;<a title="Silicon.com featured article on the internet of things" href="http://www.silicon.com/technology/networks/2010/06/24/cheat-sheet-the-internet-of-things-39746022/" target="_blank">Cheat Sheet: The internet of things</a>&#8220;. My toaster even gets a tongue-in-cheek reference. Actually there are lots of great sites that are covering the Internet of Things and making things happen in this emerging industry &#8211; <a title="Singularity Hub on ioBridge and the internet of things" href="http://singularityhub.com/2010/04/27/building-an-internet-of-things-video/" target="_blank">Singularity Hub</a>, <a title="RWW writes about ioBridge, Twitter, and the Internet of Things" href="http://www.readwriteweb.com/archives/automate_your_home_using_iobridge_and_twitter.php" target="_blank">ReadWriteWeb</a>, <a title="More about the toaster on Wired.com" href="http://www.wired.com/gadgetlab/2009/08/twittering-toaster/" target="_blank">Wired.com</a> to name a few.</p>
<p>My guess is that you will hear more and more about The Internet of Things until it hits Smart Grid proportions, then you will hear about the next big thing &#8211; <em>the smart internet of things grid</em> perhaps.</p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2010/06/toaster-twitter-internet-of-things.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New Gig, Less Hotels</title>
		<link>http://iamshadowlord.com/2010/06/new-gig-less-hotels-2.html</link>
		<comments>http://iamshadowlord.com/2010/06/new-gig-less-hotels-2.html#comments</comments>
		<pubDate>Wed, 16 Jun 2010 18:00:46 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[Updates]]></category>
		<category><![CDATA[airport]]></category>
		<category><![CDATA[hotels]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[lan]]></category>
		<category><![CDATA[tech support]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=173</guid>
		<description><![CDATA[A few months ago, I decided to join ioBridge full-time. I will be leading the software development for a whole bunch of commercial products that license our technology. ioBridge will announce a few major developments in the coming weeks that made this transition possible. I am excited for the new challenges and look forward to working with a start-up [...]]]></description>
			<content:encoded><![CDATA[<p>A few months ago, I decided to join <a title="Makers of remote control and monitoring hardware and software" href="http://www.iobridge.com" target="_blank">ioBridge</a> full-time. I will be leading the software development for a whole bunch of commercial products that license our technology. ioBridge will announce a few major developments in the coming weeks that made this transition possible. I am excited for the new challenges and look forward to working with a start-up company.</p>
<p>My first project with ioBridge was building a remote sensor network web interface on top of the Google Maps API. The sensor network allows for the real-time monitoring of tide levels. The project got written up on <a title="Technology Review Blog by MIT writes about ioBridge's Tide monitoring project" href="http://www.technologyreview.com/blog/guest/25315/" target="_blank">MIT&#8217;s Technology Review</a> blog and the <a title="ioBridge Projects and News write up about the Tide Level monitoring app" href="http://www.iobridge.net/projects/2010/06/iobridge-tide-alerts-on-mits-technology-review-blog/" target="_blank">ioBridge Projects</a> blog. You can demo the tide monitoring application at <a title="Tide Alerts powered by ioBridge" href="http://www.tidealerts.com" target="_blank">www.TideAlerts.com</a>.</p>
<p>Change is not always easy. I had a great job and got to see all of the United States minus Alaska, Hawaii, and Idaho (yes, Idaho, I have flown all over you but never landed on you&#8230;). I got to design, maintain, pen test, and provide training for some of the largest networks in the US for utilities and telecommunications providers over a 10 year period. Yes, you can blame me the next time your call drops.</p>
<p>This also means I saw a lot of hotels and airports. I probably stayed at a Hampton Inn from 30 different states. I can&#8217;t tell you how many times I woke up to a USA Today being crammed under my door. For whatever reason on my first trip to a DSL testing company in Manchester, New Hampshire, I saved the room key. I know you are supposed to return them, but maybe in the excitement of it all, I kept it. This tradition continued with my next project in Lincoln, Nebraska and the next and the next. When I got home I would shove the room key in a box. I just dumped it out and could not believe it&#8230;Here&#8217;s a photo so you can see what I am saying&#8230;</p>
<p style="text-align: center;"><a title="IMG_0059 by hscharler, on Flickr" href="http://www.flickr.com/photos/nothans/4529260546/"><img src="http://farm5.static.flickr.com/4058/4529260546_5b09ec7642.jpg" alt="IMG_0059" width="500" height="375" /></a></p>
<p style="text-align: left;">I don&#8217;t advocate stealing room keys, but this pile is  a quick snap shot of 1000&#8242;s of trips and projects and experiences. With the new gig, I will travel less and that might be good. I am looking forward to it and might even join a bowling league where I can actually make the games. I will keep you updated on the progress. It&#8217;s time to start-up (.com).</p>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2010/06/new-gig-less-hotels-2.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Best Invention Since Sliced Bread</title>
		<link>http://iamshadowlord.com/2010/03/best-invention-since-sliced-bread.html</link>
		<comments>http://iamshadowlord.com/2010/03/best-invention-since-sliced-bread.html#comments</comments>
		<pubDate>Wed, 03 Mar 2010 01:29:00 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[MyToaster]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[my toaster]]></category>
		<category><![CDATA[thingspeak]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[web of things]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=32</guid>
		<description><![CDATA[My toaster is back in the news with a post on FoxNews.com regarding &#8220;Things that Tweet&#8221;. I love things that can speak and soon the idea of a &#8220;web of things&#8221; will not be so odd. The website &#8220;Global Toaster&#8221; reported that my internet toaster is a celebrity. Their site is chock full of toasters, [...]]]></description>
			<content:encoded><![CDATA[<p>My toaster is back in the news with a post on <a href="http://www.foxnews.com/slideshow/scitech/2010/02/23/things-tweet?slide=10">FoxNews.com</a> regarding &#8220;Things that Tweet&#8221;. I love things that can speak and soon the idea of a &#8220;web of things&#8221; will not be so odd.</p>
<p>The website &#8220;<a href="http://www.globaltoaster.com/">Global Toaster</a>&#8221; reported that my internet toaster is a <a href="http://blog.globaltoaster.com/blog/toast-to-toasters/0/0/tweeting-toaster-mytoaster-is-a-celebrity">celebrity</a>. Their site is chock full of toasters, toaster info, toaster love, and a toaster blog. Check it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2010/03/best-invention-since-sliced-bread.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steam Punpkin My Steampunk Pumpkin</title>
		<link>http://iamshadowlord.com/2009/10/steam-punpkin-my-steampunk-pumpkin.html</link>
		<comments>http://iamshadowlord.com/2009/10/steam-punpkin-my-steampunk-pumpkin.html#comments</comments>
		<pubDate>Mon, 19 Oct 2009 01:23:20 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[halloween]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[pumpkin]]></category>
		<category><![CDATA[steam punk]]></category>
		<category><![CDATA[steampunk]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=275</guid>
		<description><![CDATA[Steam Punk Pumpkin Moved http://iamshadowlord.com/2009/10/steam-pumpkin-my-steampunk-pumpkin.html]]></description>
			<content:encoded><![CDATA[<p>Steam Punk Pumpkin Moved</p>
<p><a href="http://iamshadowlord.com/2009/10/steam-pumpkin-my-steampunk-pumpkin.html">http://iamshadowlord.com/2009/10/steam-pumpkin-my-steampunk-pumpkin.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2009/10/steam-punpkin-my-steampunk-pumpkin.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steam Pumpkin &#8211; My Steampunk Pumpkin</title>
		<link>http://iamshadowlord.com/2009/10/steam-pumpkin-my-steampunk-pumpkin.html</link>
		<comments>http://iamshadowlord.com/2009/10/steam-pumpkin-my-steampunk-pumpkin.html#comments</comments>
		<pubDate>Sun, 18 Oct 2009 03:14:00 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[H. G. Wells]]></category>
		<category><![CDATA[halloween]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[LED]]></category>
		<category><![CDATA[steampunk]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=28</guid>
		<description><![CDATA[Halloween is one of my favorite times a year being ShadowLord and all. I was BatMan three times in my life and only once as a kid. Pumpkin carving is something I also get into. My first pumpkin at age 9 was an old farmer smoking a pipe. It even had a twinkling red LED [...]]]></description>
			<content:encoded><![CDATA[<p>Halloween is one of my favorite times a year being ShadowLord and all. I was BatMan three times in my life and only once as a kid. Pumpkin carving is something I also get into. My first pumpkin at age 9 was an old farmer smoking a pipe. It even had a twinkling red LED in the corncob pipe. After burning up a handful of LEDs my dad taught me about current limiting resistors.</p>
<p>Fast forward 20 years and I am still shoving LEDs into pumpkins. This year my inspiration comes from <a href="http://en.wikipedia.org/wiki/Steampunk">steampunk</a>, a growing subculture fascinated with steam-aged garb and future technology fusion. Steampunk was born of the H. G. Wells and Jules Verne visions of futuristic technology and style. Call it what you want, Steampunk is an inspiring movement of makers and re-users of technology and materials.</p>
<p>Here is my steampunk inspired pumpkin.</p>
<div><span class="Apple-style-span" style="color: #0000ee; -webkit-text-decorations-in-effect: underline;"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://www.iamshadowlord.com/uploaded_images/Steam-Pumpkin-Day-781182.jpg" border="0" alt="" /></span></div>
<div><span class="Apple-style-span" style="color: #0000ee; -webkit-text-decorations-in-effect: underline;"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://www.iamshadowlord.com/uploaded_images/Steam-Pumpkin-Night-702058.jpg" border="0" alt="" /></span></div>
<p></p>
<div><strong><em>Where do you start?</em></strong></div>
<p></p>
<div>I cobbled together whatever I could find that resonated steampunk. I found my Mom&#8217;s old purse that had some faux leather, brass loops, and a gold chain. I also grabbed an old candle holder, a lamp shade, a door hinge, a metal coffee filter, and some brass brads. My Dremel was used to drill, cut metal, and and cause sparks (insert grunt).</div>
<p></p>
<div><span class="Apple-style-span" style="color: #0000ee; -webkit-text-decorations-in-effect: underline;"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://www.iamshadowlord.com/uploaded_images/Materials-786658.jpg" border="0" alt="" /></span></div>
<p></p>
<div><strong><em>Full of hot air</em></strong></div>
<p></p>
<div>I knew that I was going to add some technology to the design and I settled on an automated fog machine that would blow smoke from the ears of the pumpkin. Okay, I know it&#8217;s a little literal, but it is a steam pumpkin.</div>
<p></p>
<div><strong><em>How do you do that?</em></strong></div>
<p></p>
<div>Using the <a href="http://www.iobridge.com/">ioBridge IO-204</a>, I rigged up the fog machine to trigger when someone walked in front of the pumpkin. I used a passive infrared sensor from <a href="http://www.ladyada.net/learn/sensors/pir.html">Adafruit</a> to detect motion. The IO-204 has an upcoming feature that allows for on board logic, meaning you can break off of the Internet and have local controls take over. To integrate it with the fog machine, I tapped into the wireless remote control that came with the fog machine. This made it easy to control using a single relay. To light the pumpkin, I bought a BlinkM RGB LED Blaster from <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9001">Sparkfun</a>. The LEDs are high intensity lights that you can mix colors together. It turned out to be a neat touch. When someone gets close, I set the color with the IO-204 to an evil red to accompany the smoke.</div>
<div><span class="Apple-style-span" style="color: #0000ee; -webkit-text-decorations-in-effect: underline;"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://www.iamshadowlord.com/uploaded_images/Behind-the-Scenes-729689.jpg" border="0" alt="" /></span></div>
<p></p>
<div>For more information and more &#8220;How-to&#8221; detail, check out <a href="http://www.instructables.com/id/The-Making-of-a-Steampunk-Pumpkin/">Instructables.com</a>.</div>
<div><strong><em>Introducing The Steam Pumpkin</em></strong></div>
<p></p>
<div>Here is a <a href="http://www.youtube.com/watch?v=VospMe4TwIg">YouTube</a> video of &#8220;Steamy Wonder&#8221; in action:</div>
<p></p>
<div style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/VospMe4TwIg&amp;hl=en&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/VospMe4TwIg&amp;hl=en&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<div style="text-align: center;"><strong><em><span class="Apple-style-span" style="font-style: normal; font-weight: normal;"><br />
</span></em></strong></div>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2009/10/steam-pumpkin-my-steampunk-pumpkin.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>She Thinks My Toaster is Hot</title>
		<link>http://iamshadowlord.com/2009/08/she-thinks-my-toaster-is-hot.html</link>
		<comments>http://iamshadowlord.com/2009/08/she-thinks-my-toaster-is-hot.html#comments</comments>
		<pubDate>Sat, 08 Aug 2009 10:38:00 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[MyToaster]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[my toaster]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[wired]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=25</guid>
		<description><![CDATA[One day you put your toaster on a social networking site. And then on another day you find out that your toaster has more friends than you. This little story sounds made up. Well, it&#8217;s not. My toaster has had a Twitter page since December 2008, tweeting the status of my toast making habits for [...]]]></description>
			<content:encoded><![CDATA[<p>One day you put your <a href="http://www.iamshadowlord.com/2008/12/social-networking-for-my-toaster.html">toaster</a> on a social networking site. And then on another day you find out that your toaster has more friends than you.</p>
<p><a href="http://www.twitter.com/mytoaster" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0px auto 10px; display: block; width: 320px; cursor: pointer; height: 260px; text-align: center;" src="http://www.iamshadowlord.com/uploaded_images/TwitterToasterSystem-721764.jpg" border="0" alt="" /></a></p>
<p>This little story sounds made up. Well, it&#8217;s not.</p>
<p>My toaster has had a <a href="http://www.twitter.com/">Twitter</a> page since December 2008, tweeting the status of my toast making habits for all of the world to follow. On occasion people even write to the toaster to ask what it&#8217;s toasting. Oddly enough, it can tell you.</p>
<p>I get asked, &#8220;Why have your toaster on the Internet?&#8221; Well, it&#8217;s a starting point for future projects and part sarcasm. I have been working on gizmos, web control, and power / resource management projects with my friend <a href="http://www.picobay.com/projects">Jason Winters</a> of <a href="http://www.iobridge.com/">ioBridge</a> for over a decade. One day I had the idea to overlay appliance usage data onto a graph of my power consumption for my house. My theory is to use this appliance meta data to reduce the power I use everyday by pointing directly to the power hogs. It&#8217;s a start to my internet of things at my house. If you want to get start your own Skynet, visit Wired&#8217;s <a href="http://howto.wired.com/wiki/Make_Your_Gadgets_Twitter">Wiki</a> on making things talk. I use the IO-204 control and monitor module from <a href="http://www.iobridge.com/store">ioBridge.com</a>.</p>
<p>OK, mostly it&#8217;s sarcasm.</p>
<p>My Toaster has been recently written about on <a href="http://www.wired.com/gadgetlab/2009/08/twittering-toaster/">Wired.com</a>, <a href="http://www.readwriteweb.com/archives/automate_your_home_using_iobridge_and_twitter.php">ReadWriteWeb</a>, <a href="http://www.pcworld.com/article/169708/twitter_household_appliances_get_vocal.html">PC World</a>, <a href="http://jack.tiscali.it/news/09/08/06-08-09-twitter.html">Tiscali</a>, <a href="http://www.demorgen.be/dm/nl/991/Multimedia/article/detail/958801/2009/08/06/Volg-je-toilet-en-toaster-via-Twitter.dhtml">De Morgen</a>, <a href="http://www.xycity.cn/news/33/n-341133.html">XYCity China</a>, etc. If you want to hear about it straight from the bread slot, you can get live updates from my toaster by following <a href="http://www.twitter.com/mytoaster">@MyToaster</a> on Twitter.</p>
<p>I am now jealous of my toaster which has made for awkward moments when I want some crunchy Wonder Bread.</p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2009/08/she-thinks-my-toaster-is-hot.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Internet-enabled Message Center</title>
		<link>http://iamshadowlord.com/2009/06/internet-enabled-message-center.html</link>
		<comments>http://iamshadowlord.com/2009/06/internet-enabled-message-center.html#comments</comments>
		<pubDate>Mon, 15 Jun 2009 01:10:00 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[liquidware]]></category>
		<category><![CDATA[stock quote]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[usb power cable]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=22</guid>
		<description><![CDATA[What are you up to now? I took the leap and bought an Arduino from LiquidWare. An arduino is an open-source microcontroller that has a processor, some digital I/O pins, and analog inputs. You can create little standalone programs that monitor inputs, control LEDs, and pretty much anything that you dream up. My favorite projects [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.iamshadowlord.com/uploaded_images/Message-Center-720680.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 235px;" src="http://www.iamshadowlord.com/uploaded_images/Message-Center-720659.jpg" border="0" alt="" /></a></p>
<div><strong>What are you up to now?</strong></div>
<p>I took the leap and bought an Arduino from <a href="http://www.liquidware.com/">LiquidWare</a>. An arduino is an open-source microcontroller that has a processor, some digital I/O pins, and analog inputs. You can create little standalone programs that monitor inputs, control LEDs, and pretty much anything that you dream up. My favorite projects are ones that involve the Internet. A microcontroller is rather simple by itself, but what if it could use the web to get answers, send email, maybe update my Twitter status? That means there is a unlimited number of projects ahead &#8211; Microcontrollers collaboarating in cyberspace. The missing link for the web part is the <a href="http://www.iobridge.com/">ioBridge IO-204</a>. I know you are no stranger to the the IO-204, but for those of you who have not heard. The IO-204 sits on my network and relays data from its channels to ioBridge.com servers and back into my network. It allows for remote control and monitoring without network configuration and programming. One of the expansion boards is a two-way serial board that accepts serial strings and connects them to APIs of web services that ioBridge interfaces to and sends back responses. For instance, I can send the commands, &#8220;[[[calc|9*9]]]&#8221; and this returns 81. OK, maybe not impressive on the surface, but that result came from Google Calculator. Anything <a href="http://www.google.com/help/calculator.html">Google Calculator</a> can solve, your microcontroller has access to those results. For more examples, visit the <a href="http://www.iobridge.net/wiki/api/serial-web-services-api">Serial Web Services API</a> on the wiki.</p>
<div><strong>Message Center Project</strong></div>
<div>I wanted to combine these two worlds with a sample project &#8211; maybe it will inspire you to come up with something better, spark some ideas that you have. I have my arduino measuring my outside temperature here in Pittsburgh, which is an analog input scaled to Fahrenheit. At any moment I can press a button and get the temperature on the LCD screen &#8211; no Internet required. Since I have been planning a work trip to Atlanta, I also wanted to compare my temperature with hot-lanta&#8217;s. So, my project solves that. Using the &#8220;weather command&#8221;, I am able to get the weather anywhere in the world by zip code or city name.</div>
<div>I added a few more things to the message center. With another button I can get the stock quote of Google. My strike price was $405, so I have been watching it close. If it gets below $405, I get an automatic email from my message center. The stock quote comes from the Yahoo Financials API.</div>
<div>
<div style="text-align: left;">I have one more button that emails me a secret message when it&#8217;s pressed. I put this in here for when my mom comes into my room from when I am on the road. It&#8217;s aptly label, do not press. Next time, I will hook it to a light sensor in the basement to catch her when she turns on my lights. I am sure you all have the same issues with your mom.</div>
<div style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/LNcspcEdak8&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/LNcspcEdak8&amp;hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<div style="text-align: center;"><strong><br />
</strong></div>
<div style="text-align: left;"><strong>Source Code</strong></div>
<div>The arduino requires some c-like programming and I wanted to include the sketch for you to steal and use for your projects. You will see how I send the serial commands from the arduino to the IO-204 using the UART serial connection (pins 0/1) and recieve and parse the incoming results. I use a SoftwareSerial port for the LCD results. The push buttons are software debounced and use pull-up resistors for solid digital connections. The LED&#8217;s linked to each button use a 330 ohm resistor to protect them. I was aided by the Arduino Inputs tutorial on <a href="http://www.ladyada.net/learn/arduino/lesson5.html">Ladyada.net</a>, <a href="http://www.arduino.cc/en/Tutorial/Debounce">Debounce Tutorial</a>, and the <a href="http://www.iobridge.net/wiki">iobridge Wiki</a> / <a href="http://www.iobridge.net/forum">Forum</a>. Please let me know if you have any questions, maybe I can help. I have learned a lot about handling strings on the arduino.</div>
<div>
<pre><span style="color: #777755;">//
</span><span style="color: #777755;">// Message Center using Arduino and the ioBridge IO-204</span><span style="color: #777755;">
//
</span><span style="color: #777755;">// An open-souce Shadowlord Project</span><span style="color: #777755;">
// www.IamShadowlord.com</span>

#include &lt;<span style="color: #cc6600;">SoftwareSerial</span>.h&gt;

<span style="color: #777755;">// SoftwareSerial Pins
</span>#define rxPin 2
#define txPin 3

<span style="color: #777755;">// Setup Software Serial</span><span style="color: #cc6600;">
SoftwareSerial</span> softSerial = <span style="color: #cc6600;">SoftwareSerial</span>(rxPin, txPin);

<span style="color: #777755;">// Global Setup
</span><span style="color: #996600;">int</span> middleLED = 11;
<span style="color: #996600;">int</span> rightLED = 10;
<span style="color: #996600;">int</span> leftLED = 12;

<span style="color: #996600;">int</span> leftButton = 5;<span style="color: #996600;">
int</span> leftButtonCurrent = <span style="color: #cc0000;">LOW</span>;
<span style="color: #996600;">int</span> leftButtonReading;
<span style="color: #996600;">int</span> leftButtonPrevious = <span style="color: #cc0000;">HIGH</span>;
<span style="color: #996600;">long</span> leftButtonTime = 0;<span style="color: #996600;">
long</span> leftButtonDebounce = 200;

<span style="color: #996600;">int</span> middleButton = 4;
<span style="color: #996600;">int</span> middleButtonCurrent = <span style="color: #cc0000;">LOW</span>;
<span style="color: #996600;">int</span> middleButtonReading;<span style="color: #996600;">
int</span> middleButtonPrevious = <span style="color: #cc0000;">HIGH</span>;
<span style="color: #996600;">long</span> middleButtonTime = 0;<span style="color: #996600;">
long</span> middleButtonDebounce = 200;

<span style="color: #996600;">int</span> rightButton = 6;<span style="color: #996600;">
int</span> rightButtonCurrent = <span style="color: #cc0000;">LOW</span>;
<span style="color: #996600;">int</span> rightButtonReading;<span style="color: #996600;">
int</span> rightButtonPrevious = <span style="color: #cc0000;">HIGH</span>;<span style="color: #996600;">
long</span> rightButtonTime = 0;<span style="color: #996600;">
long</span> rightButtonDebounce = 200;

<span style="color: #996600;">int</span> tempPin = 5;
<span style="color: #996600;">int</span> tempAnalog = 0;<span style="color: #996600;">
int</span> tempF = 0;

<span style="color: #996600;">char</span>* currentRequest = <span style="color: #cc0000;">""</span>;

<span style="color: #777755;">// Start up program</span><span style="color: #cc6600;">
void</span> <span style="color: #993300;"><strong>setup</strong></span>() {

<span style="color: #996600;">pinMode</span>(rxPin, <span style="color: #cc0000;">INPUT</span>);
<span style="color: #996600;">pinMode</span>(txPin, <span style="color: #cc0000;">OUTPUT</span>);

<span style="color: #996600;">pinMode</span>(leftLED, <span style="color: #cc0000;">OUTPUT</span>);<span style="color: #996600;">
pinMode</span>(middleLED, <span style="color: #cc0000;">OUTPUT</span>);
<span style="color: #996600;">pinMode</span>(rightLED, <span style="color: #cc0000;">OUTPUT</span>);

<span style="color: #996600;">pinMode</span>(leftButton, <span style="color: #cc0000;">INPUT</span>);
<span style="color: #996600;">pinMode</span>(middleButton, <span style="color: #cc0000;">INPUT</span>);
<span style="color: #996600;">pinMode</span>(rightButton, <span style="color: #cc0000;">INPUT</span>);

softSerial.<span style="color: #996600;">begin</span>(9600);
<span style="color: #996600;">delay</span>(100);

<span style="color: #996600;">Serial</span>.<span style="color: #996600;">begin</span>(9600);<span style="color: #996600;">
delay</span>(100);

<span style="color: #996600;">Serial</span>.<span style="color: #996600;">flush</span>();
<span style="color: #996600;">delay</span>(100);

<span style="color: #777755;">// Setup LCD</span>
clearLCD();
setBacklightBrightness(9);<span style="color: #996600;">
delay</span>(1000);

<span style="color: #777755;">// Test LEDs</span><span style="color: #996600;">
digitalWrite</span>(leftLED, <span style="color: #cc0000;">HIGH</span>);
<span style="color: #996600;">digitalWrite</span>(middleLED, <span style="color: #cc0000;">HIGH</span>);
<span style="color: #996600;">digitalWrite</span>(rightLED, <span style="color: #cc0000;">HIGH</span>);

<span style="color: #996600;">delay</span>(1500);

<span style="color: #996600;">digitalWrite</span>(leftLED, <span style="color: #cc0000;">LOW</span>);<span style="color: #996600;">
digitalWrite</span>(middleLED, <span style="color: #cc0000;">LOW</span>);<span style="color: #996600;">
digitalWrite</span>(rightLED, <span style="color: #cc0000;">LOW</span>);

}

<span style="color: #777755;">// Start main program loop</span><span style="color: #cc6600;">
void</span> <span style="color: #993300;"><strong>loop</strong></span>(){

<span style="color: #777755;">// Get Analog Input and scale as temperature for ioBridge temperature sensor on arduino
</span>tempAnalog = <span style="color: #996600;">analogRead</span>(tempPin);
tempF = tempAnalog / 6.875;

<span style="color: #777755;">// Monitor left button status and debounce
</span>leftButtonReading = <span style="color: #996600;">digitalRead</span>(leftButton);

<span style="color: #cc6600;">if</span> (leftButtonReading == <span style="color: #cc0000;">HIGH</span> &amp;&amp; leftButtonPrevious == <span style="color: #cc0000;">LOW</span> &amp;&amp; <span style="color: #996600;">
          millis</span>() - leftButtonTime &gt; leftButtonDebounce) {
<span style="color: #cc6600;">if</span> (leftButtonCurrent == <span style="color: #cc0000;">HIGH</span>) leftButtonCurrent = <span style="color: #cc0000;">LOW</span>;<span style="color: #cc6600;">
else</span> {<span style="color: #996600;">digitalWrite</span>(leftLED, <span style="color: #cc0000;">HIGH</span>);
clearLCD();<span style="color: #996600;">
delay</span>(100);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"Outside: "</span>);<span style="color: #996600;">
delay</span>(100);
softSerial.<span style="color: #996600;">print</span>(tempF);<span style="color: #996600;">
delay</span>(100);
moveCursor(<span style="color: #cc0000;">"02"</span>, <span style="color: #cc0000;">"01"</span>);
<span style="color: #996600;">delay</span>(100);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"Atlanta: "</span>);
leftButtonCurrent = <span style="color: #cc0000;">LOW</span>;<span style="color: #777755;">
//Request temperature in Atlanta via ioBridge
</span><span style="color: #996600;">Serial</span>.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"[[[weather|Atlanta]]]"</span>);<span style="color: #996600;">
digitalWrite</span>(leftLED, <span style="color: #cc0000;">LOW</span>);
}
leftButtonTime = <span style="color: #996600;">millis</span>();
}

leftButtonPrevious = leftButtonReading;

<span style="color: #777755;">// Monitor middle button status and debounce</span>
middleButtonReading = <span style="color: #996600;">digitalRead</span>(middleButton);

<span style="color: #cc6600;">if</span> (middleButtonReading == <span style="color: #cc0000;">HIGH</span> &amp;&amp; middleButtonPrevious == <span style="color: #cc0000;">LOW</span> &amp;&amp;
         <span style="color: #996600;">millis</span>() - middleButtonTime &gt; middleButtonDebounce) {
<span style="color: #cc6600;">if</span> (middleButtonCurrent == <span style="color: #cc0000;">HIGH</span>) middleButtonCurrent = <span style="color: #cc0000;">LOW</span>;<span style="color: #cc6600;">
else</span> {currentRequest = <span style="color: #cc0000;">"Google"</span>;<span style="color: #996600;">
digitalWrite</span>(middleLED, <span style="color: #cc0000;">HIGH</span>);
clearLCD();<span style="color: #996600;">delay</span>(100);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"GOOG: $"</span>);<span style="color: #996600;">
delay</span>(100);
middleButtonCurrent = <span style="color: #cc0000;">LOW</span>;<span style="color: #777755;">
//Request Google Stock Price via ioBridge  </span><span style="color: #996600;">
Serial</span>.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"[[[stock|GOOG]]]"</span>); <span style="color: #996600;">
digitalWrite</span>(middleLED, <span style="color: #cc0000;">LOW</span>);
}
middleButtonTime = <span style="color: #996600;">millis</span>();
}

middleButtonPrevious = middleButtonReading;

<span style="color: #777755;">// Monitor right button status and debounce
</span>rightButtonReading = <span style="color: #996600;">digitalRead</span>(rightButton);

<span style="color: #cc6600;">if</span> (rightButtonReading == <span style="color: #cc0000;">HIGH</span> &amp;&amp; rightButtonPrevious == <span style="color: #cc0000;">LOW</span> &amp;&amp;
            <span style="color: #996600;">millis</span>() - rightButtonTime &gt; rightButtonDebounce) {<span style="color: #cc6600;">
if</span> (rightButtonCurrent == <span style="color: #cc0000;">HIGH</span>) rightButtonCurrent = <span style="color: #cc0000;">LOW</span>;<span style="color: #cc6600;">
else</span> {<span style="color: #996600;">
digitalWrite</span>(rightLED, <span style="color: #cc0000;">HIGH</span>);
clearLCD();
<span style="color: #996600;">delay</span>(100);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"Alert: "</span>);<span style="color: #996600;">
delay</span>(100);
rightButtonCurrent = <span style="color: #cc0000;">LOW</span>;<span style="color: #777755;">
//Send email via ioBridge  </span><span style="color: #996600;">
Serial</span>.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"[[[email|hans@nothans.com|Alert|Mom, is pressing your buttons]]]"</span>);
<span style="color: #996600;">digitalWrite</span>(rightLED, <span style="color: #cc0000;">LOW</span>);
}
rightButtonTime = <span style="color: #996600;">millis</span>();
}

rightButtonPrevious = rightButtonReading;

<span style="color: #777755;">// Display serial messages
</span><span style="color: #cc6600;">if</span>(<span style="color: #996600;">Serial</span>.<span style="color: #996600;">available</span>() &gt; 0){

<span style="color: #996600;">delay</span>(100);

<span style="color: #996600;">char</span> charIn = 0;
<span style="color: #996600;">byte</span> i = 0;<span style="color: #996600;">
char</span> stringIn[32] = <span style="color: #cc0000;">""</span>;

<span style="color: #cc6600;">while</span>(<span style="color: #996600;">Serial</span>.<span style="color: #996600;">available</span>()) {
charIn = <span style="color: #996600;">Serial</span>.<span style="color: #996600;">read</span>();
stringIn[i] = charIn;
i += 1;
}

<span style="color: #cc6600;">if</span> (currentRequest == <span style="color: #cc0000;">"Google"</span>) {

softSerial.<span style="color: #996600;">print</span>(stringIn);
<span style="color: #996600;">int</span> stockPrice = atoi(stringIn);
<span style="color: #996600;">delay</span>(100);
moveCursor(<span style="color: #cc0000;">"02"</span>, <span style="color: #cc0000;">"01"</span>);
<span style="color: #996600;">delay</span>(100);
stockPrice = stockPrice - 405;
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"Change: $"</span>); <span style="color: #996600;">
delay</span>(100);
softSerial.<span style="color: #996600;">print</span>(stockPrice);
currentRequest = <span style="color: #cc0000;">""</span>;

}<span style="color: #cc6600;">
else</span>softSerial.<span style="color: #996600;">print</span>(stringIn);
}

<span style="color: #777755;">// End program loop     </span>
}

<span style="color: #777755;">//</span><span style="color: #777755;">
// ioBridge Serial LCD Functions and Parameters (for SoftwareSerial)
</span><span style="color: #777755;">//</span>

<span style="color: #cc6600;">void</span> displayMessage(<span style="color: #996600;">char</span>* message){
softSerial.<span style="color: #996600;">print</span>(message);
}

<span style="color: #cc6600;">void</span> clearLCD(){
softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"Z"</span>);
}

<span style="color: #cc6600;">void</span> setBacklightBrightness(<span style="color: #996600;">int</span> level){<span style="color: #777755;">
// level
</span><span style="color: #777755;">// 0=Off -&gt; 9=Brightest</span>

softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"B"</span>);
softSerial.<span style="color: #996600;">print</span>(level);
}

<span style="color: #cc6600;">void</span> setBacklightTime(<span style="color: #996600;">int</span> level, <span style="color: #996600;">byte</span> seconds){<span style="color: #777755;">
// level
</span><span style="color: #777755;">// 0=Off -&gt; 9=Brightest</span>

<span style="color: #777755;">// seconds</span><span style="color: #777755;">
// 01 = 1 seconds =&gt; 06 = 60 seconds</span>

softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"T"</span>);
softSerial.<span style="color: #996600;">print</span>(level);
softSerial.<span style="color: #996600;">print</span>(seconds, <span style="color: #cc0000;">BYTE</span>);
}

<span style="color: #cc6600;">void</span> moveCursorHome(){
softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"H"</span>);
}

<span style="color: #cc6600;">void</span> turnCursorOn(){
softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"J"</span>);
}

<span style="color: #cc6600;">void</span> turnCursorOff(){
softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"K"</span>);
}

<span style="color: #cc6600;">void</span> turnBlinkingCursorOn(){
softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"P"</span>);
}

<span style="color: #cc6600;">void</span> turnBlinkingCursorOff(){
softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"Q"</span>);
}

<span style="color: #cc6600;">void</span> scrollMessage(<span style="color: #996600;">int</span> row, <span style="color: #996600;">int</span> <span style="color: #996600;">speed</span>, <span style="color: #996600;">char</span>* message){
<span style="color: #777755;">// row</span><span style="color: #777755;">
// 1=First Line -&gt; 2=Second Line</span>

<span style="color: #777755;">// speed</span><span style="color: #777755;">
// 0=Slowest -&gt; 9=Fastest</span>

softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"S"</span>);
softSerial.<span style="color: #996600;">print</span>(row);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #996600;">speed</span>);
softSerial.<span style="color: #996600;">print</span>(message);
softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
}

<span style="color: #cc6600;">void</span> moveCursor(<span style="color: #996600;">char</span>* row, <span style="color: #996600;">char</span>* column){
<span style="color: #777755;">// row
</span><span style="color: #777755;">// 01=First Line -&gt; 02=Second Line</span>

<span style="color: #777755;">// column</span><span style="color: #777755;">
// 01=First Position -&gt; 16=Last Position</span>

softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"L"</span>);
softSerial.<span style="color: #996600;">print</span>(row);
softSerial.<span style="color: #996600;">print</span>(column);
}

<span style="color: #cc6600;">void</span> drawHorizontalGauge(<span style="color: #996600;">int</span> row, <span style="color: #996600;">char</span>* leftLabel, <span style="color: #996600;">char</span>* rightLabel, <span style="color: #996600;">char</span>* length){<span style="color: #777755;">
// row
</span><span style="color: #777755;">// 1=First Line -&gt; 2=Second Line</span>

<span style="color: #777755;">// leftLabel and rightLabel
</span><span style="color: #777755;">// 2 character labels</span>

<span style="color: #777755;">// length</span><span style="color: #777755;">
// a=Empty -&gt; k=Full (filled in from left to right)</span>

softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"G"</span>);
softSerial.<span style="color: #996600;">print</span>(row);
softSerial.<span style="color: #996600;">print</span>(leftLabel);
softSerial.<span style="color: #996600;">print</span>(rightLabel);
softSerial.<span style="color: #996600;">print</span>(length);
}

<span style="color: #cc6600;">void</span> drawVerticalGauge(<span style="color: #996600;">int</span> <span style="color: #996600;">height</span>){<span style="color: #777755;">
// height
</span><span style="color: #777755;">// 0=Bottom -&gt; 8=Top (filled in from bottom to top)</span>

softSerial.<span style="color: #996600;">print</span>(0xFE, <span style="color: #cc0000;">BYTE</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #cc0000;">"V"</span>);
softSerial.<span style="color: #996600;">print</span>(<span style="color: #996600;">height</span>);

}</pre>
</div>
<div><span style="font-weight: bold;">Bonus Project</span></div>
<div>
<p>It&#8217;s simple, but I hacked together a power supply for the Arduino, which gets power from USB or a coaxial input from a transformer. I wanted to only run one brick, wall wart, so I hacked a USB cable. There are 4 wires in the USB cable (from <a href="http://pinouts.ru/Slots/USB_pinout.shtml">pinouts.ru</a>):</p>
</div>
<table style="font-size: 10pt; border-collapse: collapse; border-color: black;" border="1" cellspacing="0" cellpadding="3" width="50%">
<tbody style="font-size: 10pt;">
<tr style="font-size: 10pt;">
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">1</td>
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">VCC</td>
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">Red</td>
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">+5 VDC</td>
</tr>
<tr style="font-size: 10pt;">
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">2</td>
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">D-</td>
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">White</td>
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">Data -</td>
</tr>
<tr style="font-size: 10pt;">
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">3</td>
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">D+</td>
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">Green</td>
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">Data +</td>
</tr>
<tr style="font-size: 10pt;">
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">4</td>
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">GND</td>
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">Black</td>
<td style="font-size: 10pt; padding-top: 5px; padding-bottom: 5px; border-color: #808080;">Ground</td>
</tr>
</tbody>
</table>
<div>The IO-204 has a regulated 5VDC and ground (up to 1A &#8211; 4A total draw depending on supply) on each channel, so using a terminal strip, I connected the VCC and GND to a cut in half USB cable.</div>
<p><a href="http://www.iamshadowlord.com/uploaded_images/Arduino-USB-Power-Cable-798046.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 347px; height: 400px;" src="http://www.iamshadowlord.com/uploaded_images/Arduino-USB-Power-Cable-798028.jpg" border="0" alt="" /></a></p>
<div>It&#8217;s magic &#8211; look ma, only one power source.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2009/06/internet-enabled-message-center.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iTurn &#8211; iPhone and iPod Touch Hack</title>
		<link>http://iamshadowlord.com/2008/12/iturn-iphone-and-ipod-touch-hack.html</link>
		<comments>http://iamshadowlord.com/2008/12/iturn-iphone-and-ipod-touch-hack.html#comments</comments>
		<pubDate>Fri, 26 Dec 2008 07:30:00 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[servo]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=18</guid>
		<description><![CDATA[Since my toaster has been on the Internet Twittering my toasting habits, I have been flooded with email asking what I was going to do next. To be fair, most of the email suggested that I had too much time on my hands. My mom got me an iPod Touch for Christmas (she gave it [...]]]></description>
			<content:encoded><![CDATA[<p>Since my <a href="http://www.iamshadowlord.com/2008/12/social-networking-for-my-toaster.html">toaster</a> has been on the Internet <a href="http://www.twitter.com/mytoaster">Twittering</a> my toasting habits, I have been flooded with email asking what I was going to do next. To be fair, most of the email suggested that I had too much time on my hands. My mom got me an iPod Touch for Christmas (she gave it to me a few days early). I have not had the thing out of my sight since she surprised me with a wonderful gift. She also gave me Batman which I transfered to the iPod. I turned the screen about 44 times a minute while watching The Joker and The Dark Knight try to out smart each other. This got me thinking, &#8220;Could I control a motor with the movement of the iPod?&#8221; I had my next hack.</p>
<p>The iPhone or iPod Touch has an accelerometer that detects how the device is oriented. As the devices moves off axis (from straight up and down) the screen rotates. I want to use that feedback to control the position of a motor or servo or cause specific events to happen depending on the device&#8217;s position.</p>
<p>Taking the <a href="http://www.iobridge.com/store">ioBridge IO-204 module</a>, I connected the servo controller and a servo to one of the channels. On the servo I taped a Best Western hotel pen to show the movement of the servo. I found from hours of testing that the Best Western worked the &#8220;Best&#8221; and Hampton Inn worked slightly worse.</p>
<p><a href="http://www.iamshadowlord.com/uploaded_images/iTurn-Setup.jpg"><img style="margin: 0px auto 10px; display: block; width: 400px; height: 317px; text-align: center;" src="http://www.iamshadowlord.com/uploaded_images/iTurn-Setup-706413.jpg" border="0" alt="iTurn setup" /></a></p>
<p>On the ioBridge website, I created 3 widgets that corresponded with the orientation of the iPod. &#8220;Left&#8221; for when tilted towards the left, &#8220;Right&#8221; when I turned right, and &#8220;Forward&#8221; when I was holding the iPod normally (straight up and down).</p>
<p><img style="margin: 0px auto 10px; display: block; width: 145px; height: 90px; text-align: center;" src="http://www.iamshadowlord.com/uploaded_images/iTurn-Screen-756686.jpg" border="0" alt="iTurn Widgets and Screen Shot" /></p>
<p><span style="color: #ff0000;">Warning: The next part involves some light programming.</span> I made a quick HTML file with some JavaScript that detected the orientation of the iPod and called the appropriate widget. The orientation code is below for those of you that are interested in trying this for yourself:</p>
<p><span style="font-family: courier new;"> </span></p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:580px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">function</span> updateOrientation<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #000066; font-weight: bold;">switch</span><span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">orientation</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
<span style="color: #000066; font-weight: bold;">case</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">:</span> widgetExecute<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Upright Widget ID&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">case</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">90</span><span style="color: #339933;">:</span> widgetExecute<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Right Widget ID&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">case</span> <span style="color: #CC0000;">90</span><span style="color: #339933;">:</span> widgetExecute<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Left Widget ID&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #009900;">&#125;</span></div></div>
<p><span class="Apple-style-span" style="font-family: arial;">Load up the completed HTML file on your iPhone or iPod Touch and now you can control a servo with the turning of your iPhone. I call it &#8220;iTurn&#8221; (didn&#8217;t see that one coming, did you?).</span></p>
<p><span class="Apple-style-span" style="font-family: arial;">Here is a </span><a href="http://www.youtube.com/watch?v=KI8siN6EIZ8"><span class="Apple-style-span" style="font-family: arial;">YouTube video</span></a><span class="Apple-style-span" style="font-family: arial;"> of the iTurn project:</span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/KI8siN6EIZ8&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/KI8siN6EIZ8&amp;hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2008/12/iturn-iphone-and-ipod-touch-hack.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Social Networking for My Toaster</title>
		<link>http://iamshadowlord.com/2008/12/social-networking-for-my-toaster.html</link>
		<comments>http://iamshadowlord.com/2008/12/social-networking-for-my-toaster.html#comments</comments>
		<pubDate>Mon, 08 Dec 2008 02:53:00 +0000</pubDate>
		<dc:creator>Hans</dc:creator>
				<category><![CDATA[MyToaster]]></category>
		<category><![CDATA[i/o]]></category>
		<category><![CDATA[input/output]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[my toaster]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[ubernote]]></category>

		<guid isPermaLink="false">http://iamshadowlord.com/?p=16</guid>
		<description><![CDATA[My Toaster Twitters That statement sounds odd. Well, let me explain. My friends would describe me as the kind of person that has a lot of time on their hands. They would be right. That time is never put to productive use, but over Thanksgiving I got the gumption to start a new project. Sometimes, [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight: bold; font-size: 130%;">My Toaster Twitters</span></p>
<p>That statement sounds odd. Well, let me explain. My friends would describe me as the kind of person that has a lot of time on their hands. They would be right. That time is never put to productive use, but over Thanksgiving I got the gumption to start a new project. Sometimes, I start little servo, robotic, web-based projects for my own gratification, but I get fed up with all of the time I invest just so I can impress my 3 friends that also have nothing do to over the holidays.</p>
<p>My friend Jason Winters has been working on an module that simplifies the connecting of projects to the internet. He sent me one of his <a href="http://www.iobridge.com/store">ioBridge modules</a> to beta test and my mind started spinning. My goal this Thanksgiving was to think of a crazy project that would be the most senseless thing someone has ever heard of before.</p>
<p><span style="font-weight: bold; font-size: 130%;">Again, My Toaster Twitters&#8230;</span></p>
<p>Twitter is a social networking site that allows you to tell the world your current status &#8211; kind of like a microscopic blog that gets to the point. You can write, &#8220;Hans is going to lunch&#8221; or &#8220;Hans is tired&#8221;, etc. It&#8217;s fun to follow people and see what they can do creatively with just a few characters of updates.</p>
<p>I use my toaster when I am home and I thought that the world may want to know when I&#8217;m toasting.</p>
<div style="text-align: center;"><a href="http://www.twitter.com/mytoaster" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0px auto 10px; display: block; width: 320px; cursor: pointer; height: 202px; text-align: center;" src="http://www.iamshadowlord.com/uploaded_images/TwitterScreenShot2-789014.jpg" border="0" alt="" /></a></div>
<div style="text-align: center;"><a href="http://www.twitter.com/mytoaster">twitter.com/mytoaster</a><br />
<span style="font-weight: bold; font-size: 130%;"><br />
</span></p>
<div style="text-align: center;">
<div style="text-align: left;"><span style="font-weight: bold; font-size: 130%;">How do you make a toaster twitter?</span></div>
<div style="text-align: left;">I grabbed my old bagel / toast toaster and glued a switch to the outside, so when the slider gets pressed down it triggers the switch and when it pops up, the switch opens (couldn&#8217;t be any more binary then that).</div>
<p><a href="http://www.iamshadowlord.com/uploaded_images/ToastingPosition-760353.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0px auto 10px; display: block; width: 320px; cursor: pointer; height: 240px; text-align: center;" src="http://www.iamshadowlord.com/uploaded_images/ToastingPosition-760344.jpg" border="0" alt="" /></a></p>
<div style="text-align: left;">The ioBridge module has a digital input that I can hook the switch up to and monitor that state of toasting or not. Using a terminal board, a pull up resistor (1k), and some alligator clips, I hooked up the resistor from the digital input to the +5v source from the module, and clipped my clips on the resistor and the ground. A few pictures are worth more than my description.</div>
<p><a href="http://www.iamshadowlord.com/uploaded_images/HookupCloseUp-775018.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0px auto 10px; display: block; width: 320px; cursor: pointer; height: 240px; text-align: center;" src="http://www.iamshadowlord.com/uploaded_images/HookupCloseUp-775005.jpg" border="0" alt="" /></a><br />
<a href="http://www.iamshadowlord.com/uploaded_images/ModuleHookup-767522.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0px auto 10px; display: block; width: 320px; cursor: pointer; height: 240px; text-align: center;" src="http://www.iamshadowlord.com/uploaded_images/ModuleHookup-767487.jpg" border="0" alt="" /></a></p>
<div style="text-align: left;">Here is the whole system hooked together:</div>
<p><a href="http://www.iamshadowlord.com/uploaded_images/TwitterToasterSystem-721772.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0px auto 10px; display: block; width: 320px; cursor: pointer; height: 260px; text-align: center;" src="http://www.iamshadowlord.com/uploaded_images/TwitterToasterSystem-721764.jpg" border="0" alt="" /></a></p>
<div style="text-align: left;"><span style="font-size: 130%;"><span style="font-weight: bold;">The Web Stuff</span></span></div>
<div style="text-align: left;">Using the ioBridge website, I created an event widget that monitors the input state of that particular digital input. And when the input is &#8220;high&#8221;, the site sends an email to any address of my liking. And the same for the &#8220;low&#8221; state. I chose my <a href="http://www.twittermail.com/" target="_blank">Twitter Mail</a> address, but really could of hit any social network, email by blog, or even UberNote.</div>
<div style="text-align: center;"><a href="http://www.twitter.com/mytoaster" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0px auto 10px; display: block; width: 320px; cursor: pointer; height: 202px; text-align: center;" src="http://www.iamshadowlord.com/uploaded_images/TwitterScreenShot2-789014.jpg" border="0" alt="" /></a></div>
<div style="text-align: left;">Follow My Toaster on Twitter at <a href="http://www.twitter.com/mytoaster">twitter.com/mytoaster</a>. I think I proved empirically that I have too much time on my hands.</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://iamshadowlord.com/2008/12/social-networking-for-my-toaster.html/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
	</channel>
</rss>

