Zum Ausgeben der Meßwerte braucht es auch noch einen Subscriber für MQTT. Da mir das OLED Display ein wenig zu klein war, mache ich dasselbe noch einmal mit einem größeren LCD Display. So kann auch die Information klarer ausgegeben werden.
Requirements
Die Meßwerte werden vom MQTT Server abgeholt und auf einem Display dargestellt. Im Falle von Fehlern erscheint eine entsprechende Fehlermeldung.
Fehlermeldungen:
– Alles Ok, kein Fehler
– kein DHCP gefunden
– Ethernet Controller kann keine Verbindung aufbauen
– kein MQTT Server gefunden
Hardware
– Arduino Mega2560
– Ethernet Shield 2.
– Ein LCD Display mit 4 x 20 Zeichen
– Ein Breadboard, um das LCD anzuschließen oder Variante mit I2C Adapter
Software
– Display
Für das Display gibt es die LiquidCrystal Bibliothek. Für die Einheit der Temperatur [°] benutze ich einfach das passende Zeichen (dezimal 223) aus dem Zeichensatz des HD44780.
– Ethernet Shield
Die Bibliothek Ethernet 2 ist ebenfalls eine Standardbibliothek.
– MQTT Subscriber
Der Subscriber bekommt seine Messwerte vom MQTT Server und gibt sie dann auf dem LCD Display aus.
Hardware
Das LCD ist nicht als Shield ausgelegt, muss also auf einem Breadboard gesteckt und mit dem Arduino verbunden werden.
[Die Verbindung über ein Breadboard ( SPI)]
Sketch
MQTT-Subscriber-LCD
Links
LCD am Arduino anschließen
MQTT Bibliothek
https://github.com/knolleary/pubsubclient