A client and server python application to enable monitoring of plants through a raspberry pi-powered sensor suite.
UI is powered through Streamlit hosted on the local network on port 8501.
- Raspberry Pi (tested on a 3B+ running Raspbian OS Lite on Debian Bullseye)
- Grove Base HAT for Raspberry Pi Zero
- Grove DHT11 Temperature and Humidity Sensor
- Plugged into port labelled A0
- Grove Capacitive Moisture Sensor
- Plugged into port labelled PWM
- Grove DHT11 Temperature and Humidity Sensor
- Raspberry Pi (server) with Python installed and additional hardware attached
- SMB share configured to enable file sharing over a network
- Secondary machine (client) with Anaconda installed and an env created from the environment file
n.b. It may be possible to run both server and client code on a single device such as a Raspberry Pi 4.
- Clone this repository to both the server and client machines
- On the server start
plant_log.py
- This start the sensor logging
- On the client start
plant_watch.py
- This starts the streamlit UI on http://localhost:8501
- Load historical data for configured sensors
- Display most up to date data
- Dynamic update of relavant tables
- Dynamic update of relevant chart
- Detct time since last watering
- Some % change in the moisture level
- Estimate time till next watering is required
- Some threshold % of moisture
- Display most up to date information from sensors