I finally had a chance to finish up my phone controlled plant watering device that I started at the December Home Automation AT&T Hackathon. The device is built on a Raspberry Pi platform (Raspbian) with a hacked USB WIFI dongle, H-bridge pump driver board,
DC motor pump, and a power circuit for handling both the Pi and pump drive. Three LEDs are mounted along the right side of the device to show power, internet connectivity, and whether or not the pump is running ( in this case-the plant is being watered).
Once the plant watering device is connected to the internet (WIFI), a
Node.js process starts and subscribes to a private
Pubnub (device) channel and awaits commands.
The device is controlled from a basic iPhone app, which allows the user to choose how long to water and shows a realtime progress indicator of the run. Once the "start" button is clicked, the selected # of seconds to run is sent to the pubnub (device) channel. Upon receiving the start request, the device sends back an acknowledgment to the pubnub (app) channel and begins a runtime loop until the specified number of seconds have passed. For each iteration of the runtime loop (each second), the device sends a status message to the pubnub (app) channel. When the app receives a status message it either updates the progress indicator or if the run has completed, resets the user interface for the next run.
The plant watering device was built using: