How about build a weather station with Beaglebone Black and Node.JS?

I’m able to get some sensor data with Beaglebone Black by the help of Adafruit-Raspberry-Pi-Python-Code on my HMC6352 and HTU21D driver, but what’s next?

Sep 2014: Merging the application with the new OpenPythonSensor driver library, and deploy all the software (MongoDB, Sensor data gather and save with Python, Backend/Frontend application with Node.JS) on a single Beaglebone Black board.


By pushing the sensor data (Temperature, Humidity, Pressure, UVIndex) into a database, an internet front-end application is able to pull and display the data to the users.

Screenshot with plot


Embedded solution: A Beaglebone Black (Ubuntu) with HTU21D (Temperature / Humidity), BMP180(Temperature / Pressure) and SI1145 (Proximity/UV/Ambient Light) sensor. A Python script driven software measures the environment data and push data set to database (MongoDB).

Internet based front-end / back-end solution: Node.JS with Express and Mongoose. Back-end Node.JS code to query the database and send to front-end Angular JS function by AJAX. Supported by jQuery, Bootstrap and Chart.JS.

Screenshot with data


Demo is available at here. Code is shared under MIT License and can be accessed here on Github.

3 thoughts on “How about build a weather station with Beaglebone Black and Node.JS?

  1. chrigui says:

    very nice project thank you for sharing! is it possible to extend the web app to be able to communicate with Zigbee sensors and relays ?

    • These library/driver were not capable for Arduino. But there are still driver support for these sensors with Arduino, and one can use a WiFi board (like CC3000 Wifi Shield) to push data into a x86/arm based front-end host.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.