Environmental sensor

From HeepyWiki
Revision as of 22:37, 19 November 2018 by Morris (talk | contribs)
Jump to navigation Jump to search

This is a small, lower power environment sensor based on Bosch's BME280 sensor, STM32L062 MCU, and Nordic NRF24L01+ short-range 2.4GHz radio. Multiple sensor boards transmit periodic readings to a local relay unit which packages received metrics and forwards them via TCP/IP to a data collection system via Wifi. The radio-to-internet relay is based on the ESP32 platform and uses both a NRF24L01+ radio and the ESP32's onboard Wifi.

Telemetry includes:

  • Battery voltage
  • Temperature
  • Relative Humidity
  • Barometric Pressure
  • Number of retransmits needed for previous transmission to be acknowledged

There is a configuration utility that can be flashed before installing the operating code which allows configuration of:

  • battery measurement voltage divider coefficient
  • unique unit identifier string
  • telemetry transmission interval
  • radio target address and channel number
  • radio retry limit and interval
  • radio link mode (nrf24 bandwidth)

The goal of the sensor board design was reliability and long-term unattended operation. In standard configuration metrics are sent around every 30 seconds, and when sleeping between readings it draws single-digit microamps. Energy consumption is dominated by the radio's current draw while transmitting, so to some degree it depends on the local RF environment and how often retransmits are necessary, but this can be offset by limiting the maximum retry count or using a different nrf24 bandwidth mode.