I put together a 1-wire temperature sensor with a Arduino board with Ethernet Shield. Every 5 minutes, it posts the current temperature to Pachube.com. Since there is only outbound connections, it works with firewalls and NATs with not port forwarding. It also has DHCP as I find hard coding IP addresses sort of a pain. I used a DS18S20 temperature sensor.

You can find the software at: http://fluffyhome.googlecode.com/svn/trunk/arduino/PachubeClientWithDHCP.cpp

First you will need to install the DHCP library from: http://blog.jordanterrell.com/post/Arduino-DHCP-Library-Version-03.aspx

And then install the 1-wire library and Dallas Temperature Control library which are both found inside the the zip file at: http://milesburton.com/wiki/index.php?title=Dallas_Temperature_Control_Library#Download

At this point you need to have an account on Pachube and create a manual update feed. The first data stream will be used for the temperature. Next you need to go in to the PachubeClientWithDHCP.cpp file and edit the API KEY and feed ID to match yours. You don’t really need to change anything else. If you have other Arduino with fake MAC addresses, you might want to check this one does not conflict.

The 1-wire bus is connected to Digital IO pin 8 on the Arduino and pulled high to the 5v power with a 4K ohm resistor. Pin 1 of the DS18S20 is connected to ground, pin 2 to the 1-wire bus, and pin 3 to 5v power. (Yah, I know about parasitic power but I have power so I used it).

Compile and install the software, connect up the Ethernet, and start it. That’s about it.

Useful LInks:

http://www.pachube.com

http://milesburton.com/wiki/index.php?title=Dallas_Temperature_Control_Library#Download

http://arduino.cc/en/Main/ArduinoEthernetShield

http://arduino.cc/

http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2815

http://fluffyhome.googlecode.com/svn/trunk/arduino/PachubeClientWithDHCP.cpp

http://blog.jordanterrell.com/post/Arduino-DHCP-Library-Version-03.aspx