Overview

The Bosch BME680 is a multi-parameter environmental sensor that measures temperature, humidity, barometric pressure, and gas resistance in a single package. For biodiversity monitoring, this combination provides a rich environmental profile — capturing the microclimate conditions that govern species distribution, pollinator activity, and phenological timing.

sensor-bme680 is a C implementation that reads BME680 sensors via I2C on the Raspberry Pi. It supports multiple sensors on the same bus and outputs JSON compatible with the WildlifeSystems sensor-control framework.

Measurements

Installation

Via the WildlifeSystems APT repository:

sudo apt update sudo apt install sensor-bme680

Or build from source:

make sudo make install

Usage

sensor-bme680 # read all measurements sensor-bme680 internal # internal sensors only sensor-bme680 external # external sensors only sensor-bme680 list # list available measurement types

Configuration

Configure sensors in /etc/ws/sensors/bme680.json:

[ { "address": "0x76", "internal": false } ]

Example Output

[ {"sensor":"bme680_temperature","measures":"temperature","unit":"Celsius","value":23.5,"internal":false}, {"sensor":"bme680_humidity","measures":"humidity","unit":"percentage","value":45.0,"internal":false}, {"sensor":"bme680_pressure","measures":"pressure","unit":"hPa","value":1013.25,"internal":false}, {"sensor":"bme680_gas","measures":"resistance","unit":"Ohms","value":50000.0,"internal":false} ]

Source Code

sensor-bme680 on GitHub →