Simple, local IoT system for monitoring a home garden.
A pre-configured IoT stack for garden montioring. Includes two Heltec LoRa 32 edge micro-controllers serving as the Garden Node and the IoT Gateway. The backend system is dockerized and continuously ingests metrics from the edge microcontrollers via MQTT, processes it through a Node-RED gateway, stores the data in a InfluxDB, and provisions a Grafana dashboard.
- Heltec ESP32 (WiFi/LoRa 32 series)
- Waterproof Capacitive Soil Moisture Sensors (x2)
- Solar Panel & Li-Ion Battery
- Here is the datasheet for the Heltec LoRa 32.
- Used a voltage divider to limit maximum threshold for the PV panel
- Integrated the
- Clone the repo:
git clone https://github.com/yourusername/GardenMonitor.git cd GardenMonitor/ - Open Arduino IDE and connect the microcontroller which will serve as the edge node.
- Follow the instructions here to install the required packages:
- Open ./garden-node/garden_node/garden_node.ino
- Flash the file onto the first board and connect external circuits.
- Open ./gateway-node/gatway_node/gateway_node.ino
- Update the Wi-Fi SSID, Password, and MQTT Broker IP in your sketch.
- Flash the file onto the second board.
- Launch the MQTT Broker, Node-RED, InfluxDB, and Grafana in the background.
cd backend
docker compose up -dErich Choudhury
- 0.1
- Initial Release
Inspiration, code snippets, etc.
