Sensitive Buildings: Temperature Sensor Network · Sunday October 23, 2011
The fifth assignment for Sensitive Buildings has the class creating our first fully realized wireless sensor network using xBees and the LM335 temperature sensor. This exercise does not use an Arduino. The project was taken from chapter 5 of Rob's book.
Create a wireless sensor network to measure the temperature at various locations throughout my building.
Once my two router xBees were configured and wired up with their LM335 temperature sensors, it was simply a matter of turning everything on and starting the example Processing sketch. The routers joined the network and began sending data at one second intervals to my xBee coordinator. The Processing sketch presents a visual thermometer for each of the sensors in a given network.
For some reason the temperature sensors are reporting very low temperatures, between -6 and -11 degrees Celsius, basically somewhere in the teens and 20s in Fahrenheit. My store bought digital thermometer was reporting in the low to mid 60s. I'm really not sure why I'm getting temperatures so far below what I should be. I double checked my resistor values, and I think they are all within the appropriate range. It could be that I wasn't using the decoupling capacitors in my circuit. I just didn't have any at my fingertips, and thought I'd be able to pick something up at Radio Shack, but couldn't find what I needed. I'll have to order some, drop them in, and report back.
Video of me testing the temperature sensor network.
xBees communicate using the xBee API protocol. The last two assignments have had us working with xBee data frames directly. My head starts to spin when I see this information coming in over the serial port. Rob's book thoroughly details how to dissect the data and get what you need from it. But the process involves converting bytes to hex, and then manually looking up the hex values in a table. It's not my idea of fun.
So with this in mind, I've started working on some xBee API frame analyzer software that captures the data as it comes in, stores it, and allows you to click through the frames one at a time. The information is converted from it's native format into something much more human friendly, like English and decimal based values. I still have several features I'd like to implement, and there are plently of bugs yet to squash, but so far so good. And the best part about building something like this is that you get a far better understanding of the data itself. Maybe by the time I'm done I won't even need this tool? Yeah, that's not very likely. The application, which I'm calling Drone, is written in Real Studio. When it's a little further along I'll make it available to download.