ESP 8266: LED-Matrix Display Wetter / Nachrichten / Bitcoin

Ich mag Displays. Ich habe schon einige Projekte mit LCD-Displays (-> Blogbeiträge), OLED-Displays (-> Bitcoin-Ticker) und auch normale Tablets (-> TabletUI) gemacht. Heute habe ich mir mal ein LED-Matrix-Display MAX7219 angeschaut. Nicht das einzelne, sondern gleich das vierer Multipack.
Mit geeigneter Software kann man damit wie mit einem Laufband Wetter / Nachrichten / Bitcoin darstellen.


Die Software habe ich nicht programmiert, sondern kommt hier her. Qrome / Marquee.
Die Software hat ein Webinterface, welches man einfach konfigurieren kann. Nach erstmaligen Aufruf wird ein Accesspoint aufgebaut, auf dem man sich verbindet und dort sein eigenen SSID / Passwort eingeben kann. Ebenfalls kann man dort weitere Informationen fürs Display ein- oder ausblenden. Sehr gut gemacht. Was mir fehlt, ist eine MQTT Schnittstelle.

Für die Hardware benötigt man einen

Auto Amazon Links: Keine Produkte gefunden. http_request_failed: Es wurde keine gültige URL übermittelt. URL: https://ws-eu.amazon-adsystem.com/widgets/q?SearchIndex=All&multipageStart=0&multipageCount=20&Operation=GetResults&Keywords=B0754N794H&InstanceId=0&TemplateId=MobileSearchResults&ServiceVersion=20070822&MarketPlace=DE Cache: AAL_d2ae45fb44b1930fed39d5012ef5aaf4

und das

Auto Amazon Links: Keine Produkte gefunden. http_request_failed: Es wurde keine gültige URL übermittelt. URL: https://ws-eu.amazon-adsystem.com/widgets/q?SearchIndex=All&multipageStart=0&multipageCount=20&Operation=GetResults&Keywords=B07BRTCBLQ&InstanceId=0&TemplateId=MobileSearchResults&ServiceVersion=20070822&MarketPlace=DE Cache: AAL_ef592baa71557113ade5496bab7f0c3f

. Gegebenenfalls ein passendes Gehäuse.

Display Ein- und Ausschalten per Fhem:
Normalerweise ist ein Toggle-Mode in der Software eingebaut, mit dem man per Http die LED-Matrix ein- und ausschalten kann. Ich habe die Software noch um ein paar Zeilen erweitert, sodaß man per Fhem einen definierten Zustand schalten kann.

 

void handleDisplayOn() {
if (!athentication()) {
return server.requestAuthentication();
}
displayOn = true;
enableDisplay(displayOn);
String state = "ON";
displayMessage("Display is now " + state);
}

void handleDisplayOff() {
if (!athentication()) {
return server.requestAuthentication();
}
displayOn = false;
enableDisplay(displayOn);
String state = "OFF";
state = "OFF";
displayMessage("Display is now " + state);
}

In Fhem:

defmod LEDMatrix dummy
attr LEDMatrix comment https://github.com/Qrome/marquee-scroller
attr LEDMatrix devStateIcon an:it_camera@red aus:it_camera@green
attr LEDMatrix devStateStyle {($state eq "an")?'style="color:red"':'style="color:green"'}
attr LEDMatrix room 40_Büro
attr LEDMatrix webCmd an:aus

defmod ntfy_LEDMatrixAN notify LEDMatrix:an {Log 1, "LEDMatrixan";; {system ("wget -q -O- 'http://192.168.178.42/displayon'");;} }

defmod ntfy_LEDMatrixAUS notify LEDMatrix:aus {\
Log 1, "LEDMatrixaus";;\
{system ("wget -q -O- 'http://192.168.178.42/displayoff'");;}\
}\

Update 28.10.2018: Es gibt ein Problem mit der Zeitumstellung
Folgende Zeile löst das Problem:

In Geonameclient.cpp modifiy line 81 from:

String offset = (const char*)root[„dstOffset“];
To:
String offset = (const char*)root[„gmtOffset“]; //Now uses the varying gmtOffset value

[crypto-donation-box]

Dieser Beitrag wurde unter Fhem-Hausautomation abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

2 Antworten zu ESP 8266: LED-Matrix Display Wetter / Nachrichten / Bitcoin

  1. Robin sagt:

    Hallo Dave,

    nein, aber ich habe eine andere Lösung gefunden, welche schon seit 6 Monaten fehlerfrei läuft.
    Alle Infos werden über MQTT von Fhem ans Display geschickt.

    https://blog.moneybag.de/smartes-max7219-dot-matrix-display-fuer-fhem-als-status-anzeige/

    liebe Grüsse
    robin

  2. Dave sagt:

    Hi
    ein sehr geiles Projekt. Es ist ähnlich zu diesem https://github.com/jptrsn/clock-message-board jedoch deutlich umfangreicher.
    hast du mittlerweile MQTT implementiert bekommen?
    br Dave

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.