The screenshot above shows GarageBot, my internet connected garage door opener prototype.
It is a small uClinux-based device in the garage. It has inputs that connect to sensors to detect whether the garage doors are opened or closed and it has outputs connected to the garage door openers to permit GarageBot to close the doors.
In my case, each garage door has a switch that connects to the opener. The GarageBot closer outputs are wired in parallel with these switches to essentually emulate the behavior when a person presses these manual open/close buttons.
It is a small box mounted on the wall in the garage as shown at right. Unlike a full PC, it has no hard drives and draws very little power. There is no screen or keyboard. All interaction is via the net. Plug it in and it boots and starts doing its thing. You don’t need to think about it. I added LEDs to provide some indication that the device was running.
GarageBot also has an iPhone app:
It has run for several years now with no hardware failures, 24 hours a day, 7 days a week, in the cold and heat extremes of my garage. I will be curious to see how long it will actually last. This kind of embedded hardware is designed to last for many years. There is no hard drive to fail and it is very low power and low heat, so we’ll see.
GarageBot is programmed to automatically close a door after a configured amount of time. Your garage door will never stay open all night. If you forget to close the door, GarageBot will close it for you after the configured amount of time.
Since GarageBot is connected to the net, it can also be controlled from a remote host. In my case, I have GarageBot close the doors after one hour during the day, and after five minutes after 10pm. I sometimes seem to get stray radio signals that cause a door to open. With GarageBot, the door shuts after a few minutes if one of these stray signals occurs in the middle of the night.
The most recent hack is that GarageBot now has its own Twitter account and sends updates when the doors open and close. UPDATE: This feature requires the use of the SuperTweet.net Basic Auth proxy API
GarageBot is built using the uCsimm with some glue hardware to interface to the garage door openers and the door state detection sensors. GarageBot runs uClinux. The uCsimm is also the basis for the general UclinuxEmbeddedPlatform I developed at EarthLink R&D and the GarageBot uses the same uClinux OS development platform.