v3_firmware/README.md

26 lines
1.6 KiB
Markdown
Raw Normal View History

2021-02-01 17:29:05 +00:00
# ATTNode v3 Firmware
2020-11-26 15:56:36 +00:00
2020-12-28 18:08:02 +00:00
## Documentation
**The full documentation for firmware options, payload decoders and programming can be found at [attno.de](https://www.attno.de/21-firmware-v3)**
## Configuration and Programming
2020-11-26 15:56:36 +00:00
2021-02-01 17:32:24 +00:00
This is the code repository for ATTNode v3 compatible firmware. At the moment it supports LoRa communication using OTAA and a BME280 or SHT21 sensor, as well as deep sleep between measurements.
2021-02-01 17:32:24 +00:00
The firmware is developed using [PlatformIO](https://platformio.org/). At least version 5.1.0 is needed for ATTiny3216 support.
2021-02-01 17:32:24 +00:00
To set the fuses for clock speed, BOD levels etc., use the "Set Fuses" operation in PlatformIO. This has to be done once for a "fresh" Node or when the Board Config in platformio.ini was changed. Afterwards it is enough to use the normal "Upload" function for Code or config.h changes.
2021-02-01 17:32:24 +00:00
Before programming a node, copy src/config.h.example to src/config.h and set the used sensor, LoRaWAN keys and other options as needed.
2021-02-01 17:29:05 +00:00
Programming is done using a [MicroUPDI Programmer](https://github.com/MCUdude/microUPDI), settings in platformio.ini are set to use it. For other pogrammer options see the PlatformIO Documentation
## Configuring via Downlink
It is possible to change the sending interval via Downlink-Packets at runtime. The time between Transmits is specified in minutes (or more exactly, 64 Second intervals) and has to be sent as a 2 byte value, which will be interpreted as an uint. so for example 0x0001 means 1 Minute, 0x0002 means 2 Minutes and so on. Sending 0xFFFF resets the value to the compiled in default.
## Acknowledgements
Parts of this code where kindly provided by [@shempe](https://twitter.com/shempe)