The Arduino. As you can see, it's still in a prototype state. You can see the LCD shield on top of the Arduino Uno R2. Shields are nice for learning, but if I were to do it again (and I will!) I would use wired components. That gives more flexibility in the pin connections and allows you to get exactly what you want. The LCD shield also has five push buttons that I have programmed to scroll through the display and to mark events. Two events are "start fire" and "feed fire".
The microcontroller code reads one sensor per second through an interrupt. At first the code read all sensors at once, but this
led to timing problems with the digital sensors and locked up the controller so I it wouldn't read key presses. The interrupt wakes up every second and reads the next sensor. This results in very minimal overhead, and keeps the push buttons responsive.
You can see the Ethernet module at the top of the picture. Every minute, temperature information is sent to a site. It's just a simple HTTP GET that looks like this:
http://mysite.com/send_temps.php?s=e6:125.1,d4:47.5,07:69.1
Except that there are 15 sensor pairs. The hex to the left of the colon is the id of the sensor and the rest is the temperature in Fahrenheit. If there's been an event within the past minute, it will be appended to the query string:
http://mysite.com/send_temps.php?s=e6:125.1,d4:47.5,07:69.1&e=feed_fire
A simple PHP program connects to the database and inserts the temperature readings and, optionally, the event.
The MySQL database has a table that maps the sensor ids to the cable tag.
There's no security on that site right now, but that'll change soon. Too many script kiddies with nothing better to do. I'll probably use a REST interface with a POST and some kind of authentication key depending on how much I want to protect the site.