I've slowly been able to expand my home lab to include the type of equipment that allows me to continually improve my technical skills as well as experiment with home automation and DIY electronics. As my home lab has grown so has the need to ensure it's kept healthy. One way to ensure it stays healthy is to make sure it's got a nice comfortable habitat in which to work and live.
My first feeble attempt to monitor the environment where I keep my server rack was to buy a cheap-o temp and humidity meter from eBay. It worked in so much as I could tell what the temperature and humidity was if I bothered to go down to the basement and look. I'm lazy, heck I have IP KVMs so I don't have to go downstairs to reboot a server, I'm not going to go down there to check the environmental conditions. Something better had to be implemented....
I started looking for environmental monitors/sensors on eBay thinking I could pick something up cheap from one of the numerous companies that sell used computer equipment. Data centers are always upgrading such things and I was confident I'd get something to meet my needs for less than $100USD. Wow, I was ever so wrong. I found some things around the $100USD range but they typically required other pieces or sensors that costs as much or more. This was starting to suck.
Not sure why it took so long, but I finally remembered I had purchased a temperature and humidity sensor from AdaFruit.com many months back for a project I hadn't completed. I also remembered I had an Ethernet shield and I always have a few Arduinos on hand. I had struck gold, I'll build my on networked environmental sensor and I can do it for FREE (as I already owned all the pieces).
Thanks to AdaFruit.com's learning site, I was able to get my DHT22 temperature and humidity sensor working in just a few minutes but I needed some way to get to the data remotely over the network. I hooked up my Ethernet shield and started messing about with building a HTTP client and after a bit realized there had to be someone who had done this already. I found this article which leveraged the Ethernet shield to log the data to a cloud service which had a nice user interface for making sense of the data points I was capturing. Exosite was going to be a great, no fantastic solution! I downloaded the Arduino library for Exosite and I was done in about 30 minutes.
This is why I love Arduinos and the community of Arduino users. I was able to build an environmental sensor that was networked, captured historical data points and even has alerting features (via email) in about an hour and for about $75USD in parts.
Check out my Exosite portal here.
Now I've just got find a nice way to mount this in my rack and add a display for local viewing of the temperature and humidity for those times I actually am standing in front of the rack. But I'll save that for another post....
My example code and high resolution pictures can be downloaded below.
I've had many a project lately that needed to use batteries rather than being powered from the mains. I've been reading lots lately about saving power in AVR chips and general concepts for power conservation in my projects. It's made me a better engineer in general and I think all my future projects will benefit from the knowledge regardless of their power source. During all my research I did stumble upon this article that I thought would be useful to the masses and thought I'd share it with everyone.