NEWS
Wasserzähler - Version 2 - all-in-device
-
-
@pfried sagte in Wasserzähler - Version 2 - all-in-device:
@jomjol Guten Morgen, Gratuliere! Ein Artikel in ct ist ein toller Erfolg deines Projektes! Wie kommt man an den Artikel? Liebe Grüße Paul
Hi Paul,
ich fürchte, du must bis zum Erscheinen der ct Make warten. Bin auch schon ganz gespannt, wie der Artikel final aussieht! -
@jomjol
Hallo jomjol, ich hab gestern mal den Trace eingeschaltet.
Die Abstürze sind leider weiterhin vorhanden.
Was hab ich jetzt genau getan!
Beim Wasserzähler war noch Firmware vom Januar drauf und da habe ich alle neuen Parameter in die Config eingetragen, die Firmware.bin und die html.zip upgedated und die ROIs leicht angepasst.
Beim Gaszähler nur die Config überprüft ob alle neuen Daten drauf sind, die html.zip upgedated und die ROIs angepasst.
Auch an der Stromversorgung hab ich nichts getan. Die Änderungen an der Config habe ich mit Note++ am WinPC
gemacht und dann auf der SD Karte über das Netz überschrieben. Bisher habe ich sowas immer direkt auf der herausgenommenen SD Karte gemacht.Hier mal das Log vom Gaszähler:
log_2021-03-23.txt
und das Log vom Wasserzähler:
log_2021-03-23.txt
Der Reboot kommt scheinbar bei beiden Zählern nach .......FlowControll.doFlow - ClassFlowMakeImageWürde mal deinen Tip abwarten bevor ich alles neu aufsetze.
LG
Horst -
@hasont Hi, ich denke es wieder die SD Karte, da er nach dem Ausgeben des Textes rebooted (und bevor er 5 mal die Wiederholschleife einlegt -> vielleicht LogFile.WriteHeapInfo(zw)?;
Bin kein Programmierer, daher sollte ein guter Tipp von einem Experten Dir mehr helfen könnenbool ClassFlowControll::doFlow(string time) { // CleanTempFolder(); // dazu muss man noch eine Rolling einführen bool result = true; std::string zw_time; int repeat = 0; #ifdef DEBUG_DETAIL_ON LogFile.WriteHeapInfo("ClassFlowAnalog::doFlow - Start"); #endif for (int i = 0; i < FlowControll.size(); ++i) { zw_time = gettimestring("%Y%m%d-%H%M%S"); aktstatus = zw_time + ": " + FlowControll[i]->name(); string zw = "FlowControll.doFlow - " + FlowControll[i]->name(); LogFile.WriteHeapInfo(zw); if (!FlowControll[i]->doFlow(time)){ repeat++; LogFile.WriteToFile("Fehler im vorheriger Schritt - wird zum " + to_string(repeat) + ". Mal wiederholt"); i = -1; // vorheriger Schritt muss wiederholt werden (vermutlich Bilder aufnehmen) result = false; if (repeat > 5) { LogFile.WriteToFile("Wiederholung 5x nicht erfolgreich --> reboot"); doReboot(); // Schritt wurde 5x wiederholt --> reboot } } else { result = true; } #ifdef DEBUG_DETAIL_ON LogFile.WriteHeapInfo("ClassFlowAnalog::doFlow"); #endif } zw_time = gettimestring("%Y%m%d-%H%M%S"); aktstatus = zw_time + ": Flow is done"; return result; }
-
@pfried sagte in Wasserzähler - Version 2 - all-in-device:
@hasont Hi, ich denke es wieder die SD Karte, da er nach dem Ausgeben des Textes rebooted (und bevor er 5 mal die Wiederholschleife einlegt -> vielleicht LogFile.WriteHeapInfo(zw)?;
Bin kein Programmierer, daher sollte ein guter Tipp von einem Experten Dir mehr helfen könnenbool ClassFlowControll::doFlow(string time) { // CleanTempFolder(); // dazu muss man noch eine Rolling einführen bool result = true; std::string zw_time; int repeat = 0; #ifdef DEBUG_DETAIL_ON LogFile.WriteHeapInfo("ClassFlowAnalog::doFlow - Start"); #endif for (int i = 0; i < FlowControll.size(); ++i) { zw_time = gettimestring("%Y%m%d-%H%M%S"); aktstatus = zw_time + ": " + FlowControll[i]->name(); string zw = "FlowControll.doFlow - " + FlowControll[i]->name(); LogFile.WriteHeapInfo(zw); if (!FlowControll[i]->doFlow(time)){ repeat++; LogFile.WriteToFile("Fehler im vorheriger Schritt - wird zum " + to_string(repeat) + ". Mal wiederholt"); i = -1; // vorheriger Schritt muss wiederholt werden (vermutlich Bilder aufnehmen) result = false; if (repeat > 5) { LogFile.WriteToFile("Wiederholung 5x nicht erfolgreich --> reboot"); doReboot(); // Schritt wurde 5x wiederholt --> reboot } } else { result = true; } #ifdef DEBUG_DETAIL_ON LogFile.WriteHeapInfo("ClassFlowAnalog::doFlow"); #endif } zw_time = gettimestring("%Y%m%d-%H%M%S"); aktstatus = zw_time + ": Flow is done"; return result; }
Also, ich bin hier auch etwas ratlos. Ich hatte ein vorgestern ein ähnliches Problem mit relativ häufigen Reboots (alle 5 -15 Runs, auch immer an dieser Stelle). Nach einem Hard-Reboot und minimalen unwesentlichen Anpassungen an der Config.ini ist der Fehler weg und er läuft bis zu 200 Runs ohne Probleme durch.
Das Problem mit dieser Fehlermeldung ist, dass dort sowohl ein Zugriff auf die SD-Karte, wie auch auf die Kamera selbst statt findet, d.h. schwer zu sagen, wo das Problem liegt, zum nicht reproduzierbar.
Ich würde mal empfehlen, die SD-Karte neu zu formatieren. Ich werde mir jetzt hier mal eine spezielle Debug-Version erstellen, die in MakeImage deutlich mehr Log-Infos mitschreibt. -
Hallo, wenn ich ich für MQTT das Passwort mit "Komma" hinterlege , wird es bei der Anfrage an den MQTT Server nicht mit übernommen. Sobald ich die Konfiguration der neu Lade fehlt das Komma im Passwort wieder ! Ich nutze aktuell die Version master - v6.3.1 - 2020-03-16
-
@mymeyer sagte in Wasserzähler - Version 2 - all-in-device:
Hallo, wenn ich ich für MQTT das Passwort mit "Komma" hinterlege , wird es bei der Anfrage an den MQTT Server nicht mit übernommen. Sobald ich die Konfiguration der neu Lade fehlt das Komma im Passwort wieder ! Ich nutze aktuell die Version master - v6.3.1 - 2020-03-16
Hallo @mymeyer,
das ist ein Thema aufgrund der Abwärtskompatibilität. In den ersten Versionen gab es noch kein MQTT bzw. Passwort und gleichzeitig war ein Komma ein zulässiger Separator der Einträge. Damit die altenConfig.ini
auch korrekt gelesen werden, wird aktuell das Komma auch noch als Trennzeichen erkannt.
Es ist geplant, dies in einer der zukünftigen Versionen abzuschalten, in der Annahme, dass dann alle nur noch aktuelleConfig.ini
verwenden und die alten Versionen nicht mehr upgedated werden.
Aktuell geht es leider nur über das verwenden eines anderen Passwortes.
Gruß,
jomjol -
@jomjol Meine Gratulation! Das ist toll und eine angemessene Bestätigung für Deine Arbeit. Haben die eigentlich etwas dafür gezahlt? Das ist ja nicht bei jeder Veröffentlichung selbstverständlich. Schau, dass die Dir auch genug Belegexemplare schicken, die Du in der Familie verteilen kannst. Die sind schneller weg, als man denkt.
Schade, dass ich letzten Monat meine ganzen Heise-Abos gekündigt habe. Die c't hatte ich fast dreißig Jahre lang im Abo.
Ist schon ein tolles Gefühl, wenn man seinen ersten Artikel in einer Zeitschrift in der Hand hält. Viel besser als den in einem Buch oder online zu sehen. Den sehr ähnlichen Artikel auf einem Massenmedium wie Spiegel Online (Yestertech) zu sehen, der dort auch noch ungefragt mit falschen Bezeichnungen verändert wurde, bereitete mir nicht annähernd so viel Spaß wie ihn später in einem Hochglanz-Nerd-Magazin zu sehen, das nur eine geringe Auflage hat.
-
Hallo,
erstmal vielen Dank an @jomjol für das tolle Projekt. Habe im Stillen mitgelesen und meinen Wasserzähler bereits smart gemacht.
Nun ist der Gaszähler dran. An dem ist zwar bereits ein Induktiver Sensor angebaut, jedoch liefert dieser mir zu ungenaue Werte.
@watcherkb kannst du auch deine stl-Datei mit der Aufnahme für den esp32 an der Oberseite zur Verfügung stellen?
Viele Grüße
Thomas -
@jomjol
Hallo jomjol!
Ich bin ja neu hier im Forum und versuche nun schon länger das ESP-Cam Modul zum Laufen zu bringen , bisher ohne Erfolg.
Zuerst einmal einen Daumen hoch für die viele Arbeit, die Du schon in dieses Projekt hineingesteckt hast!Es gibt offentsichtlich ein Problem mit dem Zugriff auf die Speicherkarte.
Wenn man einen seriellen Monitor der Arduino Umgebung startet, kann man sich das Bootverhalten ansehen.
Nach einigen Bootmeldungen bekommt man folgendes zu sehen:
...
[0;31mE (4906) connect_wlan_main: Failed to initialize the card (263). Make sure SD card lines have pull-up resistors in place.[0m
[0;32mI (4916) server_ota: Start CheckOTAUpdateCheck ...[0m
Start CheckOTAUpdateCheck ...
[0;32mI (4936) server_ota: SHA-256 for the partition table: : 9d4a2809ae90fb20709a8ca3dd3ac3462e1e73286bcd31b689060c......
0;32mI (4996) server_ota: SHA-256 for bootloader: : 09f050e25d82d33ab0250407aa9008f3d55d5db66fe6e62abebedd702bf6......
[0;32mI (5696) server_ota: SHA-256 for current firmware: : eb79bdeda3f2c42a29e41061a56fca14f65134b213811d0007ce08ad......
CheckOTAUpdate Partition: ESP_OK
File is locked: /sdcard/wlan.ini - wait for 1
Logfile opened: /sdcard/Y⸮ dann nur noch Byte - Müll .....CORRUPT HEAP: multi_heap.c:194 detected at 0x3ffc2950
abort() was called at PC 0x40093a8e on core 0ELF file SHA256: 739980a2f7ec5a2a
Backtrace: 0x4008ea08:0x3ffc2e20 0x4008edb1:0x3ffc2e40 0x40093a8e:0x3ffc2e60 0x40093ff9:0x3ffc2e80 0x400847e6:0x3ffc2ea0 0x4009701d:0x3ffc2ec0 0x401e9119:0x3ffc2ee0 0x400dce69:0x3ffc2f00 0x400dd9f1:0x3ffc2fb0 0x400df5fe:0x3ffc3060 0x400d9dcf:0x3ffc3870 0x400d31ac:0x3ffc3950 0x40090161:0x3ffc3970
Rebooting...
ets Jun 8 2016 00:22:57
...und die Cam startet neu. So geht das ständig von Neuem los.
Habe nun schon viele SD-Karten ausprobiert -immer das Gleiche.
Mit den Karten habe ich schon alles Mögliche probiert, mit unterschiedlichsten Tools in Linux genauso wie unter Windows. Kein Erfolg...
Das passiert übrigens auch, wenn keine Karte drin ist.Habe heute noch zwei Cams aus China direkt bekommen. Verhalten sich genau so.
Am Upload der Firmware usw. kann es wohl nicht liegen. Hier gibt es keine Probleme (weder in Windows noch in Linux).
Die Cams sind aber wohl OK, den der Webcam Sketch aus der Arduino Umgebung "CameraWebServer" funktioniert - aber da wird auch keine SD-Karte benutzt.
Weiß echt nicht mehr weiter - bin ich den der Einzige, der damit Probleme dieser Art hat?
-
@bruchpilot Du schreibst, dass Du zwei neue CAMS bekommen hast, nur die Kamera selbst, oder auch die ESPs dazu? Da ich sehe, dass Du Dich echt schon abmühst, kann ich Dir anbieten Dir meinen Ersatz-ESP32-CAM zuzuschicken um hier einen Vergleich zu haben. Ich würde diesen bei mir nochmals testen, damit wir sicher sind, dass er funktioniert. Let me know ...
-
@pfried
Hallo und Danke für Dein Angebot.
Ich habe gemeint, dass ich zwei neue Esp-32 Cams bekommen habe, sogar mit USB-Modul.
Aber die verhalten sich genau so. -
@bruchpilot Ich stehe zu meinem Angebot, oder wir gehen in einem Zoom Meeting die Schritte durch, oder du schickst mir einen ESP32-CAM von Dir zu und ich setze Ihn Dir auf ... wie Du möchtest....
-
@pfried
so ein Teil ist das:
https://www.ebay.de/itm/274583321698 -
@pfried
Ich werde erst mal ein paar Freunde kontaktieren, ob die noch andere Speicherkarten haben. Obwohl ich mir nicht vorstellen kann, dass alle 4 von mit benutzten Karten unbrauchbar sind. -
@bruchpilot Die Kosten 1 Euro pro Stk.??? Wenn Du Dir Dein LOG ansiehst, kannst Du sehen das die SD KArte nicht initialisiert werden kann (gleich erste Zeile), tritt das bei allen diesen ESPs auf?
-
@pfried
Ja. Und die haben 12,58 gekostet. -
@bruchpilot Der Preis ist schon OK Lass mich wissen, ob ich Dir wie oben beschrieben helfen kann. LG Paul
-
Habe mir gerade noch eine neu SD-Karte bestellt. Soll morgen da sein.
Dann sehe ich weiter. -
@bruchpilot
Hallo, wie ja schon mal geschrieben hatte ich 8 Karten wovon nur 4 gingen.
Alle 8 waren schon mal mit Startpartitionen unter Linux im Einsatz.
Die 4 die meine ESPs gar nicht mögen waren alle von SanDisk.Benutzt du immer das gleiche Netzgerät?
Ich hab nen 2200uF Kondensator an meinen 5V zur Pufferung.
Die ESP32 sind ja angeblich recht empfindlich wenn die Spannung unter 4,8V geht.
Da sollen auch Spitzen ausreichen die du nur mit dem Oszi siehst. Z.B. beim Zugriff auf SD Karte.
Ev. brauchen alte SD Karten auch mehr Strom und das ganze Theater kommt daher.Bin mal gespannt wie das bei dir ausgeht! >>> Und auch mein Angebot eine Karte zu senden steht.