I’ve managed to overcome the hardest part in my project, which was making an Arduino talk to my cell phone. In order to do that, I had to get an WiShield from Async Labs. Using their examples, I managed to create a Socket server that accepts phone events from the phone and actuates any sensor in the Arduino. On the phone, an event monitor was created, which listens for incoming calls. When an event that I’m interested occurs (in my case, ringing, missed call and new SMS), the phone application sends a message to the WiShield, which interprets what’s required and triggers the action on the Arduino board.
A question that got me thinking during my preparation for the demo was: “How do I get the Ambient Notifier to reset if I don’t want to call the person back?” Since there aren’t any switches, I resolved to capture the shaking movement on the phone, since it’s so popular for the undo and reset status on the iPhone.
Here you can find the source code for Arduino+WiShield side: Arduino Ambient Notifier
Here you can find the source code for Android side: Android Ambient Notifier
Here you can find my report: Ambient Notifier report
Here you can find my paper: Ambient Notifier paper
Here you can find a poster for my demo: Ambient Notifier poster
Here is a demo video of Ambient Notifier working: