NEWS
E-INK Display OpenEPaperLink - Displayanzeige mit Batterie
-
Hi zusammen,
Ich wollte heute das OpenEPaperLink Projekt vorstellen!

OpenEPaperLink ist eine Open-Source-Plattform, die es ermöglicht, E-Paper-Displays mit verschiedenen GerĂ€ten zu verbinden und Inhalte drahtlos zu aktualisieren. Es bietet eine einfache Möglichkeit, E-Paper-Displays in IoT-Projekten zu integrieren und sie mit Grafiken und Informationen zu fĂŒttern. Die Plattform bietet UnterstĂŒtzung fĂŒr verschiedene E-Paper-Displays und Mikrocontroller sowie eine Vielzahl von Schnittstellen, um Inhalte zu aktualisieren.
-
FlexibilitÀt: Die Plattform ist darauf ausgelegt, mit einer Vielzahl von E-Paper-Displays und Mikrocontrollern kompatibel zu sein. Dadurch haben Entwickler die FlexibilitÀt, die Hardware-Komponenten zu wÀhlen, die am besten zu ihren Anwendungen passen.
-
Drahtlose Aktualisierung: Ein SchlĂŒsselfeature von OpenEPaperLink ist die Möglichkeit, Inhalte drahtlos zu aktualisieren. Dies ermöglicht es, Informationen auf den E-Paper-Displays von entfernten Standorten aus zu Ă€ndern, was besonders nĂŒtzlich ist, wenn die Displays in IoT-GerĂ€ten eingebettet sind.
-
UnterstĂŒtzung fĂŒr verschiedene Schnittstellen: Die Plattform unterstĂŒtzt verschiedene Kommunikationsschnittstellen, darunter Wi-Fi, Bluetooth und LoRa. Dies erleichtert die Integration mit verschiedenen Arten von Netzwerken und GerĂ€ten.
-
Open-Source-Community: OpenEPaperLink wird von einer aktiven Open-Source-Community unterstĂŒtzt, die kontinuierlich zur Verbesserung und Weiterentwicklung der Plattform beitrĂ€gt. Dies bedeutet, dass Entwickler Zugang zu einer FĂŒlle von Ressourcen und UnterstĂŒtzung haben, um ihre Projekte voranzutreiben.
Insgesamt bietet OpenEPaperLink eine benutzerfreundliche Lösung fĂŒr die Integration von E-Paper-Displays in IoT-Anwendungen, die es Entwicklern ermöglicht, schnell und effizient ansprechende Anzeigen zu erstellen und zu aktualisieren.
Wie wird es in Iobroker integriert?
Es können vorgefertigte Templates ĂŒber den Access Point benutzt werden oder JSON-Upload. Am einfachsten ist es jedoch, die VIS vom ioBroker zu nutzen. Man erstellt die VIS nach seinen Vorlieben und schickt einen Screenshot hoch zum AccessPoint!
Alle Informationen: https://github.com/jjwbruijn/OpenEPaperLink
Fertige Pakete gibt es hier: https://www.tindie.com/stores/electronics-by-nic/ (falls welche auf Lager sind!)
Um OpenEPaperLink zu nutzen, benötigt man lediglich E-Paper-Displays sowie einen Access Point. Dieser Access Point setzt sich aus einem ESP32 (fĂŒr den Webserver) und einem ESP32-C6 (fĂŒr Zigbee und Bluetooth) zusammen. Alternativ kann man auch ein fertiges Set von Anbietern wie NIC oder JJWBRUIN ĂŒber Tindie erwerben.
Hilfreiche Links in diesem Beitrag:
JavaScript Access Point Info ĂŒber Websocket
Das holt alle Informationen vom AP. Interessant fĂŒr Buttons:
https://github.com/slimline33/OpenEPaperLink-IOBROKER-JavaScriptBilder Push
Einen Beitrag von @BananaJoe welcher Schritt fĂŒr Schritt erklĂ€rt wie man Bilder pusht gibt es hier:
https://forum.iobroker.net/topic/66380/eps-e-ink-display-ansteuerung-statusdisplay-fĂŒr-2/274?_=1705903254182Puppeteer / Playwright
Einen Beitrag wie Playwright (anstelle von Puppeteer) installiert und verwendet wird auch von @BananaJoe gibt es hier:
https://forum.iobroker.net/topic/66380/eps-e-ink-display-ansteuerung-statusdisplay-fĂŒr-2/542Weather Image ĂŒber chatGTP
https://github.com/slimline33/OpenEPaperLink-IOBROKER-JavaScript/blob/main/OpenEPaperLink-WeatherImage-ChatGTP
Das Team hinter OpenEPaperLink ist Ă€uĂerst freundlich, und ihr Support ist wirklich hervorragend!
Beispiele:
Vis:







Viel SpaĂ!
@bimmi
Das hat mir auf Anhieb gefallen. Hab mir auch die AP und 10 Displays bestellt. Ist Alles schnell gekommen. Lötarbeiten waren sehr ĂŒberschaubar.
Im Paket war noch eine LED und zwei Kondensatoren dabei. Die hab ich aber nicht aufgelötet, funktioniert auch ohne. WeiĂt Du, wofĂŒr die sind?
Leider ist mir noch nichts eingefallen, wie ich die Dinger aus IOBroker ansprechen kann. Gibts da Ideen? -
-
@bimmi
Das hat mir auf Anhieb gefallen. Hab mir auch die AP und 10 Displays bestellt. Ist Alles schnell gekommen. Lötarbeiten waren sehr ĂŒberschaubar.
Im Paket war noch eine LED und zwei Kondensatoren dabei. Die hab ich aber nicht aufgelötet, funktioniert auch ohne. WeiĂt Du, wofĂŒr die sind?
Leider ist mir noch nichts eingefallen, wie ich die Dinger aus IOBroker ansprechen kann. Gibts da Ideen?@gr ich find es auch mega. die Kondensatoren sind kein muss und die LED auch nicht. Die Kondensatoren sind dazu da, die Spannung zu glĂ€tten. Diese wĂŒrde ich auf jeden Fall einlöten da die Displays wahnsinnig Empfindlich sind bei brownouts / Spannungsschwankungen.
Ich erstelle einen Screenshot meiner VIS und schicke diese dann auf einen internen Webserver. Von da aus holt der EPS AccessPoint dann regelmĂ€Ăig die Grafiken ab und aktualisiert sie bei Bedarf!
-
@gr ich find es auch mega. die Kondensatoren sind kein muss und die LED auch nicht. Die Kondensatoren sind dazu da, die Spannung zu glĂ€tten. Diese wĂŒrde ich auf jeden Fall einlöten da die Displays wahnsinnig Empfindlich sind bei brownouts / Spannungsschwankungen.
Ich erstelle einen Screenshot meiner VIS und schicke diese dann auf einen internen Webserver. Von da aus holt der EPS AccessPoint dann regelmĂ€Ăig die Grafiken ab und aktualisiert sie bei Bedarf!
-
@bimmi: Habe mir das jetzt mal auch zugelegt, obwohl ich noch keinen Richtigen Anwendungsfall habe. Eventuell kommt ja ein ioBroker Adapter (Anfrage auf GitHub ist ja raus soweit ich gesehen habe) dann wĂŒrden mir schon ein paar AnwendungsfĂ€llle einfallen.
Aber jetzt hÀtte ich ein anderes Anwendungsgebiet, das aber losgelöst von ioBroker ist.
Ich wĂŒrde die Display gerne nutzen nur um eine Zahl anzuzeigen. In dem Fall die Nummer eines MusikstĂŒcks. Ich spiele in einer Kapelle und da wĂ€re es nett das nĂ€chste StĂŒck anzeigen zu lassen.
HĂ€tte ihr eine Idee wie ich das realisieren kann? Kann ich auf den "Steuer ESP" noch irgendein Webinterface draufflashen das die Möglichkeit bitten wĂŒrde eine Nummer einzugeben und das auf Displays angezeigt wird?
Ich hoffe ich konnte ungefÀhr erklÀren was ich möchte. Ansonsten gerne nochmal nachfragen. -
@draexler aktuell wird an einer json push ĂŒbergabe gearbeitet. Ebenso wird es wohl auch bald die Möglichkeit geben, einen "outdoor" ap zu realisieren. Könnte man schon irgendwie dann hinbekommen. Da die Displays aber ohne AP Dumm sind, wird das schon eine Herausforderung. Evtl. mit chatGTP vorhanden Code ĂŒberarbeiten :D
-
@draexler aktuell wird an einer json push ĂŒbergabe gearbeitet. Ebenso wird es wohl auch bald die Möglichkeit geben, einen "outdoor" ap zu realisieren. Könnte man schon irgendwie dann hinbekommen. Da die Displays aber ohne AP Dumm sind, wird das schon eine Herausforderung. Evtl. mit chatGTP vorhanden Code ĂŒberarbeiten :D
@bimmi: Dankeschön fĂŒr die schnelle Antwort. Nur zur Sicherheit das wir nicht aneinander vorbeigeredet haben. Bei dem "Musikkapellen" Anwendungsfall ist es egal ob der OutdoorfĂ€hig ist oder nicht. Die Frage ist halt wie bekomme ich die Information ĂŒber ein Einfaches WebInteface auf den AP und dann gleichzeitig auf alle Displays (Optimal wĂ€re natĂŒrlich wenn es parallel auf dem AP laufen wĂŒrde)
EDIT: Die JSON PushĂŒbergabe wĂŒrde vermutlich wirklich sehr helfen.
-
@bimmi: Dankeschön fĂŒr die schnelle Antwort. Nur zur Sicherheit das wir nicht aneinander vorbeigeredet haben. Bei dem "Musikkapellen" Anwendungsfall ist es egal ob der OutdoorfĂ€hig ist oder nicht. Die Frage ist halt wie bekomme ich die Information ĂŒber ein Einfaches WebInteface auf den AP und dann gleichzeitig auf alle Displays (Optimal wĂ€re natĂŒrlich wenn es parallel auf dem AP laufen wĂŒrde)
EDIT: Die JSON PushĂŒbergabe wĂŒrde vermutlich wirklich sehr helfen.
-
@draexler ist seit heute integriert. https://github.com/jjwbruijn/OpenEPaperLink/wiki/Json-template
@bimmi Dann noch eine ganz andere Frage. Ich habe den AP jetzt mal zwei Danke im Schrank aufbewahrt. In der zwischen haben die Tags anzeigt das sie keine Verbindung mehr haben. WeiĂt du wann die eventuell wieder von alleine auf die Suche gehen wĂŒrden? Konnte sie jetzt nur Wiederleben in dem ich die Batterien rein und rausgemacht habe.
-
@bimmi Dann noch eine ganz andere Frage. Ich habe den AP jetzt mal zwei Danke im Schrank aufbewahrt. In der zwischen haben die Tags anzeigt das sie keine Verbindung mehr haben. WeiĂt du wann die eventuell wieder von alleine auf die Suche gehen wĂŒrden? Konnte sie jetzt nur Wiederleben in dem ich die Batterien rein und rausgemacht habe.
-
@draexler normal finden sie den ap automatisch wieder. Kann man in der Tag config zumindest ein schalten.
Leg deinen ap doch auf den Schrank?
-
@bimmi gute Idee đ nö, âim Schrankâ meine ich ausgeschalten.
Was fĂŒr eine Einstellung wĂ€re das mit dem automatischen reconnect? Anscheinend bin ich blind⊠-
@draexler ach so. Ja die Tags verlieren die Verbindung wenn der ap offline ist. Suchen aber periodisch nach einem ap!
Tag options!

