10 July 2009
I recently discovered IOBridge’s IO-204 and instantly knew I needed one. I went ahead and bought the device as well as several of their accessory boards. Once everything arrived I started tinkering and was amazed with how easy it was to connect DIY projects to the web.
Now if only I had a project to use it with.
Luckily, one of my graduate courses on computer communications required a research paper on a "communications based" project. After some brain storming I settled on a project title of "Feasibility Study of Home Automation via Social Networks".
The project was inspired by many other Twittering household devices.
The one thing lacking in most of these devices was 2-way communication between Twitter and the device. In all of the examples I could find the device is sending an update to Twitter but is never performing an action based on a Twitter message.
With http://twitter.com/MattsOffice you can send a command by placing a keyword in a @reply message. Valid keywords are "light", "bright", "dark", "temp", "hot", "cold", "lcd", and "view". For example, to retrieve the temperature of my office I just need to update my Twitter status with a simple question like “@MattsOffice What is the temperature?”. Here are some more examples:
“@MattsOffice How cold is it?” – replies with the current temperature
“@MattsOffice How bright is it?” – replies with the current ambient light reading
“@MattsOffice lcd test message” – outputs “test message” to my LCD sitting on my desk
“@MattsOffice What is the view from your office look like?” – uploads a picture taken from my office window to TwitPic.com
Multiple commands can be posted together:
“@MattsOffice temp bright view” – replies with the current temperature, brightness, and post a picture
I can also turn off or on my desk light by updating my status with “@MattsOffice light on” or “@MattsOffice light off”. To prevent my light from turning off when I don’t want it to be off I have disable this feature for everyone but myself (i.e. it only works if @xzolian ask to turn the light on or off).
The project code is pretty simple, just 2 PHP scripts that are ran periodically via a CRON job. The first script routinely updates the @MattsOffice Twitter feed with the current temperature and light intensity. The second script parses the Twitter feed and performs an action if the necessary command has been detected.
Update: 07/15/2009 Project has been completed, see the demo video above.
The twittering toaster went on to inspire Matthew Morey, an engineer at Texas Instruments, to create his own twittering appliances. In less than a month, Morey found a way to get the temperature and lighting of his single-family home in Houston on Twitter. A typical post from those sensors reads: Temperature = 82.5°F / Ambient Light = 901. Morey can also send commands to his appliances via Twitter. Doing that is as easy as sending a reply with words such '@MattsOffice light on' or '@MattsOffice light off' to turn on or off the light at his desk.
Update: 10/01/2009 @MattsOffice has been taken off the interwebs due to my recent move, no plans for it to come back online at this time.