Watermeter draadloos uitlezen in Domoticz

Gepubliceerd door Robot One op

Water is kostbaar

Monitor naast stroom en gas nu ook je waterverbruik

De zomers in Nederland worden steeds heter en droger. En als de klimaatverandering zo door gaat, zal dat niet op korte termijn veranderen. We moeten dus zuinig zijn met water. Toch kunnen we het watergebruik, anders dan het verbruik van elektriciteit- en aardgas, nog steeds niet op een slimme manier in de gaten houden. Met dit ontwerp voor een draadloze watermeter lukt dat wel, via Domoticz.

Er zijn in het verleden diverse ontwerpen voor elektronische watermeters online verschenen, maar die maken meestal gebruik van een fysieke aansluiting. Ik wilde per se een draadloze optie, aangezien mijn Raspberry Pi niet in de meterskast staat. Daarom besloot ik een draadloze sensor te bouwen, met een ESP8266 en het stuurprogramma ESP Easy.

Voor het opnemen van de meter gebruiken we een LJ12A3 proximity sensor. Feitelijk is dit een sensor die gevoelig is voor veranderingen in een magnetisch veld. Als je er een metalen object langs beweegt, geeft de sensor een negatieve puls. Of correcter: verandert de toestand van de data-uitgang van hoog naar laag.

Als er een metalen object in de buurt ligt (dus niet beweegt), gebeurt er niks. We kunnen dit gebruiken doordat de oudere watermeters een halvemaantje hebben dat ronddraait als het water stroomt. Op dat halvemaantje zit een metalen strip. Door de sensor zo dicht mogelijk bij die strip te brengen, ziet deze de veranderingen in het magnetisch veld. Iedere keer als het stripje langs komt, geeft de sensor dat door.

De sensor is het eenvoudigst te bevestigen door voorzichtig een gaatje in het plastic deksel van de watermeter te boren. Met twee boutjes zet je de LJ12A3 daar in vast.

LJ12A3 gemonteerd in deksel watermeter
De LJ12A3 gemonteerd in het deksel van een watermeter

Let op: dit ging bij mij de eerste keer mis. Ik had de sensor namelijk precies in het midden boven de as van het wieltje bevestigd. Veel te netjes! Daardoor veranderde het magnetisch veld niet genoeg bij het ronddraaien en gaf de sensor geen pulsen af. Hij moet dus iets uit het midden worden gemonteerd.

De pulsen kunnen we opvangen en doorsturen naar Domoticz via WiFi. We sturen ze via een ESP8266, is een veelgebruikte en goedkope programmeerbare microcontroller met meerdere in- en uitgangen en WiFi aan boord. Ideaal voor zelfbouwers dus. Zeker als je de variant Wemos D1 mini gebruikt: die kan eenvoudig via een USB-kabeltje met 5V worden gevoed én geprogrammeerd, als je hem op je laptop aansluit. Voor andere 8266-varianten heb je aanvullende hardware nodig.

Wemos D1 mini aangesloten
Wemos D1 mini

Dan komt al gauw de eerste uitdaging om de hoek kijken. Om betrouwbaar te werken, heeft de sensor tussen 12V en 24V spanning nodig. De microcontroller werkt op 5V. We moeten daarom niet alleen de spanning verlagen, maar ook het spanningsniveau van de pulsen die op de ingang van de microcontroller komen te staan.

Wemos D1 mini

Een complete microcontroller met WiFi server ter grootte van een postzegel, speciaal voor IoT, met een analoge en meerdere digitale in- en uitgangen, eenvoudig te programmeren dankzij ingebouwde micro-USB poort. Tip: vergelijk de prijzen hieronder!

Koop op Amazon Koop op Banggood Koop op Bol.com

