The sys admin's daily grind: SparkFun
Trouble in the Air
Is your neighbor burning the wrong kind of wood or did a couple of VWs just pass by your house? Charly finds out with a sensor. For an attractive approach to visualizing boring measurement figures, you can either use your own web server or rely on a specialized service like SparkFun.
I ordered a particulate matter sensor from smog-experienced China (Figure 1), connected it to a Raspberry Pi, and can now see with up-to-the-minute accuracy when a neighbor has a fire in their wood-burning stove and even tell if the wood was properly dried. I use RRDtool to create illustrative graphs from the particulate matter readings that I get once every minute and upload them to my web server [1].
I could even do without the web server, because number of services handle storage and visualization of measurement data for you, if so desired. One of them, SparkFun, lets you store your data simply with an HTTP call.
First, you have to register your project: Just click Create when you reach the website [2]. In the form, enter a title, a short description, and, most importantly, the names of the data fields you want to fill. In my case, I named them PM10 and PM2.5 for the number of dust particles below 10 micrometers (µm) or below 2.5µm in diameter. PM stands for particulate matter. Finally, you need to enter a web alias under which you will then view the collection of values later on.
Call the Locksmith
When you submit the form, you are given a public and a private key, both of which consist of random strings. You need these to transfer data to SparkFun via an HTTP call, which can be easily automated (use your keys without the angle brackets):
wget "http://data.sparkfun.com/input/ <RM736ga3vxHqMZ1qnMn2> ?private_key= <lzaG5qwG9EIVdGRvxvx> &pm10=$PPM10&pm25=$PPM25"
Then, add the line to a small script that reads the particulate matter values from the sensor once a minute.
I let 15 minutes pass and then called my SparkFun URL. The results were two neat rows of numbers – the transfer worked. To start the visualization, I then pressed the top-right button Export to Analog.io. On the next page, I then checked the values I wanted to display – pm10 and pm25 – and then finally pressed Load All in the top right-hand corner. After a pause for thought, the graph shown in Figure 2 appeared.
If you mouse over the graph, you can pick out some interesting data points. The lower, smaller graph is used for zooming. All in all, this method is a good alternative for people who occasionally find themselves out of breath, but do not want to run their own web server.
Charly Kuhnast
Charly Kuhnast manages Unix systems in a data center in the Lower Rhine region of Germany. His responsibilities include ensuring the security and availability of firewalls and the DMZ.
Infos
- Charly's "Particulate matter" page: http://kuehnast.com/fs/
- SparkFun: https://data.sparkfun.com
Buy this article as PDF
(incl. VAT)