hardware:channels:meters:water:wasserzaehler_ohne_s0
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
hardware:channels:meters:water:wasserzaehler_ohne_s0 [2018/01/25 15:55] – code jau | hardware:channels:meters:water:wasserzaehler_ohne_s0 [2024/04/23 18:03] (aktuell) – Fehler beim REST Aufruf jau | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Mechanischen Wasserzähler über Impulse | + | ====== Mechanischen Wasserzähler |
+ | |||
+ | ===== Ansatz 1: Text-/ | ||
+ | |||
+ | **Idee:** Die Ziffern und Rädchen des Wasserzählers | ||
+ | **Vorteil: | ||
+ | **Nachteil: | ||
+ | {{https:// | ||
+ | ==== Hardware ==== | ||
+ | |||
+ | Folgende Hardware (Gesamtkosten ~15€) wird benötigt: | ||
+ | * ESP32-CAM WiFi | ||
+ | * USB zu TTL UART Serial Converter zum Download des ESP32 | ||
+ | * Stromversorgung des ESP32, z.B. über USB Breakout-Modul und USB-Netzteil | ||
+ | |||
+ | ==== Software ==== | ||
+ | |||
+ | Die Idee und Software stammt von Jomjol - die Software und eine Anleitung sind hier hinterlegt: https:// | ||
+ | * Für den ersten Download empfehle ich folgende Schaltung: https:// | ||
+ | * Bei Nichterkennung des Geräts: Gerätemanager -> Benötigte Treiber ggf. über optionale Windows Updates installieren | ||
+ | * Bei Verbindungsproblemen -> USB-TTL/ | ||
+ | |||
+ | ==== vzlogger-Integration ==== | ||
+ | |||
+ | Hier der Code für die vzlogger.conf zum Abholen und Verknüpfen der Daten: | ||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }], | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Folgende Parameter müssen im Code ersetzt werden: | ||
+ | * UUID_FRONTEND: | ||
+ | * IP-ADDRESS_ESP: | ||
+ | |||
+ | Der Parameter ' | ||
+ | |||
+ | |||
+ | ===== Ansatz 2: Laser ===== | ||
Idee: Das kleine Sternrad des Wasserzählers mit einem Laser anvisieren und die Reflexionen mit Photodiode und Arduino-Mikrocontroller auswerten. | Idee: Das kleine Sternrad des Wasserzählers mit einem Laser anvisieren und die Reflexionen mit Photodiode und Arduino-Mikrocontroller auswerten. | ||
- | ===== Hardware | + | ==== Hardware ==== |
<note important> | <note important> | ||
Zeile 35: | Zeile 81: | ||
<note important> | <note important> | ||
- | ===== Über Script in die Datenbank | + | ==== Über Script in die Datenbank ==== |
Für Gas- und Wasserzähler, | Für Gas- und Wasserzähler, | ||
- | ==== Arduino | + | === Arduino === |
Das ist der Code auf dem Arduino. Die Idee ist die Differenz zwischen dem Tal und dem Berg bei dem analogen Sensor als Trigger zu verwenden | Das ist der Code auf dem Arduino. Die Idee ist die Differenz zwischen dem Tal und dem Berg bei dem analogen Sensor als Trigger zu verwenden | ||
Zeile 136: | Zeile 182: | ||
</ | </ | ||
- | ==== Script zur Datenübernahme | + | === Script zur Datenübernahme === |
Der Code auf der PC/ | Der Code auf der PC/ | ||
Zeile 295: | Zeile 341: | ||
<note tip>Oder den " | <note tip>Oder den " | ||
- | ===== Über vzlogger an die Middleware | + | ==== Über vzlogger an die Middleware ==== |
Für **nur einen** Wasserzähler, | Für **nur einen** Wasserzähler, | ||
- | ==== Arduino | + | === Arduino === |
Hier der Code für den Arduino. Verkürzte Version von oben, weil nur eine Diode ausgewertet wird und die Impulse im Arduino nicht gezählt werden. | Hier der Code für den Arduino. Verkürzte Version von oben, weil nur eine Diode ausgewertet wird und die Impulse im Arduino nicht gezählt werden. | ||
Zeile 366: | Zeile 412: | ||
Die Differenz zwischen Hell und Dunkel muss für dieses Code-Beispiel mindestens 200 betragen, sonst wird kein Impuls erzeugt. | Die Differenz zwischen Hell und Dunkel muss für dieses Code-Beispiel mindestens 200 betragen, sonst wird kein Impuls erzeugt. | ||
- | ==== Frontend | + | === Frontend === |
Kanal erstellen als Wassermengenzähler mit einer Auflösung von 60 (Impulse/l, siehe Berechnung im Code) und Stil=steps. UUID notieren. | Kanal erstellen als Wassermengenzähler mit einer Auflösung von 60 (Impulse/l, siehe Berechnung im Code) und Stil=steps. UUID notieren. | ||
- | ==== Beispielkonfiguration | + | === Beispielkonfiguration === |
Exemplarische / | Exemplarische / | ||
<code base vzlogger.conf> | <code base vzlogger.conf> | ||
Zeile 377: | Zeile 423: | ||
" | " | ||
- | "skip": true, // errors when opening meter may be ignored if enabled | + | "allowskip": true, // errors when opening meter may be ignored if enabled |
" | " | ||
" | " | ||
Zeile 396: | Zeile 442: | ||
</ | </ | ||
+ | ===== Ansatz 3: grüne LED und Fototransistor ===== | ||
+ | |||
+ | Im [[https:// | ||
+ | |||
+ | Beim Nachbau hat es sich gezeigt, dass es u.a. auf die Helligkeit der verwendeten LED ankommt. Die zuerst beschafft LED war nicht hell genug, um den Fototransistor selbst bei direkter Belichtung durchzusteuern. Mit der nachbeschafften Nichia NSPG300D gelang der Betrieb dann auf Anhieb. | ||
+ | |||
+ | Wie in der Original-Anleitung beschrieben, | ||
+ | |||
+ | Dieser Impulsgenerator ließ sich dann einfach aufbauen und funktioniert in der Tat viel besser als die einfache Schaltung. Ob das an der Verwendung eines Mikrocontrollers oder an dem mit Linse fokussierten Lichtstrahl der LED liegt, ist unklar. Die Montage auf dem Wasserzähler und die Justage war jedenfalls in wenigen Minuten erledigt. Zum Schutz von Fremdlicht habe ich ein HT-Rohr mit Deckel über den Wasserzähler gestülpt. | ||
+ | |||
+ | Nach Lektüre des Artikels über [[: | ||
+ | - Einen USB-to-Serial-Adapter mit extra herausgeführtem Vcc-Pin aus der Schublade geholt | ||
+ | - diesen gleich zur Spannungsversorgung des STALL-Impulsgebers verwendet | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Die Idee ist wie bei der Schaltung aus [[: | ||
+ | |||
+ | < | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }] | ||
+ | } | ||
+ | ]} | ||
+ | </ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | So besonders gut scheint die Middleware mit den groben Impulsen (1 Impuls pro Liter) und dem oft stundenlangen Ruhen des Messwertes nicht klarzukommen; | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Ansatz 4: 3D Druck Optik und OPT101 ===== | ||
+ | Ich hatte den Laser-Ansatz für Jahre in Gebrauch. Abgesehen von den Sicherheitsproblemen hatte ich nach ein paar Jahren Algen im Wasserzähler. | ||
+ | Daher die Idee auch mit grüner LED zu arbeiten. Da 3D-Drucker vorhanden habe ich eine Halterung für eine Linse entworfen, deren Fokuspunkt direkt auf dem Rad liegt. | ||
+ | https:// | ||
+ | Impulse werden mit einem OPT101 Chip (intgrierter Verstärker) abgenommen. | ||
+ | {{: |
hardware/channels/meters/water/wasserzaehler_ohne_s0.1516892104.txt.gz · Zuletzt geändert: 2018/01/25 15:55 von jau