Er zijn ook andere oplossingen, zoals zo vaak. Zo kun je de Wemos voeden met een 5V telefoonlader en de sensor via een step up booster van 12V spanning voorzien. Ik hou het liever simpel, met componenten die ik ken en die zich in de praktijk hebben bewezen. Zeker aangezien de sensor meer stroom verbruikt dan de Wemos. Een voeding van 12V gebruiken en die verlagen ligt dan meer voor de hand dan andersom. En een netvoeding, die heb je toch wel nodig.

Ik heb dus onderstaande schakeling in elkaar geknutseld, die wordt gevoed met een 12V netadapter (maar het mag ook meer zijn, maximaal 24V). Een bekend en goedkoop spanningsstabilisator-IC verlaagt de spanning naar 5V voor de Wemos D1. De sensor stuurt zijn data door via een optocoupler, zodat ook op de ingang van de D1 geen 12V kan komen te staan. Ik heb dit gebouwd op een stukje experimenteerprint en ondergebracht in een universele kunststof behuizing:

Draadloze watermeter
Klik op de foto voor een PDF van het schema

Boodschappenlijstje

Wat je nodig hebt om dit te bouwen, zijn de volgende componenten. Je kunt er misschien enkele in je rommeldoos vinden, maar dat zal niet voor alles gelden. Als je iets moet bestellen, klik dan op de bijbehorende link. Ik heb geprobeerd de goedkoopste onderdelen te vinden, soms is het letterlijk dubbeltjeswerk:

Als eerste gaan we een nieuw device aanmaken in Domoticz en de Wemos D1 programmeren. Stap voor stap:

STAP 1:
Maak in Domoticz een virtuele sensor met de naam Watermeter (of Waterverbruik) en het type Teller (incrementele). Je vindt deze terug onder het tabblad Overige

STAP 2:
Klik op het tandwieltje om de instellingen van de zojuist gemaakte sensor aan te passen. Verander het type in Water.

STAP 3:
Zet de instellingen Meter deler op 1000. We gaan kubieke meters (m3) tellen.

STAP 4:
Vul bij Meter Offset de huidige stand in van je fysieke watermeter, zodat de teller in Domoticz niet op 0 begint.

Schermafbeelding watermeter device instellingen

STAP 5:
Klik op Aanpassen

We gaan nu ESP Easy installeren op de Wemos D1 mini.

STAP 6:
Download ESP EASY. De laatste stabiele versie is hier is te downloaden. Pak het bestand uit in een map.

STAP 7:
Sluit de Wemos D1 via de micro-USB datakabel aan op een laptop met Windows.

Schermafbeelding DOS venster

STAP 8:
Druk op de Windows-toets + R en tik cmd.exe, of open de Windows Commandline via het menu. Tik in: chgport /QUERY. Nu verschijnt een lijst met aangesloten COM-poorten. Een daarvan is die met de Wemos D1 mini. Je hebt het nummer van deze COM-poort zo dadelijk nodig.

STAP 9:
Navigeer nog steeds in de Windows Commandline naar de map waar je het zojuist gedownloade bestand hebt uitgepakt en tik in: flash.cmd

