Der lästige Gang zum Gaszähler gehört für viele gerade während der Heizperiode zum Pflichtprogramm, um den Verbrauch besser im Blick zu behalten. Wäre es da nicht viel einfacher, den Zähler bequem von der Couch auszulesen? Genau mit diesem Thema habe ich mich die vergangenen Wochen befasst und habe eine einfache Lösung mittels AI on the Edge gefunden. Mithilfe von AI on the Edge und der ESP32 CAM bekomme ich ab sofort den Zählerstand direkt auf die Couch geliefert.

Voraussetzungen & erste Tests

Bevor wir mit der Umsetzung beginnen können, müssen wir zuerst ein paar grundsätzliche Dinge klären. Es gibt etliche ESP32-CAM Module am Markt, von denen viele leider nicht zu gebrauchen sind. Damit meine ich nicht die von der Software vorausgesetzten Spezifikationen, sondern die Verarbeitung und Performance der Module. Beispielsweise habe ich im ersten Schritt zwei Module inkl. Powerplatine für unter 20 Euro gekauft. Doch ich musste schnell feststellen, dass diese suboptimal arbeiten. Die WLAN Verbindung ist einfach nur unterirdisch und wurde auch nicht besser, als ich einen Access Point direkt darunter gelegt habe.

Die WLAN Herausforderung

