NEWS
Wasserzähler - Version 2 - all-in-device
-
@jomjol
Hallo Jamjol, nach langer Zeit möchte ich mal wieder meinen Gas- und Wasserzähler von 6.4 auf die neueste Version 8.5 oder 9 hochrüsten.
Die Version 6.4 hat mir während meiner Reisen mit dem WoMo keinerlei Probleme gemacht und über GPIO das Wasser bei Verbrauch > 10l außerhalb vordefinierter Gießzeiten sauber abgeschaltet. Kam aber nur ganz selten vor wenn er mal einen Reset gemacht hat und falsch ausgelesen hatte. Besser so als das Haus unter Wasser;-)
Nun habe ich gestern beim Gaszähler angefangen das Update auf 8.5 zu machen. Läuft soweit erstmal ganz gut und auch die von mir später benötigten GPIOs für den Wasserzaehler konnte ich konfigurieren.
Leider wird über mqtt aber jetzt ein anderer Pfad ausgegeben (statt Gaszaehler/Zahlerstand jetzt Gaszaehler/main/value) was natürlich alle Verknüpfungen zu SourceAnalytics und meinen Programmen durcheinander bringt. Wie könnte ich das am einfachsten lösen?Dann habe ich noch festgestellt, dass es bereits eine Version 9 gibt in der aber die GPIOs nicht mehr wie in der 8.5v konfigurierbar sind. Für mich somit nicht nutzbar. Bleibt das so und gab es einen Grund das wieder rauszunehmen?
Danke schon mal für euere Antworten und Gruß aus Franken
HORST -
@hasont Hallo Horst,
den Pfad bei dem MQTT kannst du nicht mehr konfigurieren. Ich musste es standartisieren, da du jetzt mehrere Zähler pro Bild definieren kannst und dementsprechend mehrere Ausgaben per MQTT notwendig sind.
Die GPIOs kannst du weiterhin konfigurieren, du musst nur oben auf den Expertenmodus schalten, dann sollten eigentlich auch in der Version 9 alle Parameter wieder auftauchen.
Beste Grüße,
jomjol -
@jomjol sagte in Wasserzähler - Version 2 - all-in-device:
@hasont Hallo Horst,
den Pfad bei dem MQTT kannst du nicht mehr konfigurieren. Ich musste es standartisieren, da du jetzt mehrere Zähler pro Bild definieren kannst und dementsprechend mehrere Ausgaben per MQTT notwendig sind.
Die GPIOs kannst du weiterhin konfigurieren, du musst nur oben auf den Expertenmodus schalten, dann sollten eigentlich auch in der Version 9 alle Parameter wieder auftauchen.
Beste Grüße,
jomjolDanke für die schnelle Antwort, mal sehen ob ich bei SourceAnalytics ev. einen Tip bekomme um den Pfad zu ändern. In meinen Programmen kann ich das ja nachtragen. So wie ich das sehe würde SourceAnalytics aber komplett neu aufbauen was nicht so schön ist.
LG Horst -
@hasont Hi,
wie kann man das OTA-Update machen? Ich bin im Moment auf Version "master - v8.2.0 - 2021-08-24" und so richtig habe ich die Anleitung nicht verstanden.
Kannst du 1-2 Sätze dazu vielleicht schreiben?Dank dir.
@jomjol said in Wasserzähler - Version 2 - all-in-device:
@oberfragger 1000µF und ja zwischen GND und VCC
In der Anleitung für externe LEDs hast du nun 470µF referenziert. Als Nachbauer und elektrik Noob wil ich die Dinger nun auf Ebay kaufen. Da muss ich noch ne Spannung auswählen. Bei 470µF kann ich 16v oder 25v wählen. Die ESPs laufen ja auf 5V...
Also einfach 16V 470µF nehmen?
Außerdem habe ich noch 390Ohm Widerstände rumfliegen. Reichen die auch oder sollten das 370Ohm sein.
-
@oberfragger
OTA: Ich habe eine kurze Anleitung ins Wiki gepackt: https://github.com/jomjol/AI-on-the-edge-device/wiki/UpdateBauteile:
- 16V 470µF funktionieren
- 390 Ohm ? --> einfach probieren da kannst du nicht viel kaputt machen
Bin aber auch kein Elektroniker.
-
@oberfragger
Hallo, du holst dir das Firmware Update.
Interesant ist beim Update nur Firmware, HTML und SD Karte
Du kannst das Update auch ohne neue Files auf der SD Karte machen aber da hab ich schon schlechte Erfahrungen gemacht.
Im Browser deinen Zähler aufrufen
1.) Unter System/ OTA Update auswählen und Firmware und HTML updaten.
2.) Danach formatiere ich die SD und kopiere die neuen Daten.
Die alten Daten kann man ja mal aufheben falls man zurück möchte.
Wie gesagt muss die SD nicht zwingend neu beschrieben werden. Ist ja eh Schritt 2 -
@hasont said in Wasserzähler - Version 2 - all-in-device:
Hallo, du holst dir das Firmware Update.
Ich Blindfisch... es gibt einen Unterordner "firmware"...
Hat geklappt: master - v9.0.0 - 2021-10-23 -
@oberfragger said in Wasserzähler - Version 2 - all-in-device:
Außerdem habe ich noch 390Ohm Widerstände rumfliegen. Reichen die auch oder sollten das 370Ohm sein.
330 Ohm ist der nächste Wert den ich im "Lager" hatte.
Das funktioniert auch. Der Wert muss nicht genau passen. -
Wer benutzt denn schon die WS2812B für den Zähler?
Bei mir crasht die Firmware relativ häufig, oft schon direkt beim ersten Einschalten der Beleuchtung für das erste Bild.
Laut dem Registerdump der da ausgegeben wird ist etwas in der SmartLeds.cpp bzw. deren Verwendung faul. -
@MichMein
Hallo, hattest du nicht auch SourceAnalytics?
Was hast du gemacht um beim Update SA weiter laufen zu lassen.
Es wurde ja der Datenpunkt (statt Gaszaehler/Zahlerstand jetzt Gaszaehler/main/value) geändert.
LG Horst -
@stan23 sagte in Wasserzähler - Version 2 - all-in-device:
Wer benutzt denn schon die WS2812B für den Zähler?
Bei mir crasht die Firmware relativ häufig, oft schon direkt beim ersten Einschalten der Beleuchtung für das erste Bild.
Laut dem Registerdump der da ausgegeben wird ist etwas in der SmartLeds.cpp bzw. deren Verwendung faul.Hallo @stan23,
ich verwende folgende LEDs:
mit folgenden Settings an 3 ESP32CAM ohne Probleme:
[GPIO] ;IO0 = input disabled 10 false false ;IO1 = input disabled 10 false false ;IO3 = input disabled 10 false false ;IO4 = built-in-led disabled 10 false false IO12 = external-flash-ws281x disabled 10 false false ;IO13 = input-pullup disabled 10 false false LEDType = WS2812 LEDNumbers = 2 LEDColor = 50 50 50
Mir fällt gerade auf, dass ich sie als WS2812 ansteuere, obwohl es eigentlich WS2812B sind. Vielleicht liegt es daran.
Gruß,
jomjol -
@jomjol said in Wasserzähler - Version 2 - all-in-device:
Mir fällt gerade auf, dass ich sie als WS2812 ansteuere, obwohl es eigentlich WS2812B sind. Vielleicht liegt es daran.
Die gleichen habe ich auch, sie sind von meinem Wortuhr-Projekt übrig
Mit deinen Settings funktioniert es bei mir auch, egal ob WS2812 oder WS2812B.Es liegt an der Zahl der LEDs: 2 Stück sind okay, 3 oder mehr nicht.
Das Problem ist in dieser Schleife:
https://github.com/jomjol/AI-on-the-edge-device/blob/master/code/components/jomjol_controlGPIO/SmartLeds.cpp#L41L42Mir ist aber noch nicht klar was bei 3 LEDs anders ist, ob es einfach zu lange dauert oder etwas nicht korrekt initialisiert ist.
-
Hallo,
Ich hab das Projekt jetzt am Wochende für meine Wasseruhr umgesetzt klappt super.
Wollte das ganze auch für meinen Gaszähler anwenden, klappt leider nicht so gut das system hat probleme mit der 6, 8 und 9. Hab schon was gelessen das es wohl probleme mit Schwarzen Zählwerken gab, kann das daran liegen?Und mit den "Value", "Previous Value" und "RAW Value" komme ich nicht zu recht der Raw Value sieht eigentlicht nicht schlecht aus auser das die zahlen nicht korrekt abgelessen werden aber wie sich die anderen Werte zusammenstzen verstehe ich nicht.
Hat jemand eine Tipp wie man das beheben kann?
Gruß
Sven
-
Hmm, jetzt habe ich viel rumprobiert und habe auch 3 oder 4 LEDs funktional, aber nun kann ich das Problem mit dem ursprünglichen Code nicht mehr nachstellen.
Ich versuche nachher noch mal das Binary von Github. -
@elektrofreak Hi Sven,
mir scheint es, dass dein ROIs noch nicht optimal sind. Sie scheinen ziemlich "lang" zu sein. Das innere Rechteck soll genau um die Ziffern liegen. Dazu kannst du auch das Aspektverhältnis ändern. -
@stan23 sagte in Wasserzähler - Version 2 - all-in-device:
Hmm, jetzt habe ich viel rumprobiert und habe auch 3 oder 4 LEDs funktional, aber nun kann ich das Problem mit dem ursprünglichen Code nicht mehr nachstellen.
Ich versuche nachher noch mal das Binary von Github.Kannst du einen Commit in Github mach? Dann sehe ich den Unterschied im Code und kann es anpassen.
Ich bin aber unterwegs und kann die nächsten Tage nichts testen.
-
@jomjol said in Wasserzähler - Version 2 - all-in-device:
Kannst du einen Commit in Github mach? Dann sehe ich den Unterschied im Code und kann es anpassen.
Habe ich gemacht:
https://github.com/jomjol/AI-on-the-edge-device/pull/384Mit dem Binary 9.0.0 crasht es zwar nicht jedes Mal bei der Benutzung des Blitzes, aber recht häufig.
Ich bin mir jetzt relativ sicher dass es daran liegt dass eine lokale Instanz vonSmartLeds
erstellt wird, die am Ende der Funktion automatisch wieder gelöscht wird. Wenn dann etwas später im Interrupt die FunktionSmartLed::copyRmtHalfBlock()
ausgeführt wird, ist der Speicher der Instanz evtl. schon wieder überschrieben und enthält nicht mehr die erwarteten Strukturen.Ich bin aber unterwegs und kann die nächsten Tage nichts testen.
Kein Stress
Ich lasse das mal für mich zum Test weiterlaufen. -
@elektrofreak @jomjol sagte in Wasserzähler - Version 2 - all-in-device:
@elektrofreak Hi Sven,
mir scheint es, dass dein ROIs noch nicht optimal sind. Sie scheinen ziemlich "lang" zu sein. Das innere Rechteck soll genau um die Ziffern liegen. Dazu kannst du auch das Aspektverhältnis ändern.Hallo elektrofreak
es scheint so als ob dein Zähler sehr ähnlich ist wie meiner.
Die 6 und 9 war bei mir auch ein Problem und da hat mir jomjol eine dig0840s1q.tflite dazu erstellt. Seitdem keinerlei Probleme. Ich weiß leider nicht ob er alle Ziffern immer wieder in die Updates einfließen lässt.
Ev. kann er ja was dazu sagen. Ich nehme bei allen Firmwareupdates die immer mit und mache in der Config.ini entsprechenden Verweis.
dig0840s1q.tflite
LG
Horst -
@stan23 Ja danke - das schaue ich mir dann bei nächster Gelegenheit hat. Ich hatte ursprünglich auch eine globale Definition der LED-Library. Das aber hat bei mir nicht funktioniert, da irgendwo (ich habe es nicht gefunden) die GPIOs wieder überschrieben wurden und bei mir die globare Funktion nicht funktioniert hat, weswegen ich es jetzt jedesmal neu initialisiere.
-
@jomjol Guter Punkt. Vielleicht müsste man immer vor dem Einschalten den GPIO prüfen und dann die alte Instanz löschen und eine neue erstellen.
Hier ein Beispiel von einem Crash, weil Zugriff auf die Adresse 0x08 nicht klappt:
EXCVADDR: 0x00000008 (LoadProhibited)