Tuesday, 3 January 2017

Sigfox Weather Station Grapher

A couple of months ago I attended a workshop on Sigfox, an IoT network provider. At the end of the session, we were generously given the development board we practiced on to continue our experimentations.

The Arduino-based SmartEverything board is loaded with sensors. One of the examples we played with was a simple weather station program that read temperature, pressure and humidity from the sensors and sent that every 10 minutes to the Sigfox network.

It was a nice little introduction, but checking out the result meant login onto the Sigfox backend and seeing the incoming messages as text in a list. I thought I'd try to present the same information in a more graphical way and hopefully make it fun to play with. Here is the result:

How does it work?

The SmartEverything board runs the weather station program. Weather messages are sent regularly to the Sigfox backend over their network.

A Raspberry Pi runs a simple Node.js server that:
  • serves the grapher webpage (HTML and scripts basically) to any browser visiting it
  • forwards to the Sigfox backend the AJAX calls made by the browser  
And finally, the user goes to the Raspberry Pi hosted webpage (which can be on a LAN at home or over the internet depending on how all this was set up/deployed), and the grapher should appear!

Where can I get it?

The whole project is hosted on github here: https://github.com/jbitoniau/sigfox-weather-station-grapher. You'll find all the information for setting it up there.