Min vandmåler er baseret på Vattenmätning med Raspberry Pi och webkamera af
finkman
Jeg har lavet mine modifikationer, bl.a. genetableret mqtt og tilføjet at man kan justere de punkter, der søges efter, fra tastaturet.
Min modificerede udgave ligger på github
Jeg lægger blot water-meter under brugeren pi
cd ~
git clone https://github.com/leifnel/water-meter.git
For at kompilere programmet, kræves yderligere bibliotekspakker.
Adgang til framebuffer for at kunne se billedet fra fra kameraet på skærmen.
sudo apt-get install libsdl1.2-dev
Bliv ikke forbavset; installation af dette bibliotek udløser at 50 andre pakker også bliver installeret…
Biblotek til at sende data via mqtt
sudo apt-get install libmosquitto1 libmosquitto-dev
Data sendes via mqtt.
OBS: Dette er p.t. hardcodet i water-meter.c
; indstillingerne burde ligge i water.ini
Både topic og host er hardcodet.
Lokalt gemmes data i en rrd-database. Derfor:
sudo apt-get install rrdtool
Så skal programmet compileres
cd water-meter
make
Servicen startes af dette systemd-script: /lib/systemd/system/water-meter.service
[Unit]
Description=WaterMeter
After=network.target
StartLimitIntervalSec=100s
StartLimitBurst=10
[Service]
Type=simple
Restart=always
RestartSec=10
User=pi
ExecStart=/home/pi/water-meter/water-meter.cmd.sh
[Install]
WantedBy=multi-user.target
water.meter har disse options:
-di
vis kameraets billede med de aktive zoner--start-value <123>
sæt den interne tæller til hvad der vises på vandmåleren.
For at kalibrere kameraet, startes ./water-meter -di
Kameraet positioneres, så det mindst betydende ciffers pil er nogenlunde i midteb af billedet.
Der er 8 aktive felter i en cirkel.
Med tasterne SDEX flyttes cirklen.
Tasterne sidder i en rhombe, placeringen svarer til retningen:
Q: Afslut E: OP
A: -radius S: Venstre D: Højre F:+radius
X: Ned
Der justeres så cirklens centrum er pilens omdrejningspunkt, og de aktive punkter er på enden af pilen. Når det fungerer tilfredsstillende, afsluttes med tasten q
Derefter skal servicen sættes til at starte ved boot:
sudo systemctl enable water-meter
Og så starter vi også servicen
sudo systemctl start water-meter
Seneste kommentarer