Update 2014-11-04: We're calling these prototypes Sensor Pipes because they pipe data from a sensor to a place of your choosing. Read more about the proposed Open Pipe Kit here
Lately a small team of us here in Somerville, MA has been working on integrating additional sensors with the Raspberry Pi based Fido. With assistance from Mathew Lippencott and Eugene Ruenger, we have taken on the mission to harvest DustTrak II data remotely for the sake of later having the ability to test other DIY air quality sensors against the data set generated by the coveted DustTrak II. Originally Fido has been a simple temperature alarm but combined with the power of the the all-purpose environmental data tracking database known as Hive, we produced our first prototypes.
To get data from the DustTrack II, Don Blair with remote help from Crag Versek and Ben Gamari hacked into the analog output of the DustTrack II using an Arduino Uno to send readings via serial messages over USB to the Fido. The team spent a couple of hours learning that, depending on the power supply provided to the Fido, this can effect the Arduino's ability to read analog signals reliably. Analog readings would jump wildly until Craig Versek @cversek pointed out that we may be learning our first analog lesson (see his comment in the comments below). As soon as we plugged the Fido's USB power source into a MacBook Air's USB port the readings started to match the readings from the DustTrak's interface. Amazingly enough, when we plugged the Fido into the USB power supply from the DustTrak, we also saw steady values! +1 for DustTrak II.
On the data collection side, R.J. Steinert installed the Hive software on Fido so that Fido could now have some experimental data storage capabilities. Hive provides APIs for describing things like Device Nodes, what Sensors are attached to those Nodes, sensor data storage/retrieval, and an API for retrieving hourly averages of sensor data. In most cases, such as on farms, there are many remote Nodes (often the Bee board from Apitronics) sending data to a Hive, but for Fido with Hive on it, the Hive database acts as a "Single Node Hive". To facilitate the connection between the Arduino sending data over serial and the Hive hosted on the Fido, R.J. Steinert wrote a Fido driver to integrate the two. Because Hive on Fido is a new concept, it was a learning experience in how to make it easier to write Fido drivers that integrate with Single Node Hives.
With help from server wizard pirate Stefan Unterhauser, the team had a home for Fido to send the data home to on the Internet. Fido was configured to send data to a server known as Hammock on his Treehouse architecture, a super powered virtual machine with the abilities to carry dozens of Docker containers, one special for this project, a CouchDB which now acts as the home for the data from the two DustTrak Fidos. CouchDB is an amazingly "relaxing" database that makes syncing databases in near real time incredibly easy, it's also the what the Hive database software is built on.
With some old VHS cases Don Blair hacked together two cases to house the Fido and Arduino Uno boards. Now they are off to Wisconson to find a new home tracking dust. The team here in Somerville will have remote command line access when the Fido units connect to the Internet and we'll also receive text messages when our prototypes turn on and off. Good luck young Fidos!
Data online from the Hive database on the Hammock server
Find the various code examples over at the Open-EIE Github account