A couple months ago, I finally got around to picking up an Arduino and an ethernet shield. These little development boards are a nice way of tinkering around with ATMega chips and to try your hand at writing lightweight C++ code for embedded systems.
I’ve always wanted to try programming on an embedded system; being able to run a small (really small!) computer off of a small pack of batteries is pretty cool! I also wanted to use ATMega chips along with a whole slew of sensors as part of my home automation project as a means to collect data from various rooms in the house without having to run more than a single network cable to a room.
Because I’m a cheap son-of-a-bitch, I bought not from a reputable retailer, but from your typical Chinese knockoff website with free shipping. On one hand, I’m really happy with my purchase, since the Arduino works as expected, and it cost me quite a bit less than SparkFun. On the other hand, I accidentally purchased an ethernet shield that was incompatible with the standard Ethernet libraries, and thus had essentially purchased a small, lightweight brick. No worry; I simply ordered one that worked with the library.
The goal with these Arduinos is to set up a small HTTP server on each one and connect a bunch of sensors, such as temperature, humidity, carbon monoxide, ambient light, and possibly others. A central server will poll the Arduinos for data at set periods of time, and then that data will be collected, aggregated, and analysed for the user to view. Ideally, this would eventually be used to tie into X10 (or similar) systems to help balance the temperature in rooms, turn off lights when people aren’t in rooms, or warn of deadly gases.
Now, if I ever get my ass in gear on this project, I might actually have something to show for it!