"alten" Wasserzähler (Sensus 620) in eine Hausautomatisierung integrieren

  • So, da ich @da_user versprochen habe einen eigenen Thread draus zu machen, hier wird er entstehen.

    So erst mal ein paar Randinfo von meiner Seite:
    Ich habe bei mir Openhab 3.0.2 in einem Docker am laufen, sowie NodeRed in einem Docker und eine Mosquitto MQTT Installation in Docker.
    An meiner Diskstation hängt über eine USB Verlängerung ein Aoetec Zwave Gen5 Usbstick für Zwave.

    Mit dieser Kombi konnte ich schon das meiste erschlagen, wie z.b. den Stromzähler über das Volkszähler Projekt und einen 3er Raspi sekündlich auslesen.
    Diverse Zwave Geschichten werden gelesen bzw. gesteuert: Rauchmelder, Temperatur Sensoren, Heizungsthermostate und Schaltbare Steckdosen.
    Dazu noch selbst entwickelte Temperatursensoren, eigene SW inkl. eigenem Platinenlayout und Kommunikation über 433Mhz sowie ein 433Mhz <-> MQTT Gateway.

    Wie man oben vielleicht erahnen kann: Ich bin basteleien und Kummer gewohnt. Da wird nicht so schnell aufgegeben, der Spieltrieb gewinnt.

    Aber der vermaledeite Wasserzähler (ein nicht smarter Sensus 620) hat sich gewehrt, bzw. war meine Begeisterung nicht wirklich da.
    Es gibt verschiedene Möglichkeiten das ganze Anzugehen: Versuchen direkt die sich "drehende Scheibe" per Sensor auszulesen und dann hochzurechnen oder
    aber von oben alles abzufotografieren und mit "AI" entschlüsseln zu lassen. Das ganze will ich per MQTT Nachrichten dann in OH3 verarbeiten.

    Das sprach mich am meisten an, kein "langes" gebastel erhoffte ich mir. Naja erstens kam es anders, zweitens als ich dachte.
    Das Projekt was ich nun nutze ist folgendes: AI-on-the-edge-device

    Es wird ein ESP32 inkl. CAM Modul benötigt. Wer keinen programmierer hat, kann diesen bei manch Ebay Angebot als all-inkl. kaufen.

    Ich hatte nur welche für andere ESPs und das all-inkl. Angebot kostete inkl. Versand ~13€.
    Wer sowas sucht: Tipp für die Ebay Suche "ESP32-CAM-MB CH340G WIFI Bluetooth Development Board OV2640 Camera"

    Aber seit gewarnt: Die Programmierplatine wird per Mikro-Usb angeschlossen und der ist mir nach ein paar Tests einfach abgebrochen.

    So nun habt ihr die Brocken vor euch liegen, habt euch entschieden ob ihr ein großes Papprohr selber basteln wollt oder per 3D Drucker das Rohr inkl. Halterung drucken wollt.

    Ich habe mich für letzteres Entschieden. Da unter dem Begriff der ESP32 CAM viele verschiedene verkauft werden und jeder Wasserzähler anders ist: Ihr braucht verschiedene Ringe und müsst experimentieren was die besten Ergebnisse ergibt.

    So wie geht man vor?
    Der ESP32 benötigt noch eine Mikro SD-Karte, ich hatte noch einen 1GB Karte rumliegen, kurz mit FAT formatiert Daten wie auf der Projektseite beschrieben kopieren und Wlan in der Textdatei konfigurieren, eingesteckt und wir können flashen.
    Mikro-Usb eingesteckt und das ESP32 Flashtool von hier runterladen.
    Die benötigten Parameter stehen auf der Projektseite im Github.

    Tipp: Ich würde den ESP32 nicht über den Programieradapter betreiben, geht zwar ist aber fummelig und mir ist, bei der Feineinstellung der Linse, der Mikro-USB Port abgebrochen.


    Es muss auch Linse der Kamera etwas verdreht werden, dafür zwei Zangen nehmen und die Linse verdrehen. Ich bin so vorgegangen das ich erst mal die "originalen Ringe" gedruckt habe inkl. Deckel

    also 50mm und 25mm den Halter. Alles zusammengebaut und einfach einen Überweisungsträger untergelegt. Dann so lange an der Linse gedreht bis man alle Buchstaben / Zahlen gut lesen konnte.

    An den Wasserzähler und natürlich hatte ich den Durchmesser meines Wasserzählers nur ~76mm, aber der im Projekt ~82mm.

    Zum Glück hat hier der User @Seppl1 mir netterweise in Freecad den Original Adapter auf 76mm reduziert. Dafür hier ein Danke!

    Meine Freecad Experimente sind vorher gescheitert, ist auch lange her das ich damit was gemacht habe.

    Falls jemand noch weitere Ringgrößen haben möchte: Hier bekommt ihr geholfen.

    Aktuelle drucke ich Seppl1 Adapter und dann berichte ich weiter :)

  • Um den ESP32 nun mit Strom zu versorgen habe ich in meiner Netzteile Krabbelkiste gesucht und ein 5V 2,5A Netzteil gefunden.
    Schnell den Stecker entsorgt und 2 Aderendhülsen an die Litzen Vercrimpt. Dann zwei Breadboard Kabel mit weiblichen Steckern geopfert.
    An jeweils einer Seite den weiblichen Stecker anteil von dem Plastik befreit und alles per Wabo Klemmen verbunden.

    Hat für mich den folgenden Vorteil: Ich kann relativ einfach das Netzteil wechseln und an die Pins des ESP32 ist es so auch schnell angeschlossen.

    Der ESP32 kann mit 5V oder 3,3V betrieben werden. Laut diversen Foreneinträgen ist der Betrieb mit 3,3V aber für das Projekt eher ungeeignet, da dann
    öfters zu neustarts kommen soll bei Rechenintensiven Operationen.
    Die Erkennung der Zahlen auf dem ESP32 benötigt bis zu 3 Minuten, das würde ich als Intensiv bezeichnen :)

    Das ist auch der direkte Nachteil dieses System: Es kann nur alle 3 Minuten eine neue Aufnahme ausgewerten werden. Für mich reicht es.

    Die komplette Konfiguration des Projektes geht über die Webseite und war zumindest für mich einfach verständlich inkl. Beispielbilder.
    Wichtig ist das bei der ersten Konfiguration auf jeder Seite unten auf "Daten speichern" oder ähnlich gedrückt wird, sonst hat man alles umsonst gemacht.

  • Hi,

    danke dass du ein bisschen berichtest, ich finde das spannend.
    Und drandenken: "This Thread is worthless without Pictures!"

    Es wird ein ESP32 inkl. CAM Modul benötigt. Wer keinen programmierer hat, kann diesen bei manch Ebay Angebot als all-inkl. kaufen.

    Ähm? Ein ESP32 sollte doch eine USB-Schnittstelle und einen Boatloader haben. Der sollte sich also selbst flashen und kein extra Werkzeug dafür brauchen?


    Der ESP32 kann mit 5V oder 3,3V betrieben werden. Laut diversen Foreneinträgen ist der Betrieb mit 3,3V aber für das Projekt eher ungeeignet, da dann
    öfters zu neustarts kommen soll bei Rechenintensiven Operationen.

    Nicht ganz richtig...
    Den ESP32 kannst du nur mit 3,3V betreiben. Das Board hat allerdings einen Spannungswandler dabei, auch weil ja USB 5V liefert. Entsprechend würde ich jetzt eher davon ausgehen, dass die 3,3V Spannungsquellen nicht gut genug waren, evtl. auch etwas schlecht angeschlossen. Wenn da dann mal die Spannung etwas schwankt, evtl. noch bei höheren Strombedarf, könnte es kritisch werden.
    Der Boardeigene Spannungswandler puffert das ganze dann halt weg.

    Das ist auch der direkte Nachteil dieses System: Es kann nur alle 3 Minuten eine neue Aufnahme ausgewerten werden. Für mich reicht es.

    Mit welchem Zeitstempel wird denn dann der Wert eingetragen? Mit Zeitpunkt des Fotos oder dann, wenn es fertig ausgewertet/übertragen wurde?

    Zitat von root2

    Merke: Das "S" in "IoT" steht für Sicherheit!

  • @da_user Der ESP32 selbst hat keine USB Schnittstelle. Auf den allermeisten Boards ist aber ein USB-UART-Controller integriert (oftmals der CH340).

    Das ESP32-CAM Board sieht etwas anders aus als die meisten. Vermutlich hat das mit Kamera und microSD schon so viel IO belegt, dass sie sich den USB gespart haben. Dann braucht man eben einen externen USB-UART Controller (wird auch als FTDI bezeichnet).

    Den Spannungwandler hat es aber trotzdem noch. Was du dazu schreibst klingt auf jeden Fall plausibel.

  • So, Hallo erst mal.
    Heute alles soweit in Betrieb genommen und mit rumgebastelt.

    Da_Druck hat recht und nicht recht: Das Datenblatt des ESP32 gibt nur den 3.3V Pin als Stromversorung an.
    Alles andere, wie bei mir der 5V Pin, ist vom jeweiligen Produzenten.
    Die Version, welche ich gekauft hatte, hat keinen direkten USB Zugang, sondern benötigte einen Programmer, der dann bei mir mit Mikro-Usb angeschlossen war.

    Zum besseren Verständnis hänge ich ein Bild an:
    [xattach=52942]ESP32 CAM inkl. extra Programmierplatine[/xattach]

    So, das ganze läuft relativ Reibungslos.
    Integration in Openhab3 war nun auch nicht wirklich schwer.
    [xattach=52943]Zähler Infos, Formatierungen müssen noch[/xattach]
    Ja, die Einheiten sind noch nicht dran, da muss ich noch was machen.
    Ich gestehe das ich mich zwar zwinge den neuen Weg alles über die GUI zu konfigurieren, aber den Weg über die alten .item files bedeutend einfacher finde.
    So ganz habe ich das noch nicht verinnerlicht.

  • Mit welchem Zeitstempel wird denn dann der Wert eingetragen? Mit Zeitpunkt des Fotos oder dann, wenn es fertig ausgewertet/übertragen wurde?

    Also der Zeitstempel ist zumindest bei mir ca. eine halbe Minute Jünger als die MQTT Nachricht.
    D.h. nicht von dem Zeitpunkt der Aufnahme.

    Ich habe aber schon gelesen, dass man die Zeit reduzieren kann über diverse Optionen, wenn den die Erfassung reibungslos funktioniert.

  • Hmm,
    also ich muss noch etwas an der Distanz arbeiten. Vielleicht etwas näher ran.
    Und die Oberfläche des Wasserzählers reflektiert wie blöde:

    Ich habe schon mit einigen schwarzen Textilstreifen gearbeitet.
    Auch ist die Erkennung hier noch nicht einwandfrei.

    Da ich außerdem vermute, das die Spannung ab und an etwas einbricht,
    trotz der 5V habe ich direkt am Spannungseingangskabel einen 47nF Kondensator zwischen 5V und GND geklemmt.

  • Da ich außerdem vermute, das die Spannung ab und an etwas einbricht,
    trotz der 5V habe ich direkt am Spannungseingangskabel einen 47nF Kondensator zwischen 5V und GND geklemmt.

    Naja,.. der wird dir evtl. was in Sachen Restwelligkeit nehmen (und damit nicht schaden). Wenn du das Gefühl hast, dass die Spannung einbricht, wäre ein Elko mit ein paar wenigen µF aber evtl. besser...

    Und die Oberfläche des Wasserzählers reflektiert wie blöde:

    Gibts da nicht evlt. eine Anti-Reflexfolie zum aufkleben od. ähnliches?

    Zitat von root2

    Merke: Das "S" in "IoT" steht für Sicherheit!

  • Hallo ihrs,
    also ich habe die Höhe von 7cm (5cm Ring plus 2cm Ring) auf 6cm ( 5cm und 1 cm) verändert.
    Dann noch etwas an dem Fokus gedreht und schwarze Textilschnippsel verteilt wo ich nix lesen wollte.

    Ach und den 47pF habe ich ersetzt durch einen 47uF Elko.

    Werde nachher ein Bild machen und hochladen. Seit dem der Elko dran ist hatte der ESP eine Uptime von über 10h. Im vergleich das vorher
    maximal eine Stunde ohne reboot lief schon mal ein Schritt in die Richtige Richtung. Größere Elkos habe ich gerade keine da,
    da muss ich erst mal wieder eine größere Bestellung sammeln.

  • Ach und den 47pF habe ich ersetzt durch einen 47uF Elko.

    Den 47pF hätte ich drinnen gelassen.
    Der FoKo/KerKo ist zwar deutlich schneller leer als der Elko, reagiert dafür aber auch deutlich schneller und gibt damit dem Elko Zeit "nachzuziehen".
    Wenn du ein passendes hast oder rankommst, macht es ggf. Sinn dam mal mit einem Oszi daufzugucken.

    Wenn es wirklich an der Versorgungsspannung liegt, ist es u.U auch etwas Kunst das ganze hinzubekommen. Wenn man professionelle Platinen anguckt, gibt es dort oft unbestückte Plätze für Kondensatoren. Die sind u.A. für sowas vorgesehen damit man nicht jedes Mal eine neue Platine entwerfen muss.

    rößere Elkos habe ich gerade keine da,
    da muss ich erst mal wieder eine größere Bestellung sammeln.

    Man kann (und darf) Kondensatoren übrigens auch parallel schalten.

    Zitat von root2

    Merke: Das "S" in "IoT" steht für Sicherheit!

  • Ich bin aktuell etwas vom verhalten des ESPs verwirrt.
    Von der Erkennung rede ich gar nicht mal, aber das spontane Reboot verhalten ist etwas nennen wir es mal chaotisch.

    Mal läuft er 10-11h durch, mal starter er alle paar Minuten neu.
    Ich werde jetzt erst mal in Ruhe am Wochenende mit einer Lochrasterplatine den Kabelquerschnitt für die Versorgungsspannung wieder erhöhen,
    sowie Platz für Kondensatoren lassen. (Aktuell wieder 47pF und 47uF parallel).

    Ach die Idee mit Backpapier oder Malerkrepp war eher Kontraproduktiv:
    Es scheint so als das die SW die "geringere" Helligkeit einfach mit einer längeren Belichtung ausgleicht.

    Was aber hilft: Ich habe statt der schwarzen Textilstreifen einfach weißes Milimeterpapier genommen.
    Das scheint zu helfen das das Foto früh genug als Belichtet gilt und kaum Reflektionen vorhanden sind.

  • Ich habe heute zwei neue ESP32 inkl. CAM bekommen und werde
    im Laufe des Wochendes so eingiges durchprobieren:
    - Ist es der ESP32?
    - Ist es die Kamera?
    - Ist es die SD?
    - Ist es die Spannungsversorgung?

    Temperatur wäre eine Möglichkeit, CPU Temperatur schwankt aber zwischen 50 und 90 Grad, auch wenn es für 11h läuft.

    Erst mal groß testen testen und noch mal testen.
    Wenn ich nix stabiles hinbekomme, nehme ich mir ein Oszi von der Arbeit mit und versuche mal die Versorgunsspannung zu loggen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!