The system is designed to operate in one of three modes
- WiFi only: requests will go to a NodeJs webserver and are forwarded to nodes over WAN. All nodes must be connected to over WiFi
- Relay Server + LoRa: requests will go to a NodeJs server which will forward a master ESP Node which will forward to all other nodes over LoRa. Only the master and server need to be connected over Wifi
- ESP Access Point: The master ESP node creates a local WiFi network and runs a webserver for clients to connect to. All requests are forwarded over LoRa. No external network needed.
The server
directory contains an ExpressJs webserver
The dashboard
directory contains a React UI which interacts with the API server to display tiles for each active node. When you click on the tile, an API request is sent to the node.
docker-compose build
docker-compose up
To run in background and restart automatically:
docker-compose up -d
The sketch
directory contains the ESP node sketches:
DinoApLoRa
: access point node used for mode-3DinoServerLoRa
: master HTTP server node used in mode-2DinoNodeLoRa
: vanilla LoRa receiver node used mode-2 and mode-3DinoNodeMqtt
: MQTT connected node used in mode-1