Anzeige der Daten auf einem e-Paper Display

Moin,
ich möchte einen Monitor, der mir auf einem Display die Letzten zu Grafana übermittelten Daten anzeigt.
Ausgegeben werden sollen die Daten über ein Waveshare 4.2 e-Paper Modul, dessen Node das Display einmal pro Stunde aktualisiert.

Leider finde ich derzeit kaum Informationen, ob und wie man über MicroPython oder Arduino einzelne Datensätze aus Grafana oder InfluxDB abfragen kann. Eine Node zu Node Übertragung der Daten scheidet leider aus, da sie sich nicht in unmittelbarer Nähe befinden sollen und die Node nach der Übertragung schlafen sollen, um Srom zu sparen.

Was den Monitor-Node angeht, bin ich für alles zu haben, was entsprechende libs hat und Energie spart, da er über Akku betrieben werden sollte.

Ich wäre für jegliche Tipps dankbar, um an die Daten zu kommen.

1 Like

Hängt bei uns hier swarm / hiveeyes nicht noch ein mosquito dran wo du einfach auf deinen Datenkanal subscriben kannst?

Ja aber mir ist aktuell noch nicht ganz klar was subscriben da genau heißt. Ist dieses ein passives Mithören eines gefilterten Datenverkehrs oder ein Aktives abfragen von Daten?

MQTTKit application — Kotori 0.24.5 documentation

Meine bisherige Überlegung ging eher in Richtung daten imports eines Kanals als .json oder .csv über https.

Data export — Kotori 0.24.5 documentation

Ginge sicher auch! Mit so was from=now-1h bekommst du die letzten Datensätze, dort den letzten auswählen und dann die JSON-Daten parsen und anzeigen.

Möchtest du Einzelwerte oder den Verlauf anzeigen? Mit 400x300 px ginge das ja auch für einen grafischen output, du könntest also auch gleich eine Grafik exportieren und anzeigen lassen, wenns die Auflösung und s/w zulässt.

Hi Michael,

schöne Idee! Denkst Du an etwas in dieser Art?

image


Viele Grüße,
Andreas.

1 Like

Treiber für die Waveshare-Module finden sich bei GitHub - waveshare/e-Paper – sowohl für Arduino als auch CPython. Entsprechende Projekte, die sich um eine MicroPython-Unterstützung der Waveshare-Module bemühen, finden sich hier [1]:

MicroPython-Treiber für viele weitere Modelle von Waveshare gibts bei Mike Causer:


Zum “Rankommen an die Daten” würde ich ganz klar MQTT favorisieren, genau wie bei o.g. GitHub - koenvervloesem/ruuvitag-epaper: Receives temperature and humidity measurements from RuuviTag sensors using MQTT and shows them on a Waveshare 2.7 inch three-colour e-Paper HAT vorgemacht.

Für SBCs wie z.B. RaspberryPi wäre damit bereits einiges einer entsprechenden Anwendung nahezu vollständig implementiert.


P.S.: Bei Support displays · Issue #65 · hiveeyes/terkin-datalogger · GitHub hatten wir einige Dinge zum Thema “Anzeige auf (kleinen) Displays” bereits aufgegriffen.


  1. Auf die Arbeiten von Dominik Kapusta haben wir bereits bei Minimize battery drain by cutting off the appliance from main power source using a MOSFET und MicroPython-Datalogger for ESP32 and STM32 verwiesen und auf diejenigen von Mauro Riva bei Use realtime systems for reading digital sensors sowie LoRa support for Genuine MicroPython. ↩︎

genau soetwas in der Art. Den Raspi würde ich aber nur ungerne verwenden, da sie keine Deep sleep Unterstützung haben und daher eher über Netzteil mit einem Normalem Display verwendet werden sollten dann könnte man einfach ohne großartig zu Programieren ein einzelnes Panel oder MiniDaschboard am Display ausgeben, wie dieses:
Beispiel "Mini-Daschboard"swarm.hiveeyes.org

Oder sogar etwas HTML zu Programieren um zwischen einzelnen pannels hin und her zu Switchen.
Ich weiß auch für eine Art “Deep sleep” könnte man beim Raspi natürlich auch pHATs wie WittyPi oder WittyPi2 werwenden.

Um im gleichen Universum wie der Terkin Datalogger zu bleiben werde ich mal versuchen das Display unter Micropython auf einem WiPy oder ESP zum laufen zu bekommen.
Und ebenfalls an die Daten per MQTT zu kommen.
Wenn ich das richtig verstanden habe bekomme ich per MQTT natürlich nur an die Rohdaten und müsste für die Anzeige von Tendenzen oder Alarmen dann ein wenig Berechnen.

Stillschweigend hatte ich mir da eine read-only schnitstelle in Graphana oder InfluxDB erhofft.

Was mich auch etwas verwundert, das so etwas anscheinend noch kaum jemand für seine Wetterstationen oder Bienenstände gemacht hat.

Eigentlich will ich nur eine Übersicht und evtl Tendenzen Anzeigen, um evtl. auch mehrere Beuten gleichzeitig anzuzeigen.

