Getting iPhone push notifications from objects in your physical world is possible using an Arduino with an Ethernet Shield, a PHP-enabled web server and an iPhone app called Prowl. In this video, I show how to set up a mailbox so that it pings your phone when snail mail is delivered, but it’s very easy to adapt this project to whatever suits your needs.
Prowl is an iPhone app with the sole purpose of delivering push notifications to you from your computer via Growl or from online services with the API. In order to connect the Arduino to Prowl’s API, we need a PHP proxy server. This is because Prowl’s API requires an SSL connection, which the Arduino isn’t capable of making. Luckily, setting up the server is easy because all of the hard work has already been done by the fine people behind the ProwlPHP class. All you need to do is paste your Prowl API key into the example code and change the example text to the alert that you want to send. When your Arduino requests the URL of that example script from your web server, the alert is pushed to your phone almost instantaneously.
For the code on the Arduino, I simply adapted the WebClient example that’s included with the Arduino IDE. I changed the server address, the URL, and the basic structure of the code so that it requested our ProwlPHP script’s URL when it sensed a “high” signal from the switch. I also added serial output for debugging. You can check out the code I used for this project on Google Code or just download the Zip file.
There are a lot of great uses for this project. You could have push alerts delivered to your iPhone when you leave your garage door open, when someone opens your front gate, when the temperature drops below freezing, or when your home power usage exceeds a certain level. Whatever kind of switch or sensor you can hook up to your microprocessor can trigger a push alert. I’m eager to see how you decide to implement iPhone push alerts into your projects.
In the Maker Shed: