Architecture - ONEARMY/project-kamp-weather-station GitHub Wiki
Multi-node architecture
By having multiple nodes, we can average some of the data and see which area is best for a task. (Wind turbine, farm)
Parrent/Child vs decentralized
So we have multiple ways to create the system:
- Store the data locally on each node (difficult and time-consuming)
- Store the data on a "Parrent node" or "Base node" (good for low power) The best way (in our case) is to use a base node with a more powerful microcontroller/computer and no power limitations.
Communications
There are a couple of ways to communicate with the nodes:
- WiFi
- Built-in for ESP microcontrollers (or use an external ESP01 module via serial)
- only possible if the nodes are in close range within each other
- RF (2.4 GHz) This is a low range communication module (NRF24L01)
- Same frequency as wifi
- Simpler protocol can give more range (0-1500m max)
- LoRa (868 MHz) (Ebyte E32-868T30D)
- low power (around 200mA when sending data and around 25mA for receiving data)
- long-range (1500 - 4000m) method to send data between modules
Child-Parrent communication
LoRa is the most attractive method to communicate between the child and parent nodes. The module specified above uses a package buffer size of 512 bytes, divided into frames of 58 bytes. And one frame is probably big enough to fit all the data (in string format).
Parrent-User communication
We propose to use a web-based system to show all of the data to the end-user in graphs and roses. But this is still open for debate.