Aufgrund der Pingverluste und hohen Latenzen in den 8000-10000ms war eine Einrichtung der Software nicht denkbar. Aus diesem Grund habe ich meine Recherche begonnen und eine erste vielversprechende Lösung auf „Random Nerd Tutorials“ gefunden. Dort wird beschrieben, dass die Verbindungsprobleme mit dem anbringen einer externen Antenne gelöst wären. Glücklicherweise hatte ich noch eine Antenne da und nach einem Reboot des Geräts hatte sich wirklich gar nichts verändert :(. Beim weiteren Lesen des Artikels bin ich auf die Anordnung des Jumpers gestoßen und habe diese direkt auf dem Modul kontrolliert. Meine Module sind nicht für die Verwendung einer externen Antenne geeignet…

Insgesamt habe ich die letzten drei Wochen die unterschiedlichsten Lösungsvarianten im Internet gefunden und ausgetestet. Angefangen vom Wechseln der Netzteile, über das Aufspielen neuer Firmware auf dem Gerät bis hin zu wirklich aberwitzigen Ideen, das Modul mit Aluminiumfolie zu umwickeln, hat alles nicht das gewünschte Ergebnis gebracht.

Die Ursache des Problems lag in der unteren Platine mit dem MicroUSB Anschluss. Nachdem ich die Platine entfernt habe und das CAM Modul direkt mit Spannung versorgt hatte, gab es deutlich weniger Pingverluste als auch die Latenzen liegen in einem adäquaten Bereich zwischen 10 – 100ms. Auf die Stromversorgung gehe ich in der Installation detailliert ein.

SD-Karte

Die zweite Herausforderung ist bereits Bestandteil der Dokumentation von AI on the Edge. Dort steht klar beschrieben, dass nicht jede MicroSD-Karte funktioniert. Speziell NoName oder billige Speicherkarten verursachen Probleme, als auch zu große Speicherkarten über 32GB. Ab und an scheint es auch Probleme mit 32GB Karten zu geben. Persönlich habe ich mehrere MicroSD Karten getestet und kann berichten, dass die Karte vom Hersteller Hama bei mir nicht funktionieren. Wiederum 16GB Karten von Sony und SanDisk haben bei mir funktioniert. Der erste Indikator, ob die von euch eingesetzte Karte nicht funktioniert ist, dass die rote LED auf dem Modul dauerhaft blinkt.

Keine Produkte gefunden.

Installation

Die Installation von AI on the Edge kann auf mehrere Arten erfolgen. Im Folgenden gehe ich auf die zwei in meinen Augen einfachsten Varianten ein. Losgelöst, welche Varianten ihr verwendet, hat dies keinen Einfluss auf die spätere Verwendung von AI on the Edge.

Variante 1 – Website

Die erste Art der Installation wird mithilfe der Website https://jomjol.github.io/AI-on-the-edge-device/ realisiert. Dabei müsst ihr im ersten Schritt die ESP32 CAM mit eurem Computer verbinden. In meinem Fall haben die von mir verwendeten Module bereits eine Dual Core Entwicklerplatine mit im Lieferumfang. Damit konnte ich das Modul mithilfe eines MicroUSB Kabels mit dem Rechner verbinden. Dabei muss das verwendete Kabel die Eigenschaft mit sich bringen, auch Daten übertragen zu können. Meiner Erfahrung nach bringen die meisten Handyladekabel diese Eigenschaft mit sich.

Sobald alles verbunden ist, auf der Website auf “Connect” klicken, euer Modul auswählen und mit Koppeln bestätigen. Nachdem die Verbindung erfolgreich hergestellt wurde, erscheint ein Fenster „Device Dashboard“. Dort wählen wir den Punkt „Install AI-ON-THE-EDGE“ aus und die Installation wird automatisch ausgeführt. Ungefähr zwei bis drei Minuten später ist die Installation abgeschlossen und das Gerät kann über den Reset-Button neu gestartet werden.

Upload der Dateien

Nachdem das Modul neu gestartet ist, sendet dieses ein eigenes WLAN mit der Kennung „AI-on-the-Edge“ aus, womit wir uns ohne Kennwort verbinden. Anschließend im Browser eurer Wahl die IP-Adresse 192.168.4.1 aufrufen und dem Assistenten folgen. Im ersten Schritt müssen die fehlenden Dateien hochgeladen werden. Dazu die Datei mit dem Wort „remote-setup“ von github laden und die ganze Datei hochladen. Der Upload hat bei mir im Schnitt 2-4 Minuten gedauert. Sobald der Upload erfolgreich war, wechselt die Anzeige und die Eingabeaufforderung eurer „WLAN-SSID“ und das „WLAN-Password“ erscheint.

Mit dem bestätigen über den Button „Write wlan.ini“ wird die Datei auf der Speicherkarte erstellt. Abschließend noch in der letzten Maske das Basic Setup mit einem Reboot beenden.

Variante 2 – SD-Card

Die zweite Variante empfinde ich persönlich als am einfachsten. Dazu benötigt ihr ausschließlich die MicroSD Karte und das passende Lesegerät. Anschließend ladet ihr noch die aktuellste Version, zum Zeitpunkt der Erstellung des Beitrags 15.3.0, auf der github Seite herunter. Insgesamt werden dort fünf Dateien zum Download angeboten, wir benötigen die ZIP-Datei mit dem im Namen enthaltenen Wörtern manual-setup. Nachdem wir alle Vorbereitungen abgeschlossen haben, können wir mit dem Formatieren der Speicherkarte beginnen.

Formatierung der Speicherkarten

Die MicroSD-Karte bereiten wir gleich wie in der Anleitung beschrieben vor. Die Speicherkarte darf maximal eine Partition haben, FAT32 formatiert sein und muss über einen Master Boot Record verfügen. Auf MacOS öffnet ihr dazu das Festplattendienstprogramm und blendet, insofern nicht eh schon eingestellt, unter „Darstellung“ alle Geräte ein. Anschließend mit einem Rechtsklick auf eurer Lesegerät klicken und danach auf „Löschen“ tippen.

In der jetzigen Maske gebe ich im Namen „GASMETER“, als Format “MS-DOS(FAT)” und als Schema “Master Boot Record” ein. Abschließend alles mit einem Klick auf Löschen bestätigen. Nach kurzer Zeit kann über den Finder die MicroSD Karte geöffnet werden.

Vorbereiten der Dateien

Kommen wir zur heruntergeladenen Datei. Die Datei muss zuerst entpackt werden, sowie der Ordner sd-card.zip. Nachdem alles entpackt ist, wird die Datei wlan.ini mit einem Editor bearbeitet. Direkt am Anfang der Datei muss der Name eures WLAN’s, die SSID und das dazugehörige Passwort eingetragen werden. Solltet ihr noch den Anzeigenamen der CAM in eurem WLAN direkt ändern wollen, muss unter hostname das ; entfernt und der entsprechende Name bei mir GASMETER eingetragen werden. Abschließend alles speichern und alle Dateien inkl. Unterordner im Ordner sd-card auf die MicroSD Karte übertragen.

Sobald alle Dateien übertragen sind, die Speicherkarte auswerfen und in das ESP32 CAM Modul einlegen.

Befestigung / Montage

Nachdem ich alle Komponenten erhalten hatte und die ersten Testversuche erfolgversprechend waren, stand das Thema dauerhafte Befestigung am Gaszähler auf der Tagesordnung. Dadurch, dass der Gaszähler typischerweise Eigentum vom Messstellenbetreiber ist, war ein Anbringen mittels Kleber ausgeschlossen. Bei näherer Betrachtung ist mir dann die Befestigung der Ableitung zur Gastherme ins Auge gesprungen, welche mithilfe von sogenannten Rohrschellen an der Wand befestigt ist.

Dadurch, dass die Ableitung bei uns direkt mittig vom Gaszähler zur Decke geht, habe ich die Rohrschelle an der Ableitung befestigt, so dass die Befestigung für das Schraubgewinde zu mir zeigt. In diesem habe ich anschließend einen einfachen Gewindestab geschraubt und auf die passende Länge gekürzt. Das Kürzen empfehle ich euch erst nach Abschluss der Konfiguration, da ich auch ein paar Versuche benötigt habe, um den passenden Abstand zwischen dem Zähler und der ESP32 Cam zu ermitteln. Danach habe ich in der Werkstatt nach einem passenden Stück Aluminium gesucht und dieses entsprechend des Durchmessers vom Gewindestab durchbohrt. Damit war die Grundstruktur geschaffen.

10 Stück Schlauchschellen (21-23 mm / 1/2") Stahl verzinkt
Alberts 477745 Gewindestange | galvanisch blau verzinkt | Länge 1000 mm | Gewinde M8
100 Stück Edelstahl A2 Sechskantmuttern DIN 934 (M 8)
Kopp 347104001 Abzweigkasten Aufputz-Feuchtraum 85x85x40 mm, weiß
10 Stück Schlauchschellen (21-23 mm / 1/2″) Stahl verzinkt
Alberts 477745 Gewindestange | galvanisch blau verzinkt | Länge 1000 mm | Gewinde M8
100 Stück Edelstahl A2 Sechskantmuttern DIN 934 (M 8)
Kopp 347104001 Abzweigkasten Aufputz-Feuchtraum 85x85x40 mm, weiß
11,12 EUR
3,39 EUR
6,90 EUR
1,09 EUR
10 Stück Schlauchschellen (21-23 mm / 1/2") Stahl verzinkt
10 Stück Schlauchschellen (21-23 mm / 1/2″) Stahl verzinkt
11,12 EUR
Alberts 477745 Gewindestange | galvanisch blau verzinkt | Länge 1000 mm | Gewinde M8
Alberts 477745 Gewindestange | galvanisch blau verzinkt | Länge 1000 mm | Gewinde M8
3,39 EUR
100 Stück Edelstahl A2 Sechskantmuttern DIN 934 (M 8)
100 Stück Edelstahl A2 Sechskantmuttern DIN 934 (M 8)
6,90 EUR
Kopp 347104001 Abzweigkasten Aufputz-Feuchtraum 85x85x40 mm, weiß
Kopp 347104001 Abzweigkasten Aufputz-Feuchtraum 85x85x40 mm, weiß
1,09 EUR

Letzte Aktualisierung am 8.10.2024 / Affiliate Links (*) / Eine Veränderung des ausgewiesenen Preises ist nach der letzten Aktualisierung möglich / Bilder von der Amazon Product Advertising API

Befestigung des ESP32 CAM Moduls

Bei der Befestigung des ESP32 CAM Moduls habe ich mich bewusst für eine Aufputzdose entschieden, da dies einige Vorteile mit sich bringt. Im ersten Moment ist das Modul vor äußeren Einflüssen wie Staub oder Feuchtigkeit besser geschützt und die Pins des Moduls laufen nicht Gefahr, durch das Aluminium kurzgeschlossen zu werden. Weiterhin sieht es einfach besser aus, wenn die Verkabelung sich in der Aufputzdose befindet. Die Möglichkeit bietet die Option, die Kamera einfach zu entfernen oder neu auszurichten, ohne die gesamte Verkabelung entfernen zu müssen. In unserem Fall habe ich eine Aufputzdose mit den Maßen 75x75x40 mm verwendet. Die Dose bietet genügend Platz für die Verkabelung und vereinfacht die Installation des Moduls.

Bei der Installation in der Dose habe ich in die Abdeckung zwei Löcher gebohrt. Das erste Loch ist für die Linse vorgesehen und das zweite für die LED auf der Vorderseite des Moduls. Bevor ihr mit dem befestigen beginnt, muss zuerst die Linse bearbeitet werden. Der Fokusring der Kamera ist mit einem kleinen Klebepunkt fixiert. Dieser muss vorsichtig mit einem scharfen Messer entfernt werden, damit ihr die Schärfe verändern könnt. Ich habe dazu noch eine Spitzzange verwendet, um den Ring zu lösen. WICHTIG: Seid vorsichtig dabei, da ihr ansonsten die Kamera beschädigt. Bei mir hat es bis zu 5 Minuten gedauert. Danach kann das Modul mittels Kabelbinder oder Kleber in der Abdeckung befestigt werden. Abschließend muss die Aufputzdose noch am Aluminium befestigt werden. Dabei beachtet, dass die Höhe zum Zähler stimmen muss.

Kleiner Tipp

Insofern ihr euch für dieselbe Installationsmethode entscheiden solltet, wie ich es getan habe, gibt es noch ein paar Dinge zu beachten. Als erstes versteht es sich von selbst, dass die Rohrschelle dem Durchmesser eurer Gasleitung entsprechen muss. Identisch ist es mit dem verwendeten Gewindestab, welcher zum Gewinde der Rohrschelle passen muss. Das Verlängerungsstück, an welches die ESP32 CAM kommt, kann aus jeglichem Material bestehen.

Spannungsversorgung

Nachdem wir alles soweit Bauseitig fertig haben, kommen wir zum Thema Spannungsversorgung. Wie am Anfang bereits angekündigt, habe ich die Dual Core Entwicklerplatine aus Performance- Gründen entfernt. Um die ESP32 CAM mit Strom zu versorgen, gibt es zwei Optionen. Dem direkten Anlöten des USB-Kabels auf die Platine oder mittels Micros USB Breakout Board. Die mit Sicherheit sauberste Lösung ist mittels des Breakout Boards. Persönlich habe ich das direkte Anlöten des USB-Kabels auf die Platine bevorzugt. Dabei muss man natürlich vorsichtig sein, damit die Platine nicht beschädigt wird.

Als USB-Kabel habe ich ein ausschließlich spannungsführendes Kabel verwendet. Nachdem ich den Stecker abgeschnitten hatte, befand sich in meinem Fall darin ein schwarzes und ein rotes Kabel. Das Kabel mit der roten Isolierung habe ich mit dem Steckplatz „5V“ verbunden und das schwarze Kabel mit „GND“. Nach ungefähr einer Minute fing die LED der Cam an zu leuchten und der Bootvorgang war kurz danach abgeschlossen. Sollte bei euch die LED nicht anfangen zu leuchten, kann es sein, dass die Belegung des Kabels oder die Anschlüsse auf der CAM falsch sind. Hierbei müsst ihr vorsichtig sein, da das Modul sehr heiß wird und kaputt gehen kann, wenn die Kabel falsch angeschlossen sind.

Konfiguration

Kommen wir zur Konfiguration von AI on the Edge. Die Konfiguration erfolgt über die Weboberfläche des Gerätes. Dazu im Browser eurer Wahl die IP-Adresse des Geräts eingeben und mit Enter bestätigen. Es empfiehlt sich dem Gerät für die künftige Verwendung eine feste IP-Adresse zuzuweisen, damit ihr bei möglichen Konfigurationsänderungen oder Firewall-Freischaltungen das Gerät direkt ansprechen könnt.

Sobald die Weboberfläche geladen ist, wird euch das initiale Setup von AI on the Edge angezeigt. Mit dem Tippen auf den Button „Next Step“ beginnt auch schon die Einrichtung.

Steps 1: Fokus einstellen

Im ersten Schritt leuchtet die weise LED dauerhaft auf und ihr bekommt im Browser ein Livebild angezeigt. Dabei geht es darum, die Schärfe einzustellen. Dazu einfach am Fokusring solange drehen, bis das Bild im Webbrowser die gewünschte Schärfe hat.

Steps 2: Bildeinstellungen und Helligkeit

Im zweiten Schritt geht es um die Feinheiten der Aufnahme. Hier erstellen wir zuerst über den Button „Create New Reference“ ein aktuelles Foto vom Zähler. Sollte das Foto zu hell sein, würde ich bei der LED Intensität sehr niedrig beginnen. Bei 10 oder 5 um sich dann immer Schritt für Schritt herantasten. Damit ihr die Änderung seht, muss nach jeder Änderung auf den Button „Update Image“ getippt werden. Ebenfalls kann das Bild, wenn es beispielsweise schief ist oder auf dem Kopf steht, über die Checkbox „Mirror Image“ gespiegelt werden. Über die Rotation kann auch der Winkel verändert werden. Nachdem ihr alles passend eingestellt habt, alle Einstellungen über den Button „Save New Reference“ speichern und über den Button „Next Step“ ins nächste Fenster wechseln.

Steps 3: Ausrichtungsmarkierungen

Damit die Software direkt erkennen kann, wenn sich die Kamera aus welchen Gründen auch immer ihre Position verändert, werden sogenannte Ausrichtungsmarkierungen festgelegt. Dazu müssen zwei eindeutige Marker auf dem Bild gesetzt werden. Hierzu einfach auf der Vorschau mit der linken Maustaste an die gewünschte Stelle klicken und gedrückt halten. Anschließend das Rechteck in die gewünschte Größe ziehen und anschließend wieder loslassen. Sollte der Marker für euch passen, die Einstellung über den Button „Update Marker“ speichern. Das ganze müsst ihr anschließend für den zweiten Marker ebenfalls durchführen und über den Button „Update Marker“ speichern. Danach nochmal den Button „Save New Marker“ und anschließend auf „Next Step“ klicken.

Step 4: Konfiguration von ROIs für Ziffernzahlen

Nun folgt die Markierung der Zahlen auf dem Vorschaubild. Dazu einfach mit der Maus auf die gewünschte Stelle klicken und die Maustaste gedrückt halten. Mit dem bewegen der Maustaste verändert sich die Größe des markierten Bereiches. Bei genauer Betrachtung befindet sich ein kleineres Rechteck im großen Rechteck. Wichtig hierbei ist, dass das kleinere Rechteck die Größe der Zahl hat, damit die Zahlen richtig erkannt werden. standardmäßig ist die Checkbox „Synchronize y…. between ROIs“ aktiviert. Dadurch verhalten sich alle ROI identisch zueinander und bekommen ebenfalls dieselbe Größe. Ich habe in meinem Fall die Checkbox deaktiviert, um die ROIs entsprechend anpassen zu können.

Zu Beginn sind drei ROIs mit den Namen dig1 – dig3 angelegt. In den meisten Fällen ist dies nicht ausreichend. Um weitere ROIs anzulegen, einfach auf den Button „New ROI“ klicken, um weitere ROIs zu erstellen. Sobald ihr alle Zahlen markiert habt, alles über den Button „Save Config“ speichern und anschließend auf „Next Steps“ tippen.

Step 5: Analog ROIs

Identisch zu Step vier müssten auch Analoge Ziffern Bereich gekennzeichnet werden. Persönlich kenne ich keine Gaszähler wo das der Fall wäre, vielmehr kommt Step 5 beim Wasserzähler zum Tragen. Dementsprechend habe ich die Checkbox „Analog ROI Processing“ deaktiviert.

Step 6: Configuration Page: List Of All Parameters

Im vorletzten Schritt besteht die Möglichkeit, Step 3 & 4 zu deaktivieren, sowie weitere Einstellungen vorzunehmen. Beispielsweise das Übermitteln der Werte direkt in eine Datenbank, die MQTT Einstellungen etc., diese Einstellungen überspringe ich an dieser Stelle. Einzig und allein die Zeitzone setze ich auf Europe / Berlin. Dazu einfach „CET-1CEST,M3.5.0,M10.5.0/3“ eintragen.

Step 7: Setup complete

Im letzten Schritt folgt noch die Bestätigung des Setups und ein Reboot über den Button „Complete Setup + Reboot“.

Konfiguration im ioBroker

Im ioBroker angekommen, beginnen wir mit der Installation des MQTT Broker/ Client Adapters. Nach wenigen Sekunden sollte dieser installiert sein und ihr werdet direkt in die Konfigurationsoberfläche geleitet. Dort müssen wir uns ausschließlich mit dem Tab „Verbindung“ beschäftigen. Im Dropdown Feld mit der Beschriftung „IP“ wählen wir „Server/Broker“ aus. Im nächsten Feld „IP-Adresse“ unter dem Oberpunkt „Verbindungseinstellungen“ muss jetzt die IP-Adresse eures ioBrokers ausgewählt werden. Beim Port kommt es jetzt darauf an, ob ihr bereits einen Adapter im Einsatz habt, welchen den vordefinierten Port verwendet. In meinem Fall musste ich den Port auf 1888 verändern. Im letzten Schritt kommt die Authentifizierungseinstellungen, worin ein Benutzername und ein Kennwort von euch festgelegt werden muss. Diese Informationen müssen wir anschließend in AI on the Edge eintragen.

In der Weboberfläche von AI on the Edge muss jetzt im Menü unter Settings –> Configuration die Checkbox neben MQTT aktiviert werden. Nach dem Aktivieren erscheinen die weiteren Felder URI, Main Topic, Client ID, Username & Password, welche ebenfalls aktiviert werden müssen. Beginnende mit der URI tragen wir dort die IP-Adresse und den Port eures ioBrokers im folgenden Format ein: „mqtt://IP-Adresse:Port„.Das Main Topic bekommt einen frei wählbaren Namen, welcher später im ioBroker als Oberordner der Datenpunkte fungiert. Die Client ID spiegelt den Namen des Gerätes wider und der Benutzername, sowie das Passwort haben wir zuvor definiert. Mit dem Speichern wird ein Reboot benötigt, nach welchem AI on the Edge die Verbindung zum ioBroker herstellt und Daten übermittelt.

Die gesamte Installation, Konfiguration und Einbindung in den ioBroker könnt ihr euch wie gewohnt auf meinem Youtube Kanal ansehen.

Sie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen

Fazit

Insgesamt muss ich nach einigen Wochen im Einsatz sagen, dass ich einfach nur glücklich mit der Lösung bin. Mit wenig Aufwand und Kosten bekomme ich den Zählerstand frei Haus in den ioBroker übertragen. Mithilfe von AI on the Edge ist es für mich jetzt deutlich bequemer, den Verbrauch im Auge zu behalten und auch weitere Berechnungen anzustellen. Künftig werde ich mir noch ein paar Alarmierungen in den ioBroker einbauen und auch die Daten in einer Datenbank zu sichern, um eine Verbrauchskurve zu realisieren.

Gerade für Bastler, wozu ich mich auch zählen würde, ist die Lösung natürlich optimal. Die ganze Umsetzung und Tests haben zwar viel Zeit gekostet, jedoch auch viel Freude bereitet. Insgesamt würde ich behaupten, dass die Installation und Konfiguration in maximal einer Stunde realisiert werden kann. Fairerweise muss ich dazu sagen, dass der Gaszähler auch mittels anderer Sensoren ausgelesen werden kann. Jedoch müsste bei den meisten Sensoren die Plastikabdeckung am Zähler beschädigt werden, wozu ich nicht bereit bin. Der weitere Vorteil der Lösung ist, dass diese Zähler unabhängig verwendet werden kann und beim Zählertausch schnell angepasst werden.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein