Full Post, Videos: http://www.australianrobotics.com.au/wifiGmailRobot
A (Wireless) Physical Gmail Notifier
Having just received our first batch of WiShield 2.0's from AsyncLabs, I had to build something wireless! There are a few physical Gmail notifiers based on Arduino out there, but here is one that can be disconnected from your computer. It still needs a DC power supply for the Arduino, but it can be moved anywhere in the house as a lamp or small radio would. The robot body contains two servos more moving the arms and a spacious hollow interior for the Arduino WiShield.
The Gmail Robot being wireless in it's native surroundings. No computers required!
A PHP Script To Check Emails
Source Code: http://codetidy.com/306
As far as the hardware goes, the Gmail Notifier Robot is just two servos contained in a retro-looking body. The magic Happens inside where an Arduino and WiShield are able to wireless connect to the Australian Robotics servers and request some information. A PHP script sits on the server and will return the number of unread messages in my GMail account-- if there are some unread messages, move the robot arm! Why an intermediate PHP script? The IMAP capabilities of PHP make it very simple to connect to Gmail and access your mailboxes.
The servos being installed in the robot. Note the high tech organic composite materials used for superior strength and lightness.
The WiShield Sketch Based Off Of SimpleClient
Source Code: http://codetidy.com/307
The code is the SimpleClient example modified to connect to our own PHP server instead of the LAX Weather text file. The code then parses the raw data returned for the number of emails (the PHP serves it prefixed with a # for easy parsing!).
I like this design as it keeps the complicated IMAP code out of the Arduino, where you'd have to write it in a low-level C-ARduino language without APIs for email communication.
The Internal Workings of The Gmail Robot. The hardware consists of 2 Standard Servos, An Arduino Duemilanove and the WiShield 2.0. The code was developed on an Arduino Uno + WiShield 2.0, but when mounting the board permanently in the robot I chose an older Duemilanove uploaded with the same code (as to save hot gluing my brand new Arduino Uno!).
Human--- You have an email!!
Testing the servos on the robot body. I've created an adhoc servo tester using a potentiometer and an Arduino. Some breadboard jumper wires sitting around are useful for this type of thing!