Aktuelle Wetterdaten sind sicherlich auch Interessant.

Im Endeffekt soll es später etwas vereinfachter wie eine Inneneinheit einer Wetterstation aussehen und einen groben Überblick über die Beuten und Sensoren verschaffen.

Dieses ist doch auch schon mal genial, behalte ich auf alle fälle im Hinterkopf.
So könnte man sogar Graphen einbinden und diese bequem in Grafana anpassen.

Width und height lassen sich auch schon gleich beim Rendern anpassen. Nur habe ich noch nicht rausgefunden, ob und wie die Farbpalette angepasst werden könnte. &color_type= und &depth= scheinen bei den ersten Versuchen jedenfalls nicht beachtet zu werden.

Das könnte man aber sicherlich auch noch auf dem Node beim Importieren richten.

1 Like

Wie immer in der Pycom Welt wird es etwas komplizierter.
Ich habe jetzt mal die von @Andreas genannten Lib´s durchprobiert.

Die Treiber von Dominik Kapusta(ayoy) unterstützt leider nur das 1.54" Waveshare zwei Farben Display.
Sie funktioniert zwar in dem Bereich von 200x200 Pix aber sobald ich mehr will gibt es Chaos.

Die Treiber von mcaser funktionieren bei mir gar nicht, sie sind auch für einen ESP32 geschrieben ich habe versucht diese für einen Pycom anzupassen, aber das Display will absolut nichts anzeigen. Außerdem sind der 4.2 Treiber doch extrem eingeschränkt. Kein Text keine Linien oder dergleichen.

Den Treiber für das 7,5 habe ich mir aber noch nicht angeschaut.

Werde aber wie es aussieht bei den Treiber selbst Hand anlegen müssen. :roll_eyes:

Ich sträube mich immer noch, einen Raspi für ein eInk Display zu nehmen. Da schaut die Welt jedoch anscheinend etwas rosiger aus: Das Display lief dort auf Anhieb ohne Probleme.

1 Like

Vielleicht helfen Dir die Beiträge im Pycom-Forum weiter, z.B.

https://forum.pycom.io/search?term=waveshare&in=titlesposts

Ein schneller Zufallsfund. Tolles Projekt, exzellentes Layout. Befor wir selber lange rumdoktern, könnten wir das ggf. 1:1 verwenden und einfach anpassen bzw. erweitern?

Leider nicht ganz, habe das 4in2 s/w und nicht das 4.2b. Grund: Es kann Teilaktualisierungen und ist auch sonst 3-4 mal schneller.

Ich bin aber schon so einiges weiter: Habe aus mehreren Treibern mal einen zusammengebastelt. Läuft aktuell doch noch etwas arg langsam, aber ich kann schon praktisch alles machen, was ich will.

Eine volle Aktualisierung braucht aber noch extreme 30-40 Sec…
Bin mal gespannt, ob ich dort noch was rauskitzeln kann. Es liegt wohl hauptsächlich daran, das ich als Basis den 3 Farben Treiber genommen und ihn auch nicht in der Firmware eingefroren habe.

Der Stromverbrauch ist aber schon genial: Es verbraucht praktisch nur bei der Aktualisierung 10mA Strom. Ansonsten liegt er bei schlanken 10-50uA. Die Lesbarkeit ist auch bei extremen Bedingungen Top.

Ich werde auf alle Fälle mal am Treiber für Pycom noch ein wenig weiter machen, und auch mal mit einem kleinerem Display probieren. Diese Displays sind, bis auf die vielen Pins die sie belegen, auch sicher am Bienenstand selbst interessant.

@Andreas: Dein Zufallsfund schaut fast zu schön aus, um wahr zu sein. Ich werde wohl parallel auch mal einen ESP32 Arduino aus der Bastelkiste rauskramen.

1 Like

A post was merged into an existing topic: Erschließung der HTTP-Datenexportschnittstelle via Arduino

Dachte, die kann man komplett vom Strom abkoppeln und der Inhalt bleibt immer noch stehen und lesbar? Oder ist das der Verbrauch des Microcontrollers?

Ja, das Display bleibt auch ohne Strom über Monate (Jahre?) sichtbar.

Dieser Stromverbrauch ist im Sleep Modus des Displays. Das heißt die Spannungsversorgung + Datenleitungen und pullups liegen an und man kann jederzeit wieder eine neue Übertragung/Aktualisierung starten. Der Node kann dabei wach sein und sich mit anderen Dingen beschäftigen. Die 10 -50uA gönnt sich bestimmt der Displaycontroler.

Deep Sleep Display + Node habe ich noch nicht getestet. Laut Datenblatt sind das glaube ich dann 5uA fürs Display.

Bin jetzt am Wochenende entlich mal ein Stückchen weiter gekommen.
Das Display funktioniert mit Arduino-C auf einem ESP32 echt flott (1-2sek).
Die Abfrage und Anzeige der Daten von openweathermap.org läuft auch einwandfrei.

Wahnsinn, was der Python-Treiber vs. C da an Geschwindigkeit macht!

8 posts were merged into an existing topic: Erschließung der HTTP-Datenexportschnittstelle via Arduino