A solar-powered node that stores energy in a supercapacitor, wakes-up regularly, measures different parameters, and sends them to a gateway.
Please visit hackaday.io to find more information about the project.
This is a firmware for the node. It uses MiniCore to be able to run ATmega328P with non-default quartz (4MHz).
In the platformio.ini you will find a few build flags:
Use it to print different debug information via UART0. Won't work properly when NODE_TRUE_SLEEP is define.
Without this flag, the node emulates deep sleep using the delay function (useful for testing purposes).
Used to debug different work stages of the node triggering pin N.
An optional flag for the Vcc library that measures supply voltage. Using it, calibration value can be loaded from the EEPROM.
Defines what sensor is used in the node. Supported options for now:
- SENSOR_HTU21D
- SENSOR_BME280=0x76 Where 0x76 represents the I2C address.
Options for RFM69 library. Node id, gateway id, network id. The encryption key is loaded by a different mechanism but also can be added here.
Contains a gateway firmware. It supports a regular ESP32 and WT32-ETH01 module (with Ethernet). A few notes about it:
- heavily uses FreeRTOS functionality
- fully interrupt driven (requires the latest changes in the RFM69 library, see the PR)
pre:../../env.py
is used to securely add sensitive information (WiFi SSID, different passwords, radio encryption key).