STAP 10:
Je krijgt nu een aantal vragen over waar de firmware naartoe moet worden geflasht: de COM-poort (5 in dit voorbeeld), de omvang (4096 voor de Wemos D1 en het versienummer (120 in dit geval). Daarna schiet een reeks informatieregels over het scherm, ingekort:

Comport (example 3, 4, ..)           :5
Flash Size (example 512, 1024, 4096) :4096
Build (example 71, 72, ..)           :120
Using com port: 5
Using bin file: ESPEasy_R120_4096.bin
esptool v0.4.6 - (c) 2014 Ch. Klippel <ck@atelier-klippel.de>
        setting board to nodemcu
        setting baudrate from 115200 to 115200
        setting port from COM1 to COM5
        setting address from 0x00000000 to 0x00000000
        espcomm_upload_file
        stat ESPEasy_R120_4096.bin success
        setting serial port timeouts to 1000 ms
opening bootloader
resetting board

...KNIP...
        writing flash
............................................................................

...KNIP...

closing bootloader
        flush start
        setting serial port timeouts to 1 ms
        setting serial port timeouts to 1000 ms
        flush complete
Press any key to continue . . .

STAP 11:
Druk nu op het kleine resetknopje van de Wemos D1, vlak naast de USB-aansluiting. Het apparaatje herstart als WiFi access point (AP).

STAP 12:
Kijk op je laptop in de lijst met beschikbare WiFI netwerken. Daar zie je ESP_0 tussen staan. Kies die en klik op Connect/Verbinden.

STAP 13:
De browser opent met pagina http://192.168.4.1/setup. Daarop zie je de WiFi Setup wizard van ESP Easy. Kies je WiFi netwerk, vul het wachtwoord in en klik op Connect.

STAP 14:
ESP Easy gaat nu verbinding maken met het opgegeven WiFi netwerk. Na ongeveer een halve minuut krijg je de melding:

Welcome to ESP Easy: newdevice
ESP is connected and using IP Address: 192.168.0.106
Connect your laptop / tablet / phone back to your main Wifi network and Proceed to main config.

STAP 15:
Noteer het IP adres en reserveer het eventueel op je modem onder de DHCP instellingen, zodat je niet meer hoeft te zoeken als je later nog eens de instellingen wilt wijzigen terwijl je moden een nieuw adres aan het apparaat heeft toegekend. Voor de werking met Domoticz is dit niet nodig.

STAP 16:
Het acces point ESP_0 is nu inmiddels inactief gemaakt en je laptop maakt als het goed is automatisch weer contact met je normale WiFi-netwerk. Klik op Proceed to main config op de bovenstaande pagina en je komt in het configuratiescherm van ESP Easy.

Schermafbeelding ESP Easy Watermeter

STAP 17:
Verander aan de instellingen op deze pagina op zijn minst het volgende:

  • Name: de naam van je apparaat, bijvoorbeeld Watermeter
  • Admin password: het wachtwoord om de instellingen later nog te kunnen veranderen
  • Controller IP: het lokale IP-adres van Domoticz
  • Controller Port: de poort waarachter Domoticz actief is, als dit niet 8080 (default) is
  • Controller User: je inlognaam bij Domoticz
  • Controller Password: je wachtwoord in Domoticz

STAP 18:
Scroll naar de onderkant van de pagina en klik op Submit.

STAP 19:
Ga nu naar het tabblad Devices en klik op Edit op de bovenste regel. Kies als Device de pulse counter. Een scherm met instellingen verschijnt.

Schermafbeelding ESP Easy watermeter sensor

STAP 16:
Vul hier op zijn minst in:

  • Name: naam van de sensor
  • IDX: de idx vind je in de aangemaakte sensor in Domoticz
  • 1st GPIO: de GPIO-aansluiting waarop je de schakeling hebt aangesloten. Hier GPIO-12
  • Debounce Time: 50
  • Counter Type: Delta/Total/Time

STAP 20:
Scroll naar de onderkant van de pagina en klik op Submit.

STAP 21:
Soldeer nu de bovenstaande schakeling in elkaar, en zet hem in een net kastje in de meterkast.

STAP 22:
Maak de LS12A3 sensor vast in het deksel van de watermeter, zoals hierboven beschreven.

STAP 23:
Sluit de stroom aan en ze de waterkraan open. Als alles goed gaat, zie je nu het lampje bovenop de LJ12A3 sensor knipperen. Dit betekent dat de data wordt doorgegeven. In Domoticz zie je vervolgens de teller van je nieuwe Apparaat verder lopen.

Dat is alles! Het lijkt veel, maar het zijn simpele, heldere stappen. De meeste tijd zul je kwijt zijn aan het wachten tot de postbode de onderdelen brengt, en (waarschijnlijk) aan het inbouwen van de schakeling in een net doosje!

Zie ook:


0 reacties

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *