Beiträge von HWH

    Hallo Rene,


    ich habe das Problem auf meiner Seite gelöst. Es funktioniert nun. Die Fehler lagen tastsächlich, wie von mir vorher beschrieben in den Zeilen 126 und 127!


    So kann es gehen wenn man sich zu lange in ein Problem verbeißt und eine halbe Nachtschicht dranhängt, dann sieht man manchmal den Wald vor lauter Bäumen nicht. Ich hatte die Fehler eigentlich richtig ermittelt und auch schon behoben. Nur habe ich ständig mit der manuellen Eingabe in die Konsole gearbeitet und dabei übersehen dass man auch mal ein "show" absetzen sollte. Da ich, nachdem die Fehler beseitigt waren kein "sendTestData()" mehr aufgerufen hatte fiel dies auch nicht auf.


    Der funktionierende Code lautet nun bei mir:



    Code
    1. 116 void newCmdOrValue(const char* text)
    2. ......
    3. .....
    4. 126 String key = cmd.substring(1,i);
    5. 127 String val = cmd.substring(i+2,cmd.length());


    Bitte überprüfe Du dies noch einmal.


    Und danke nochmals, guter Kurs der viel Freude macht! :thumbup:


    Gruss

    Helmut

    Hallo Rene,

    ich habe festgestellt das bei mir weder die Funktion sendTestData(), noch fromSerial() funktioniert. Außer einem flackern im Display ist nichts festzustellen. Es kommen anscheinend keine Daten im Display an, die von "show" angezeigt werden könnten.


    Ich habe mittlerweile festgestellt das sich in der Funktion fromSerial() in den Zeilen 126 und 127 Fehler eingeschlichen haben:


    126 String key = cmd.substring(1,i-1); // schneidet vom Key das letzte Zeichen ab. Hier die Ursache ...(1,i-1). Müsste heißen ...(1,i);
    127 String val = cmd.substring(i+1,cmd.length()); // das Gleichheitszeichen wird als Value mit übertragen. Müsste heißen ..(.i+2...


    Die Daten kommen nun durch die meine Änderungen fehlerfrei in der Funktion "void newValue(String key, String val)" an. Leider suche ich von hier aus immer noch die Verbindung zum Display.


    Trotzdem liefert auch die Funktion send "TestData() " keine Daten an das Display .

    Der Compiler läuft problemlos, bis auf die angezeigten Warnungen wegen "SPIFFS", durch.


    Hast Du eine Idee wo ich weitersuchen muss? Ich habe schon, wegen mangelnder Erfahrung, eine halbe Nachtschicht damit verbracht.:/


    Gruß

    Helmut

    Hallo Jürgen,

    vorab, beim ESP32 müssen die GPIO Pins angegeben werden. Bei meinem Lolin ESP D32 Pro wären das dann:

    Mosi: GPIO23

    Miso: GPIO19

    SCK: GPIO18


    Die GPIO's werden wie beim Arduino nur mit der GPIO- Nummer angegeben. Also 23, 19, 18.....:!:


    Für das Heltec einfach mal Googeln nach "Heltec ESP32 Pinout". Da wirst Du fündig. Nur das passende aussuchen.:)


    Gruss Helmut

    Dieses Problem ist auch bei mir bekannt. Es ist Jedesmal wie im Glücksspiel wenn man versuch eine Adafruit Library zu verwenden und nicht die originale Adafruit Hardware besitzt.

    Für Displays verwende ich seit längerem nur noch die Bodmer - Library weil ich mit dieser damals auch mein NoName TFT7735 Display problemlos zum Laufen gebracht habe.

    Hallo René,


    danke für die Info, das hat auch geklappt.


    Ich hatte wohl vorher versucht auch die "messzeit" mit einzubinden. Da bekomme ich aber die Fehlermeldung das diese Variable außerhalb der Funktion nicht bekannt ist. Ist dies korrekt und wie könnte ich aus dem Block für die Display Ausgabe darauf zugreifen? Bei Temperatur, Luftfeuchtigkeit... funktioniert es. Nur bei der "messzeit" nicht.


    Mir ist da noch folgendes aufgefallen: Der Lolin ist in dieser Konfiguration anscheinend sehr empfindlich was einen Neustart von WebWetter9.py betrift. Sicherheitshalber einen Hardware Reset durchführen. Ctrl + D hilft nicht immer und ruft dann doch meistens eine Fehlermeldung beim starten hervor. Dies ist leider beim Probieren und Neustarten etwas lästig.

    Weiterhin ist mir aufgefallen dass sich die Wetterabfrage nicht automatisch aktualisiert. Dies sollte doch eigentlich alle 600 sec automatisch passieren wenn ich dies richtig verstanden habe. Liegt dies am derzeitigen Entwicklungsstand der Software, oder habe ich mir evtl. irgendwo einen Bug eingebaut?


    Gruß

    Helmut

    Hallo René,

    danke, das funktioniert und hat mir erst einmal weitergeholfen. Nun kann ich weiterbasteln.

    Gibt es eventuell eine Möglichkeit die Werte von Temperatur und Luftfeuchte auch ohne den Umweg über die Variable auszugeben?

    Ich hoffe dieses Python wird für mich nicht ein Buch mit sieben Siegeln bleiben.;)


    Gruß

    Helmut

    Hallo Rene,


    mir fehlt im Moment der nötige Ansatz wie ich aus:


    "wetter.add("Temperatur: {} Grad".format(aktuell.get("temp")))"


    die Temperatur in eine Variable extrahieren kann um sie dann im Display anzuzeigen.


    Dies soll keine Dauerlösung darstellen, sondern nur temporär, bis es mit deinem Kurs weitergeht, implementiert werden. Ich habe hier anscheinend den Anschluss verloren.


    Gruss

    Helmut

    Hallo Frank,

    das Video zeigt schon die Installation unter Windows. Linux kennt bekanntlich keine Laufwerksbuchstaben.


    Bei mir lässt sich esptool problemlos unter vscode mit platformio im eingebauten Terminal aufrufen.

    Eventuell hast Du bei der Pythoninstallation den Haken für die Pfade vergessen.

    C:\Python\Scripts\

    C:\Python\

    C:\VS Code\bin


    C:\Python\Scripts\;C:\Python\;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;C:\Users\XXX\AppData\Roaming\Python\Python38\Scripts;C:\ VS Code\bin;


    Hier meine Pfade zum installierten esptool unter Windows 10:

    C:\Users\XXX\Documents\Arduino\hardware\espressif\esp32\tools\esptool\esptool.exe

    C:\Users\XXX\.platformio\packages\tool-esptool


    War die ArduinoIDE mit der ESP... Erweiterung vor der Installation von VSCode vorhanden?

    Was passiert nach dem Öffnen es Command Fensters unter Windows und darin der Aufruf von esptool? Öffnet sich das Hilfefenster von esptool?

    Wenn nein ist esptool evtl. nicht installiert oder die Pfade fehlen.

    pasted-from-clipboard.png

    Pymakr habe ich persönlich noch nicht ausprobiert, da mir für Micropython derzeit noch Thonny genügt. Dies hebe ich mir dann für die kältere Jahreszeit auf.


    Ich hoffe dies hilft Dir weiter.



    Gruss

    Helmut

    Hallo Rene,

    ich habe seit dem Beginn deines Tutorials mit dem Lolin D32 Pro und einem ext. OLED-Display gearbeitet. Mir war nicht bekannt dass dieses Board über soviel Speicher verfügt. Ich hatte dies zwar schon vereinzelt gelesen, aber für einen Fake gehalten.

    Danke hier habe ich wieder etwas sehr wissenswertes dazugelernt!!


    Die Displayanzeige für die SSID und die IP-Adresse habe ich in dem WebWetter9.py wieder implementiert. Da ich derzeit auf meinem Display noch 3 Zeilen zur Ausgabe frei habe, möchte ich gern die von Open Weather gelieferten Werte für die aktuelle Temperatur und die Luftfeuchtigkeit ausgeben. Leider bekomme ich es nicht hin diese Werte für das Display aufzubereiten und auszugebenX(. Kannst Du mir, oder jemand aus der Community, dabei weiterhelfen?


    Nochmals ein Lob: Eine ganz tolle Folge von Tutorials. Weiter so:!::!::!:


    Gruß

    Helmut

    Hallo Frank,


    Amazon hat heute das Modul erfreulicher Weise vorzeitig geliefert.

    Es ist das Original Heltec-Board!


    Leider bin ich noch dazu gekommen die Steckleisten einzulöten. Hat mittlerweile auch Zeit, da ich mit meinem Wemos Lolin D32 Pro und zugehörigen externen Display ebenfalls sehr gut klar komme.

    Hallo René,


    danke für die schnelle Antwort.

    Ich habe gestern Abende noch ein bischen rumprobiert und wollte sowieso einmal das mit dem SPIRAM ausprobieren. Daraufhin habe ich das MP Betriebssystem "esp32spiram-idf3-20191220-v1.12.bin" als Stable Version installiert und siehe da, das Logfile läuft nun schon seit beinahe 10 Std ohne Probleme.

    Vorher hatte ich die Version "esp32-idf4-20191220-v1.12.bin" ohne Spiram am Laufen.

    Ich werde demnächst auch noch die Version esp32spiram-idf4.... testen und dann über meine Erfahrungen berichten.


    So, nun werde ich mir einmal dein neues Video anschauen.

    Meinerseits noch ein kleiner Hinweis, in den letzten Folgen ging es für meinen Geschmack doch etwas zu sehr hopplahopp. Ich habe dann teilweise die Lust am Weitermachen verloren, mich aber trotzdem zu Weitermachen durch-gerungen. Wenn ich etwas mache, dann möchte ich auch schon durchblickern was ich tue...... wichtige Erkenntnis aus langer Berufserfahrung.

    Aber sonst mein Lob zu deinen gelungenen Tutorials.


    Gruß

    Helmut

    Hallo Forengemeinde , hallo René,


    bei mir tritt nach einer Laufzeit von ca. 45 Minuten der o.a. Fehler im Logfile der Wetterstation auf. Das abholen der Wetterdaten funktioniert weiterhin problemlos. Ich vermute ein Problem mit der Größe des erzeugten Logfiles.

    Wo schreibt Python dies hin? Eigentlich sollte mein Wemos LOLIN D32 Pro v2 genügend Speicher für diesen Zweck zur Verfügung stellen können.:/

    Gibt es dazu in der Folge noch Anpassungen?


    Mit der Partitionierung der Speicherbereiche tappe ich vollkommen im Dunkelen, auch das tausendfache lesen der engl. Dokus hilft mir nicht wirklich weiter. Sieht sich jemand in der Lage mir dies verständlich auf deutsch näher zubringen? Ebenso bin ich unsicher ob der ESP-WERVER B-32 mit 8 oder 16 MB Flash ausgestattet ist. Die Espressif Website lässt da auch vieles offen. ;(


    vorab vielen Dank für Eure Mühe


    Helmut

    Hallo Handre,


    lasse doch den Sensor einfach parallel auf den GPIO's laufen, auf denen Du das Display hast. I2C sieht bis zu ~120 Devices auf einem Bus vor. Dan braucht man doch keine 2 Busse zu belegen. Bei mir klappt diese Konfiguration einwandfrei.

    Sofern dein Display sauber arbeitet kannst Du davon ausgehen dass dieser Bus einwandfrei arbeitet.

    Hast Du auf dem Bus, an dem Du den Sensor betreibst externe PullUp-Widerstände installiert? Die Aktivierung der Interen kann ich in deinem Code nicht erkennen. Falls nicht, kann dies zu unvorhersehbaren Nebenerscheinungen führen. Du betreibst 2 unabhängige I2C Busse und jeder muss für sich mit PullUp Widerständen versorgt werden.

    Die I2C Spezifikation verlangt PullUp Widerstände, sowohl auf SDA als auch auf SCL.:!:


    Gruß

    Helmut

    Hallo René,


    habe mittlerweile deinen Kurs ESP32 mit Micropythen verfolgt. Daumen hoch dafür.:!:


    In Folge 5 hast Du ausführlich über das OLED-Display und dessen Handhabung berichtet. Genau so etwas habe ich gesucht und sehr gut verwenden können. Meines läuft zwar nicht auf dem SSD1306 Chipsatz sonder auf dem SH1106 , aber die Grundlagen die Du vermittelt hast haben mir sehr weitergeholfen. Mittlerweile habe ich dadurch mein Oled-Display einigermaßen im Griff.

    Wird in dieser Richtung noch Tiefergehendes und Weiteres kommen, eventuell auch über TFT's:?:


    Gruß

    Helmut

    Ich habe seit kurzem auf Thonny Version 3.2.7 umgestellt und den Micropython Kurs damit fortgeführt.

    Bis auf ein paar kleinere "Hakler" funktioniert Thonny sehr gut.:)


    Gruß

    Helmut

    Hallo René,

    besteht die Möglichkeit dass Du etwas tiefergehend auf das Thema Display's und deren Eigenarten eingehen könntest. Ich kämpfe immer wieder mit der Handhabung von OLED- und TFT Displays. Die Angaben der verwendeten Chipsätze sind leider vom Verkäufer teilweise falsch angegeben und leider auch nicht auf dem Shield aufgedruckt.?(

    Hier nur einmal ein Beispiel:

    OLED :

    IC: SSD1306

    Spannung: 3,3 bis 5,3
    Display Größe: 1,3"
    Pixel Farbe der Anzeige: Weiß
    Auflösung: 128 x 64 Pixel
    Schnittstelle: I2C
    Rastermaß: 2,54
    Maße Display ca. 31 x 15mm
    Maße PCB: ca. 36 x 34

    Nach vielen Fehlversuchen, wegen mangelnder Erfahrung, bis das Display endlich ein Lebenszeichen von sich gab, musste ich feststellen, dass das Display eigentlich mit einem SH1106 Chipsatz ausgerüstet ist. X(


    Ein weiteres Beispiel ist ein TFT-Display "KMR 1.8 SPI" welches mit dem ST7735 Chipsatz ausgerüstet sein soll, aber nur nur auf dem ST7789 Chipsatz etwas darstellte. Je nach verwendeter Library funktioniert mal der eine oder der andere Chipsatz bzw. stellt das Display nur schwarze horizontale Balken dar. Jede Library funktioniert eigentlich anders, so dass jedesmal wieder "Jugend forscht" angesagt ist. Letztlich habe ich meine mitgelieferte TFT-Library umstricken müssen weil das Display damit nur als ST7789 anzusprechen ist aber dann Rot und Blau vertausch waren.


    Es wäre sehr nett falls Du da doch einmal etwas mehr Licht in diese Angelegenheiten bringen könntest.

    Interessant wäre auch die Umschaltung "DC" Data/Command bei SPI. :!:Wann werden dort welche Informationen übertragen und wie könnte man die Unterschiede analysieren (Logic Analyser)?


    Gruss

    und vielen Dank im Voraus :)


    Helmut