Reads from some number of water level sensors, periodically fills until a sensor is triggered. Configurable fill rate (mL/s), frequency (cron), and max fill amount. Should alert if the sensor doesn’t trigger after some amount of time (pump failure) or if backup sensors trigger (sensor failure). There may be an opportunity to use a variation on PID control logic.
Paired set of pumps that always run at the same rate. Configurable exchange rate (L/day) One pump adds fresh water, one removes old water.
Set of pumps that always run at different times. Configurable dose rate for each pump (mL/day) Each pump adds a specific additive. Eventually the dosing rate could be driven by an automated tester.
SSH into the rpi
ssh rpi
Build and install the server
cd ~/doser
git pull https://github.com/kerinin/doser.git
cd server/cmd/doser
go install
Install the service
sudo cp server/doser.service /lib/systemd/system/
sudo systemctl start doser.service
Restart the daemon and make sure it starts OK
sudo systemctl restart doser && sudo journalctl -u doser -f