Universal Environmental Monitoring using the BeagleBone Black and IoT Sensors


Understanding the current state of a particular environment, as well as analyzing any trends occurring is fundamental in creating safe, healthy and productive conditions. Environmental monitoring is rapidly growing as sensors and software become widely available and cost effective. Applications areas include: Cold storage facilities, office buildings, factories, warehouses, greenhouses, farms, gardens, retail, hospitals, nursing homes, senior care facilities, server rooms and data centers, to name a few. Environment monitoring can help improve safety and yield while reducing costs. Common environmental properties monitored include: temperature, humidity, atmospheric pressure, air quality, CO2 and VOC levels, light, sound, moisture and more.

This article will show you how to quickly build a universal environmental monitoring solution that is both easy to get started and to extend as your needs grow.

A low-power, single board computer, BeagleBone is a preferred IoT platform for commercial and industrial environments. Sensors can be directly attached to it and can be left powered on for around the clock monitoring without the need for cooling. The board has integrated flash memory that can store the operating system, software and data without the need for external flash cards that can be lost or damaged. It also has a lot more I/Os than a typical single board computer making it easy to interface more sensors and peripherals directly via serial, I2C, SPI, GPIO, 1-wire and more.

This article shows you in six steps how to build a universal environmental solution to monitor:

  • Temperature
  • Relative Humidity
  • Barometric Pressure
  • Soil Moisture
  • Light


For your convenience, here is a link to a list of items you will need for this project:

Project parts list


STEP 1: Upgrade the BeagleBone software

If you are working with a new BeagleBone or one that hasn’t been upgraded in a while, follow the instructions here to upgrade the onboard flash image: Upgrading a BeagleBone

STEP 2: Install Machinechat’s JEDI One software

JEDI One by Machinechat will enable you to create professional dashboards, setup rules, actions and notifications (email and texts), and monitor key network resources from an easy to use, intuitive, web-based interface. Once you have purchased and downloaded the JEDI One BeagleBone image, install it by following the instructions here: Installing and running JEDI One on a BeagleBone

STEP 3: Connect the sensors to the BeagleBone

All three recommended sensors communicate using I2C, a simple serial interface. Each sensor has a unique address and all three will be connected to the BeagleBone in parallel. Pay particular attention to the soil moisture wire colors. Follow the table and diagram below:



STEP 4: Move the Python scripts into the plug-ins directory

Since the sensors are connected directly to the BeagleBone, we will use three simple Python scripts to enable JEDI One to collect the data from the attached sensors. Download the three Python script files listed at the end of the article into the plugins subdirectory in the directory where you installed JEDI One. Make sure you make them executable.Copy_plugins.png

STEP 5: Setup the three data collectors in JEDI One

Now let’s setup JEDI One to use these scripts to collect data:

STEP 6: Create a dashboard to display the sensor data

Dashboards are a great way to visualize your data. With JEDI One these are easy to set up so historical and current data can be viewed in one place:

Now you try setting up a chart for humidity and barometric pressure. Easy! You can extend this monitoring solution by adding other sensors such as:

  • VOC air quality sensors
  • CO2 air quality sensors
  • Ambient sound sensors
  • Intrusion detection sensors

You will also want to explore the many other features of JEDI One including rules, notifications, and monitoring. For additional help, review the information at: Machinechat Support. Drop us a line with any questions you may have.

Source code for custom plug-ins:

Was this article helpful?
0 out of 0 found this helpful