Robins Blog – Technik und Multimedia

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]

Die mobile Version verlassen