Habe mich jetzt mal ein bisschen mit dem JSON Template beschÀftig.
Es gibt ja das "Json-template-demo" Template. Leider werde ich daraus nicht ganz schlauEs gibt ein paar Stellen wo ich etwas eintragen soll (Mac oder halt die eingentliche Ausgabe). Aber irgendwie kapier ich das nicht. Es gibt eine Stelle wo steht "Place the JSON String here" und weiter unten kommt es nochmal, also der Textaufbau? Also irgendwie stehe ich voll auf dem Schlauch.
Frage 1:
Kann mir jemand sagen wie der Testcode aussehen muss damit ich ein einfaches "Hallo Welt" hinbekommen?Frage 2:
Und wie muss die URL im Tag fĂŒr die JSON aussehen?<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Json template Upload Form</title> </head> <body> <h3>demo Json template form</h3> <p>You can use this as an example how to push json templates to a tag by an external server/script. Make sure your json is valid. Check the syntax on <a href="https://jsonlint.com/" target="_blank">https://jsonlint.com/</a>.<br> Documentation: <a href="https://github.com/jjwbruijn/OpenEPaperLink/wiki/Json-template">https://github.com/jjwbruijn/OpenEPaperLink/wiki/Json-template</a></p> <p> <form method="POST" action="/jsonupload"> <p> <label for="mac">Enter a 6 or 8 byte MAC address:</label><br> <input type="text" id="mac" name="mac"> </p> <p> <label for="image">Place the json string here</label><br> <textarea id="image" name="json" style="width:500px;height:80px;"> [ { "text": [5, 5, "Bahnschrift 20", "fonts/bahnschrift20", 1] }, { "box": [10, 30, 20, 20, 2] } ] </textarea> </p> <p> <input type="submit" value="Upload"> </p> </form> </p> </body> </html> -
Habe mich jetzt mal ein bisschen mit dem JSON Template beschÀftig.
Es gibt ja das "Json-template-demo" Template. Leider werde ich daraus nicht ganz schlauEs gibt ein paar Stellen wo ich etwas eintragen soll (Mac oder halt die eingentliche Ausgabe). Aber irgendwie kapier ich das nicht. Es gibt eine Stelle wo steht "Place the JSON String here" und weiter unten kommt es nochmal, also der Textaufbau? Also irgendwie stehe ich voll auf dem Schlauch.
Frage 1:
Kann mir jemand sagen wie der Testcode aussehen muss damit ich ein einfaches "Hallo Welt" hinbekommen?Frage 2:
Und wie muss die URL im Tag fĂŒr die JSON aussehen?<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Json template Upload Form</title> </head> <body> <h3>demo Json template form</h3> <p>You can use this as an example how to push json templates to a tag by an external server/script. Make sure your json is valid. Check the syntax on <a href="https://jsonlint.com/" target="_blank">https://jsonlint.com/</a>.<br> Documentation: <a href="https://github.com/jjwbruijn/OpenEPaperLink/wiki/Json-template">https://github.com/jjwbruijn/OpenEPaperLink/wiki/Json-template</a></p> <p> <form method="POST" action="/jsonupload"> <p> <label for="mac">Enter a 6 or 8 byte MAC address:</label><br> <input type="text" id="mac" name="mac"> </p> <p> <label for="image">Place the json string here</label><br> <textarea id="image" name="json" style="width:500px;height:80px;"> [ { "text": [5, 5, "Bahnschrift 20", "fonts/bahnschrift20", 1] }, { "box": [10, 30, 20, 20, 2] } ] </textarea> </p> <p> <input type="submit" value="Upload"> </p> </form> </p> </body> </html> -
@draexler leider hab ich mich mit der json noch nicht beschĂ€ftigt... Kommt noch. Ist ganz neu đ
Hier fĂŒr alle: https://www.tindie.com/stores/electronics-by-nic/
-
@draexler versuch es mal so:
http://192.xxx.xxx.xxx/jsonupload?mac=0000000000000&json=[{"text":[5,5,"Bahnschrift 20","fonts/bahnschrift20",1]},{"box":[10,30,20,20,1]},{"box":[35,30,20,20,2]},{"triangle":[60,30,60,50,80,40,1]},{"text":[5,80,"Plain text glasstown_nbp_tf","glasstown_nbp_tf",1]},{"text":[5,95,"Plain text 7x14_tf","7x14_tf",2]},{"text":[5,110,"Plain text t0_14b_tf","t0_14b_tf",1]},{"text":[135,5,"30","fonts/bahnschrift30",2]},{"text":[215,5,"70","fonts/bahnschrift70",1]},{"text":[150,80,"50","fonts/calibrib50",2,0]},{"text":[205,60,"80","fonts/calibrib80",2]},{"text":[90,35,"calibrib30","fonts/calibrib30",1]},{"line":[10,120,290,120,1]},{"line":[10,115,290,115,2]}]
IP Adresse und MAC musst du natĂŒrlich anpassen!
-
@draexler versuch es mal so:
http://192.xxx.xxx.xxx/jsonupload?mac=0000000000000&json=[{"text":[5,5,"Bahnschrift 20","fonts/bahnschrift20",1]},{"box":[10,30,20,20,1]},{"box":[35,30,20,20,2]},{"triangle":[60,30,60,50,80,40,1]},{"text":[5,80,"Plain text glasstown_nbp_tf","glasstown_nbp_tf",1]},{"text":[5,95,"Plain text 7x14_tf","7x14_tf",2]},{"text":[5,110,"Plain text t0_14b_tf","t0_14b_tf",1]},{"text":[135,5,"30","fonts/bahnschrift30",2]},{"text":[215,5,"70","fonts/bahnschrift70",1]},{"text":[150,80,"50","fonts/calibrib50",2,0]},{"text":[205,60,"80","fonts/calibrib80",2]},{"text":[90,35,"calibrib30","fonts/calibrib30",1]},{"line":[10,120,290,120,1]},{"line":[10,115,290,115,2]}]
IP Adresse und MAC musst du natĂŒrlich anpassen!
-
@bimmi Das geht so nicht, hab ich auch schon versucht. Die Daten mĂŒssen per $POST geschickt werden.
-
@gr https://everything.curl.dev/http/multipart
Dann mit exec / curl ?
@bimmi. 802.15.4 ist ja auch die Grundlage von Zigbee. Es wĂ€re ja schön, wenn der womöglich eh vorhandene Zigbee USB Stick gleich die Access Point Rolle fĂŒr die Displays ĂŒbernehmen könnte.
Offtopic: Ist die Kommunikation eigentlich in irgendeiner Form gesichert?
Da die Dinger ja PrimÀr im Supermarkt eingesetzt werden, könnte womöglich jemand auf Basis des Konzeptes im Supermarkt Unsinn mit den dortigen Preisschildern treiben -
@bimmi. 802.15.4 ist ja auch die Grundlage von Zigbee. Es wĂ€re ja schön, wenn der womöglich eh vorhandene Zigbee USB Stick gleich die Access Point Rolle fĂŒr die Displays ĂŒbernehmen könnte.
Offtopic: Ist die Kommunikation eigentlich in irgendeiner Form gesichert?
Da die Dinger ja PrimÀr im Supermarkt eingesetzt werden, könnte womöglich jemand auf Basis des Konzeptes im Supermarkt Unsinn mit den dortigen Preisschildern treiben -
@martinp ist habe diesbezĂŒglich bei Koenkk schon vor Wochen ein issue eröffnet đ
Nein. Keine VerschlĂŒsselung! Jedoch können die EPS im Supermarkt ohne Firmware Modifikation nicht mit dem esp ap kommunizieren.