Android controlled cat feeder - Software

Overview

The software consists of three parts - the host side bGI script on the Linux box, the Arduino firmware, and the Android app. Each is described below.

Arduino code

On the Arduino is a simple sketch that simply takes commands from the serial port, and outputs the appropriate IR codes. The sketch uses two libraries. One is a command line interface that I wrote, and the other is Ken Shirriff's amazing Multi protocol infrared library. The CLI takes ascii commands, and then the IR library transmits the code to the Arduino port 3.

Web server code

My router runs lighttpd, a very lightweight httpd. I have a port opened to the world for it, and of course for security it runs nothing else (the internal admin server runs on a different port and daemon process). The CGI script is a simple bash script. All it does is open the Arduino serial port, and send a command to it, depending on the http query sting.

Android code

The Android app is a custom app I wrote. It took about 15 minutes to write, and it couldnt be simpler - when clicked, it simply makes the http request to my home IP. If the response is successful, it displays a message and stores the time so I can keep track of when Ash was fed.

For downloads, see Downloads.

I can be reached at bb @ cactii . net

Copyright © 2010.