Daten vom BME280 via ESP32 via RS232 auf PC mit Python 3.8.X visualisieren

  • Ich habe mal ein Projekt hier vorgestellt, bei dem MQTT zum Einsatz kommt. Allerdings habe ich einen eigenen Server auf einem Raspberry Pi installiert.

    Auf dem Pi werden die Sensordaten von Garten und Wohnung per Funk empfangen. Ein ESP8266 holt sich die Daten ab und zeigt sie auf einem ePaperdisplay an.


    Gruß Kai

  • Moin Kai,

    oha viele fremde Worte.

    Da muss ich wohl erst mal ein wenig lesen.

    Erst mal Danke jetzt hab ich zumindestens mal ein paar Schlagwörter für Frau GOOGLE.

    Habe die Homepage selbst geschrieben mit HTML und CSS. Das bedeutet also kein CMS.


    Gruss Frank.

  • Eine Frage die sich gar nicht so einfach beantworten lässt. Ich weiß nicht in wie weit Micropython MQTT unterstützt. Wenn es eine Unterstützung für dieses Protokoll gibt, ist es vielleicht erst mal ein einfachsten eine public MQTT Broker zu verwenden und bestimmte Teile auf die eigene HP verlinken. Beispiel HiveMQ. Oder wenn Du auf dem Server beim Hoster selber Software installieren darfst ... nen eigenen Broker wie z.B. Mosquitto installieren, dann ist aber noch nichts visualisiert. Evtl. gibt es Plugins für das CMS das du nutzt, falls Du eine nutzt (Wordpress, Joomla oder sowas?).


    Ich weiß es nicht ... sind nur so Ideen.


    Gruß Kai

  • Hallo zusammen,

    nun möchte ich meinen nächsten Projektschritt gehen.

    Die Daten die auf dem ESP eingehen also z.B. die Temperatur möchte ich gerne auf meiner Homepage visualisieren.

    Kann mir jemand einen Tip geben wonach ich da suchen muss ?

    Die Homepage liegt auf einem Server bei einem Hoster und der ESP befindet sich in meinem WLAN.

    Wie schliesse ich nun die Lücke.


    Gruss Frank.

  • Respekt. Dafür, dass du vor ein paar Wochen noch "keinen Plan" von Python hattest, hast Du ja ganz schön aufgedreht :thumbup:.

    Gerade das Threading ist ja nicht ganz so einfach.


    Klasse.


    Gruß Kai

  • Hallo zusammen,

    in den letzten Tagen habe ich einen Ausflug zu Python gemacht.


    Hallo Rene, wenn das nicht ins Forum zu Micropython passt einfach löschen !!!


    Ziel meines kleinen Projektes war, Daten die ich vom BME280 bekomme auf dem PC zu visualisieren.

    Für die meisten von euch bestimmt trivial für mich als blutigen Anfänger war es das nicht.

    Einige der Lektionen von Rene konnte ich anwenden und so stärker verinnerlichen ( Strings, Listen, Funktionen ... ).


    Also eine kleine Projektpräsentation :


    Wie die Daten vom BME280 auf den ESP32 kommen ist ja Dank Renes Lektionen ohne großen Aufwand nachzuvollziehen.

    Diese Daten sende ich nun via RS232 zum PC. Das wird mit einem FTDI Adapter ( Danke an Kai für deine Hilfe ich wusste nicht was ein FTDI Adapter ist und von einem Decode von Byte nach String hatte ich auch noch nichts gehört ) gemacht.

    In Python wollte ich die Daten einfach nur als Graphen darstellen. Das war gar nicht so einfach.

    Im aktuellen Programm werden die Daten im Sekundentakt gelesen und ausgegeben. Das habe ich nur gemacht um besser experimentieren zu können. Sinnvoll ist das ganze sicherlich nicht denn wer will schon die Raumtemperatur oder gar den Luftdruck im Sekundentakt auf seinem Schreibtisch wissen.

    Um eine Struktur zu bekommen und das mehrere Prozesse unabhängig voneinander laufen habe ich mich in das Thema Treading eingearbeitet.

    Eigene Experimente können mit dem im Programm gelassenen Tread Blinker ( Prozess 2 ) gemacht werden.

    Die Graphen habe ich dann mit der Matplotlib gebaut.

    Um das Ganze ein wenig ansehnlich zu gestalten habe ich mich in Tkinter eingearbeitet.

    Matplotlib und Tkinter habe ich über die Backend Funktionalität verheiratet.

    Ein Beispiel für FStrings habe ich im Programm gelassen ( ich finde das ist eine super Sache im Vergleich zum Format Befehl bei Micropython ).

    Dann habe ich mich noch ein bisschen mit den Time Funktionen beschäftigt und mit der Möglichkeit die Ausgaben von Time über Locale ins Deutsche zu bringen.


    Der aktuelle Programmstand wird von mir noch weiter bearbeitet.


    Einige offene Punkte sind : Fehler abfangen ( z.B. wenn der Serielle Port zicken macht ), Daten als CSV Datei ablegen, Daten via WLAN übertragen u.s.w.

    Da gibt es noch so einiges zu lernen und zu experimentieren.


    Wer es sich anschauen mag und konstruktive Kritik abgeben möchte ist herzlich eingeladen.


    Gruß, Frank.


    Screenshot.PNG