Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. hike

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    H
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 25
    • Best 2
    • Groups 1

    hike

    @hike

    2
    Reputation
    9
    Profile views
    25
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    hike Follow
    Starter

    Best posts made by hike

    • RE: Wasserzähler - Version 2 - all-in-device

      @jomjol Danke für den Tip, jetzt druckt er auch den Deckel.

      Thema Gaszähler / Wasserzähler:

      Die Rebootzs haben bei mir zwei unterscheidbare und reproduzierbare Ursachen.

      1. Wenn ein Flow läuft, führt ein Aufruf der Startseite bei mir zum Reboot.
      2. Nach etwa 43 Flows erfolgt ein Reboot.

      zu 1: Ich habe die Ausgaben im Seriellen Monitor vom vielen Reboots im ESP-Exception-Decoder analysiert.
      Es werden immer wieder andere Stellen im Code von FtLite angezeigt.
      Für mich sieht das so aus, als wären die verwendten Routinen in den Bibliotheken nicht reentrant.
      Ich habe deshalb die sysInfo weiter ausgebaut um mehr über den Status der Flows zu erfahren.
      Wartet man bis der aktuelle Flow abgeschlossen ist, bleibt das System stabil. Die Startseite ruft zum Aufbau mehrfach den Webserver über verschiedene url's auf. Das scheint das RTOS-Beriebssystem zu überfordern, wenn gleichzeitig noch sehr rechen- und zeitintensive Prozesse zur Bildanalyse laufen.

      zu 2: Der zweite Fehler sieht danach aus, dass Speicher ( möglicherweise in den Bibliotheken ) nicht richtig freigegeben wird und die Heaps damit immer kleiner werden bis es kracht. Ich hatte ein ähnliches Problem bei der Verwendung von fmt2jpg aus img_converters.h. Leider ist das Interface zu fmt2jpg schlecht kommentiert, man muss in den Code reinsehen um zu erkennen, das die Routine selber für die Auagabe Speicher alloziert die man anschließened selber freigeben muss.

      Ich arbeite weiter daran.

      Gruß Hike

      posted in Hardware
      H
      hike
    • RE: Wasserzähler - Version 2 - all-in-device

      @jomjol

      Hallo
      Ich habe die Rolling Version vom 25.9.2020 als Ausgangspunkt genommen und diverse Änderungen im Code vorgenommen. Leider habe ich nur sehr,sehr rudimentäre Erfahrungen mit collaborativen Arbeiten mit GIT.
      In den neueren Code habe ich noch nicht reingesehen.

      Da ich den Wasserzähler leider nicht stabil bekommen habe, habe ich mich an meinem Gaszähler versucht.
      Da werden doch häufiger Ziffern richtig erkannt.

      Um die Beleuchtung regulieren zu können, habe ich ledc_timer verwendet. da muss man wegen der Verwendung einiger Timer durch die Kamera aufpassen. Ich verwende LEDC_Timer_2 und LED_Channel_7.
      Die SD-Card habe ich auf slot_config.width = 1 eingestellt, damit wird GPIO04 frei.

      Alle Versuche, den zweiten I2C-Bus zu nutzen ( z.B. für ein OLED-Display) sind gescheitert

      Ich habe viele Logging- Funktionen auf ESP_LOGI(TAG," "); umgestellt
      Die Logfilegröße habe ich beschränkt und lege die alten Log_files in einem separaten Verzeichnis ab.

      Du verwendest stb_xx.h files . Gibt es dazu eine API-Dokumentation?
      Wo werden Funktionen verwendet, die in Referenzparametern Ergebnisse zurückliefern,
      Bekommen die beim Aufruf einen Ergebnisspeicherblock mitgeliefert oder allozieren die selber Speicher.
      Du verwendest an verschiedenen Stelllen user_ctx->scratch, da steht meistens nur ein Namesstring drin, ich habe aber irgendwo auch einmal ein Malloc gesehen, finde das aber nicht mehr

      Gruß Hike

      posted in Hardware
      H
      hike

    Latest posts made by hike

    • RE: Wasserzähler - Version 2 - all-in-device

      @jomjol

      Hallo
      Ich habe die Rolling Version vom 25.9.2020 als Ausgangspunkt genommen und diverse Änderungen im Code vorgenommen. Leider habe ich nur sehr,sehr rudimentäre Erfahrungen mit collaborativen Arbeiten mit GIT.
      In den neueren Code habe ich noch nicht reingesehen.

      Da ich den Wasserzähler leider nicht stabil bekommen habe, habe ich mich an meinem Gaszähler versucht.
      Da werden doch häufiger Ziffern richtig erkannt.

      Um die Beleuchtung regulieren zu können, habe ich ledc_timer verwendet. da muss man wegen der Verwendung einiger Timer durch die Kamera aufpassen. Ich verwende LEDC_Timer_2 und LED_Channel_7.
      Die SD-Card habe ich auf slot_config.width = 1 eingestellt, damit wird GPIO04 frei.

      Alle Versuche, den zweiten I2C-Bus zu nutzen ( z.B. für ein OLED-Display) sind gescheitert

      Ich habe viele Logging- Funktionen auf ESP_LOGI(TAG," "); umgestellt
      Die Logfilegröße habe ich beschränkt und lege die alten Log_files in einem separaten Verzeichnis ab.

      Du verwendest stb_xx.h files . Gibt es dazu eine API-Dokumentation?
      Wo werden Funktionen verwendet, die in Referenzparametern Ergebnisse zurückliefern,
      Bekommen die beim Aufruf einen Ergebnisspeicherblock mitgeliefert oder allozieren die selber Speicher.
      Du verwendest an verschiedenen Stelllen user_ctx->scratch, da steht meistens nur ein Namesstring drin, ich habe aber irgendwo auch einmal ein Malloc gesehen, finde das aber nicht mehr

      Gruß Hike

      posted in Hardware
      H
      hike
    • RE: Wasserzähler - Version 2 - all-in-device

      @jomjol Danke für den Tip, jetzt druckt er auch den Deckel.

      Thema Gaszähler / Wasserzähler:

      Die Rebootzs haben bei mir zwei unterscheidbare und reproduzierbare Ursachen.

      1. Wenn ein Flow läuft, führt ein Aufruf der Startseite bei mir zum Reboot.
      2. Nach etwa 43 Flows erfolgt ein Reboot.

      zu 1: Ich habe die Ausgaben im Seriellen Monitor vom vielen Reboots im ESP-Exception-Decoder analysiert.
      Es werden immer wieder andere Stellen im Code von FtLite angezeigt.
      Für mich sieht das so aus, als wären die verwendten Routinen in den Bibliotheken nicht reentrant.
      Ich habe deshalb die sysInfo weiter ausgebaut um mehr über den Status der Flows zu erfahren.
      Wartet man bis der aktuelle Flow abgeschlossen ist, bleibt das System stabil. Die Startseite ruft zum Aufbau mehrfach den Webserver über verschiedene url's auf. Das scheint das RTOS-Beriebssystem zu überfordern, wenn gleichzeitig noch sehr rechen- und zeitintensive Prozesse zur Bildanalyse laufen.

      zu 2: Der zweite Fehler sieht danach aus, dass Speicher ( möglicherweise in den Bibliotheken ) nicht richtig freigegeben wird und die Heaps damit immer kleiner werden bis es kracht. Ich hatte ein ähnliches Problem bei der Verwendung von fmt2jpg aus img_converters.h. Leider ist das Interface zu fmt2jpg schlecht kommentiert, man muss in den Code reinsehen um zu erkennen, das die Routine selber für die Auagabe Speicher alloziert die man anschließened selber freigeben muss.

      Ich arbeite weiter daran.

      Gruß Hike

      posted in Hardware
      H
      hike
    • RE: Wasserzähler - Version 2 - all-in-device

      @jomjol

      Hilfe gesucht: Problem beim Druck des Kameradeckels 3d_AI-on-the-edge_Cover.stl.

      Hallo,
      Ich habe mich zum ersten Mal an einem 3D-Druck versucht ( Cura 4.7 , Conrad Monoprice Mini V2, Velleman PLA)

      Meine ersten Versuche habe ich mit dem Kameragehäuse gemacht.

      Ich habe das Gehäuse (3b) und den Einsatz(3c) problemlos gedruckt bekommen.

      Der Drucker scheitert aber immer am Deckel, weil die Software den Deckel auf 4 Beinchen stellt und die großen Zwischenräume nicht überbrückt werden konnten.
      Gibt es eine Möglichkeit , den Deckel um 180° zu drehen und dann zu sclicen?

      Gruß Hike

      posted in Hardware
      H
      hike
    • RE: Wasserzähler - Version 2 - all-in-device

      @jomjol
      Hallo Jomjol ,
      Problem in der aktuellen Rolling version
      in connect_wlan.cpp in LoadWlanFromFile in Zeile 154

      Die Zeile
      ;hostname is optional
      in der wlan.ini verursacht einen Crash beim Aufruf von LoadWlanFromFile

      Ursache: zerlegt[1] = trim(zerlegt[1], " ");

      Da die Zeile kein = zeichen enthält, wird zerlegt[1] nicht initialisiert

      Lösung :

      if (zerlegt.size() > 1) {
      zerlegt[1] = trim(zerlegt[1], " ");
      } else{
      printf("line has no delimiter =, maybe a comment %s \n", line.c_str());
      }

      Gruß Hike

      posted in Hardware
      H
      hike
    • RE: Wasserzähler - Version 2 - all-in-device

      @jomjol

      Die GPIOs sind mir klar(26,27). Neben dem Freischalten (1Bit-Mode) des Kartenlesers den Du ja auch verwendest könnte man auch GPIO13 und GPIO2 für den zweiten I2C-Bus verwenden. Einige der anderen Pin erzeugen Bootprobleme, da sie durch die pullups auf high liegen.

      Ich bin überhaupt erst auf die Idee gekommen, weil in Deinen Projekt unter lib/driver die tatsächlich verwendeten .h und .c aufgeführt sind. So konnte ich im Log sehen, das der Kameratreiber in sccb.c twi verwendet.
      Damit komme ich an den zweiten I2C Bus nicht ran, den ich aber gerne für die Ansteuerung von einem Oled-Display nutzen würde.

      Bei anderer Vorgehenweise z.B als Arduino-Projekt und der Verwendung von Wire0 und Wire1 (I2C-Scanner) bekomme ich zwar die I2C-Adresse de Kamera zu sehen, jedoch fällt der Prozessor mit einer Guru-Meditation beim ersten Zugriff auf das zweite Interface auf die Nase.

      An diesem Problem scheint sich schon der eine oder andere die Zähne ausgebissen zu haben.
      Beste Grüße
      Hike

      posted in Hardware
      H
      hike
    • RE: Wasserzähler - Version 2 - all-in-device

      @jomjol
      Deine Achtung-Anmerkung ist die Lösung. Diesen Hinweis habe ich noch nirgendwo gesehen. Da muß man erst mal drauf kommen. Ich bin dutzendmale vorher in die Fehlermeldung gerauscht.

      Das Tool ist etwas gewöhnungsbedüftig, seltsamerweise reagiert Arrow up and down nicht, dafür aber + (down) und - (up).
      Ich finde aber keinen Eintrag für sccb.
      In der camera lib gibt es einen Hinweis auf kconfig, das scheint das definierende File für menuconfig zu sein.
      https://github.com/espressif/esp32-camera
      Make sure to append this Kconfig content into the Kconfig of your project. Then, choose the configurations according to your setup.

      Irgendeine Idee wo ich das finde?
      Danke
      Hike

      posted in Hardware
      H
      hike
    • RE: Wasserzähler - Version 2 - all-in-device

      @jomjol
      I2C Problem: Ich brauche einen zweiten I2C Port

      Die Kamera scheint über Software I2C angesteuert zu werden da die Parameter für HardwareI2C in der sdkconfig (CONFIG_SCCB_HARDWARE_I2C , CONFIG_SCCB_HARDWARE_I2C_PORT) nicht gesetzt sind.
      Siehe dazu auch https://github.com/espressif/esp32-camera/blob/master/Kconfig

      Das Problem tritt auf, wenn man den zweiten I2C Port benutzen will.
      Ein direktes Eintragen in die sdkconfig funktioniert nicht, da diese bei jedem build neu geschrieben wird.

      Ich habe länger rumgesucht und keine Lösung zur Veränderung der sdkconfig gefunden. run -t menuconfig funktioniert bei mir nicht.

      Wie hast Du die sdkconfig aus der sdkconfig.old erzeugt?

      Beste Grüße
      Hike

      posted in Hardware
      H
      hike
    • RE: Wasserzähler - Version 2 - all-in-device

      @jomjol

      Hallo jomjol ,

      ich habe das Problem mit dem zweitem komischen Analogzeiger noch mal genauer untersucht. Ein Vergleich der Bilder ergibt, dass meine Wasseruhr an dieser Stelle defekt sein muss, da sich die Stellung des Zeigers nie ändert.
      5ccfbb46-0603-470e-bdd6-47d6edc5f13a-grafik.png
      Das führt in Vergleich zu Fehlern wie diesem:
      620.2576 Negative Rate - Returned old value - read value: 620.2553
      da sich die 5 nicht ändert.
      Der vollständige Wert von Analog 1 (2.2) bildet übrigens den richtigen Wert gut ab.
      613dd444-9af0-47e0-931e-8c7c9ac9b0e1-grafik.png
      Jetzt habe ich aber das auch von anderen beschriebene Problem mit der digitalen 1 , die als 0 erkannt wird.

      Beste Grüße
      Hike

      posted in Hardware
      H
      hike
    • RE: Wasserzähler - Version 2 - all-in-device

      @jomjol
      Ich habe das schon früher mal versucht, brauchte danach eine neue.
      Deshalb bin ich auch sehr angetan , dass die KI die anderen Ziffern erkennt.

      Das ist eine Wasseruhr von meinen Stadtwerken. Die scheint nicht so selten zu sein.
      Ich habe mal irgendwo ein ESP8266 Projekt gesehen, da wurde das Spiegelsignal auf dieser Anzeige ausgewertet

      Im Protokoll sehe ich immer wieder , aber unregelmäßig, Neustarts

      2020-09-12_20-10-12: task_autodoFlow - next round
      2020-09-12_20-10-12: FlowControll.doFlow - ClassFlowMakeImage
      2020-09-12_20-10-17: FlowControll.doFlow - ClassFlowAlignment
      2020-09-12_20-10-18: Image Load failed:/sdcard/img_tmp/raw.jpg FreeHeapSize before: 3218988 after: 3218896
      2020-09-12_18-10-58: Startsequence 02
      2020-09-12_18-10-59: Startsequence 03

      posted in Hardware
      H
      hike
    • RE: Wasserzähler - Version 2 - all-in-device

      @jomjol
      Vielen Dank für die Erläuterungen.

      Machmal bleibt der Fileserver bei der Übertragung auch hängen, besonders wenn man z.B. die Unterverzeichnisse log/analog, die viele Dateien beinhalten, betrachtet.
      Da bleibt der Server manchmal in einer Schleife hängen und ist nicht mehr erreichbar. Dann hilft nur noch Power out Power on.

      Machmal bleibt er auch im ClassFlowAnalog hängen.

      Ansonsten habe ich jetzt schon eine ganze Reihe brauchbarer Ergebnisse. Digital sind alle Stellen ok, , ebenfalls drei analoge Stellen.
      Super, obwohl mein Bild ziemlich unscharf ist.

      Leider wird die zweite Analog-Anzeige , nicht erkannt.
      Das liegt offensichtlich daran , das meine Wasseruhr dort einen anderen Zeiger hat.

      bc942ba5-fecd-4881-9db0-60bc7ef6fac7-grafik.png

      Deshalb bekomme ich auch Meldungen wie
      620.7591 Negative Rate - Returned old value - read value: 620.7571

      Beste Grüße
      Hike

      posted in Hardware
      H
      hike
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo