Thermometer und Hygrometer mit Display. Arduino-Programmierung. MQTT-kompatibel zur Anbindung an Home Assistant. Aufbau-Variante "Breadboard".

Thermometer und Hygrometer mit Display. Arduino-Programmierung. MQTT-kompatibel zur Anbindung an Home Assistant. Aufbau-Variante "Breadboard".

Über das Projekt

Dieses Tutorial erklärt, wie mithilfe des Entwicklungsboards D1 Mini (basiert auf ESP8266) und dem digitalen Sensor DHT22 / AM2302 Temperatur und Luftfeuchtigkeit überwacht werden. Die erfassten Daten werden einerseits an einem LCD-Display direkt am Sensor ausgegeben. 

Außerdem können sie auch via MQTT an gängige Smart Home Systeme (wie z.B. Home Assistant) übertragen werden.

Der Aufbau erfordert gewisse Elektronik- und PC Kenntnisse. Zum Aufspielen der Software ist ein Computer mit installierter Arduino IDE erforderlich.

Hardware

Bauteile

Zum Aufbau werden folgende Bauteile benötigt:

D1 Mini NodeMCU löten

Damit der „D1 Mini NodeMCU“ mit der Leipterplatte verlötet werden kann, muss er zuerst mit den PINs verlötet werden. Dabei bitte darauf achten, dass die PINs rechtwinklig angelötet werden, damit sie später auch zur Leiterplatte passen.

LCD1604 löten

Nun wird der IIC/I2C Interface-Adapter an die Unterseite des LCD-Displays gelötet. Siehe folgende Abbildung.

Stecken

Im nächsten Schritt werden alle Bauteile auf das Breadboard gesteckt. Das LCD-Display wird über Female-Male Jumperkabel mit dem Breadboard verbunden. Das folgende Fritzing-Schaubild gibt einen guten Überblick.

Erster Test

Werden die Bauteile falsch gesteckt und der NodeMCU an den PC angeschlossen, so kann dies zur Beschädigung des USB-Ports des PCs führen. Daher testen wir erst einmal, indem wir den NodeMCU an ein klassisches USB-Ladegerät oder eine Powerbank mit USB-Kabel anschließen. Wird dort nichts zu heiß, ist das schon einmal ein gutes Zeichen.

ARDUINO PROGRAMMIERUNG

Arduino IDE einrichten

Wir benötigen die Arduino IDE, welche hier kostenlos heruntergeladen werden kann: https://www.arduino.cc/en/Main/Software

Danach gehen wir wie folgt vor:

  1. Unter „Werkzeuge -> Board“ wählen wir das Board „Generic ESP8266 Module“ aus.
  2. Unter „Werkzeuge -> Upload Speed“ wählen wir 115200 aus.
  3. Unter „Werkzeuge -> Bibliotheken“ verwalten binden wir die im Arduino-Sketch (siehe Link im folgenden Abschnitt) verwendeten Bibliotheken ein.
  4. Dann kopieren wir den Arduino-Sketch (siehe Link im folgenden Abschnitt) und laden ihn per „Sketch -> hochladen“ hoch.

Wenn alles geklappt hat, können wir nun unseren „Raumklimasensor“ nutzen.

Arduino-Sketch auf GitHub

Der im vorherigen Abschnitt erwähnte Arduino-Sketch kann hier von GitHub heruntergeladen werden:

https://github.com/NEOE-IO/NEOE-IOT-Kit-2

ANBINDUNG AN SMART HOME SYSTEM

Die NEOE IOT-Kits werden für Home Assistant entwickelt und getestet, da dieses das aufgrund der umfangreichen und ausgereiften Funktionalitäten aktuell von uns präferierte Smart Home System ist. Weitere Informationen zu Home Assistant siehe https://www.home-assistant.io.

Home Assistant

Zur Grundeinrichtung von Home Assistant siehe https://www.home-assistant.io/getting-started/.

Wir haben den Arduino Sketch so entwickelt, dass er die MQTT Discovery Funktionalität von Home Assistant unterstützt. Dadurch wird der Sensor automatisch von Home Assistant erkannt und die via MQTT übermittelten Daten können direkt in den Dashboards angezeigt werden. Zur Aktivierung der MQTT Discovery Funktion in Home Assistant siehe https://www.home-assistant.io/docs/mqtt/discovery/.

Die Sensordaten können in den Home Assistant Dashboards auf unterschiedliche Art und Weise angezeigt werden.

Sensor Card:

Gauge Card:

Klickt man auf die jeweilige Card, so wird ein Verlauf angezeigt:

 

Andere Smart Home Systeme

Dank Nutzung des MQTT-Protokolls sollte eine Anbindung auch an alle anderen Smart Home Systeme, welche MQTT unterstützen, möglich sein. Jedoch können wir aufgrund der Vielzahl unterschiedlicher Systeme dafür keine Garantie übernehmen. Zur Anbindung via MQTT an weitere Smart Home Systeme bitte die Dokumentationen der jeweiligen Smart Home Systeme konsultieren.

Häufige Fragen

Der Arduino-Programmcode funktioniert nicht und es erscheint eine Fehlermeldung in der Arduino IDE

  • In manchen Browsern ist eine automatische Übersetzung von Englisch auf Deutsch aktiviert. Dies führt dazu, dass der Arduino-Programmcode auf GitHub automatisch auf Deutsch übersetzt und daher falsch angezeigt wird. In diesem Fall bitte vor dem Kopieren und Übertragen des Arduino-Programmcodes die automatische Übersetzung deaktivieren. 

Das LCD-Display zeigt nichts an

  • Eventuell ist der Kontrast zu schwach eingestellt. Auf dem IIC/I2C Interface-Adapter befindet sich ein Potentiometer (blau). Diesen mit einem kleinen Schraubenzieher drehen, bis etwas auf dem Display sichtbar ist.

Weitere Fragen sowie Anregungen?

Bitte direkt in unserer Facebook-Gruppe adressieren, damit die gesamte Community davon profitiert: https://www.facebook.com/groups/neoe.io/ 

 

 

Disclaimer - alle Angaben ohne Gewähr:

Die in diesem Tutorial (Beitrag) enthaltenen Informationen wurden nach bestem Wissen und Gewissen recherchiert und zusammengetragen. Jedoch können auch uns Fehler passieren. Und genauso kann bei der Umsetzung des Tutorials etwas schief gehen oder können Inhalte missverstanden werden. Für eventuelle Schäden durch das Befolgen dieses Tutorials können wir daher keine Haftung übernehmen. Wir entwickeln unsere Tutorials laufen weiter. Sollte etwas unstimmig oder unklar sein, bitte Bescheid geben, damit wir den betroffenen Punkt korrigieren oder ergänzen können. Vielen Dank.

Zurück zum Blog

Hinterlasse einen Kommentar

Bitte beachte, dass Kommentare vor der Veröffentlichung freigegeben werden müssen.