In diesem Tutorial will ich euch zeigen wie einfach ihr mit ESPEasy einen Sensor einbinden könnt und Daten übers WLAN mit MQTT verschicken könnt. ESPEasy ist ein umfangreiches Arduino Programm, das ihr nur auf einen ESP8266 kopieren könnt und über eine Web Oberfläche auf einfache Weise Sensoren einbinden könnt. Von ESPeasy werden die gängigsten Sensoren unterstützt und somit ist kein Programmieren notwendig. Es wird auch Deep Sleep wird unterstützt. Somit kann ESPEasy auch für Batteriebetriebene Projekte eingesetzt werden. In meinem Beispiel werde ich euch zeigen wie ihr mit ESPEasy Daten von einem BME280 über MQTT an Home Assistant schicken könnt. Home Assistant ist eine Opensource Hausautomation Plattform mit dem ihr euer Zuhause automatisieren könnt. Home Assistant unterstüzt viele verschiedene Plattformen und es sind dazu auch zahlreiche Integrationen vorhanden.

Grafana Web Dashboard mit Home Assistant das auf dem Raspberry Pi läuft:


ESPeasy Unterstütze Sensoren von Bastelgarage.ch

Hier ein Zusammenfassung von den unterstützen Sensoren und Modulen die wir im Sortiment haben:

Display und Anzeigen:

Sensoren Temperatur / Feuchtigkeit / Luftdruck

Sensoren Distanz / Näherungsschalter / Counter / Bewegung

Licht und Stromsensoren

Sonstige Module und Breakoutboards

Schalter / Switch / Kontakte

Servo / Relais / Mosfet


ESPEasy unterstützte ESP8266 Mikrocontroller

Hier eine Zusammenfassung der unterstützten ESP8266 Mikrocontroller die wir im Sortiment haben:
Unterstützte ESP8266 von bastelgarage.ch


ESPEasy herunterladen und installieren

Damit ihr auch die aktuellste Firmware habt, müsst ihr zuerst ESPEasy auf GitHub herunterladen. Dazu verwendest du folgenden Link:
https://github.com/letscontrolit/ESPEasy/tree/v2.0

Auf der Website findest du etwas unten, eine Übersicht über die Releases und ein Link zum Download:

Ich habe mir gleich das letzte heruntergeladen. Natürlich ist es immer etwas gefährlich, da es noch Softwarebugs enthalten kann. Falls Ihr Probleme habt, lädt euch einfach eine ältere stabile Version herunter. In diesem Beispiel habe ich das Zip-File "ESPEasy_v2.0-20180221.zip" heruntergeladen und entpackt.

Nachdem du das Zip-File entpackt hast, starte das Programm "FlashESP8266", damit du mit dem Flashen des ESP beginnen kannst:

Zuerst musst du nun den COM-Port zum Flashen wählen. Vergewissere dich vorher, dass du an deinem PC nicht noch andere Mikrocontroller angesteckt hast und versehentlich das Programm auf den falschen lädst. Ich habe für meinen Wemos D1 mini den normal Build mit einer Speichergrösse von 4096MB gewählt. Bist du dir nicht sicher über die Flashgrösse, schau besser noch schnell auf dem Wiki von ESPEasy nach: https://www.letscontrolit.com/wiki/index.php/ESP_Hardware
$

Jetzt kannst du über den Button "Flash" das Flashen starten:
 

War der Flashvorgang erfolgreich erscheint folgende Meldung:

Gratuliere du hast deinen ersten ESP8266 mit ESPEasy geflasht!


ESPeasy mit dem WLAN verbinden

Nun müssen wir an unserem ESPEasy die WLAN Einstellungen vornehmen damit er sich mit dem lokalen WLAN verbinden kann. Zuerst musst du den ESP nochmals reseten indem du die Reset Taste auf dem Board betätigst. Anschliessend sollte der ESP im AP-Mode aufstarten und du solltest ein WLAN mit dem Namen "ESP_Easy_0" sehen mit dem du dich z.B. mit dem Handy oder PC verbinden kannst. Falls nach einem Passwort gefragt wird lautet es:  configesp

Hier musst du dein WLAN anwählen, das Passwort eingeben und durch klicken auf den Button "Connect", verbindet sich der ESP auf das gewählte WLAN. Falls du nicht auf diese Seite kommst, gib bei deinem Browser die IP Adresse 192.168.4.1 ein. Falls dies nichts nützt, stecke den ESP8266 aus und wieder ein und versuche dich nochmals mit dem AP zu verbinden.

Nun versucht ESPEasy sich mit dem WLAN zu verbinden:

Hat sich der ESP8266 mit deinem WLAN Netzwerk verbunden, erscheint die IP-Adresse die er erhalten hat und über die ihr euch nun mit dem PC verbinden könnt:

Falls ihr Probleme habt oder die IP nicht mehr wisst, könnt ihr über den seriellen Monitor von Arduino mehr erfahren:


ESPEasy Settings für BME280 und MQTT Home Asisstant

Nachdem wir uns über die IP-Adresse und einem Webbrowser mit dem ESP8266 verbunden haben, können wir die Einstellungen für unseren BME280 und MQTT vornehmen. Du solltest dann folgende Startseite sehen:

Nun können wir ESPEasy Mega konfigurieren:
1. Unit Name ist wichtig und wird im Topic von MQTT verwendet. In meinem Beispiel wird der Sensor den MQTT Topic / Wohnung  haben.
2. Hier könnt ihr noch ein Passwort für den ESP vergeben, damit das Webinterface geschützt ist.
3. Falls du noch ein zweites WLAN hast, kannst du es hier eintragen. Wenn der ESP sich mit dem ersten nicht verbinden kann versucht er es mit dem zweiten WLAN.
4. Ich empfehle euch den Sleep Modus erst zu aktivieren, wenn ihr mit allen Einstellungen fertig seid und alles getestet habt und keine Änderungen mehr vornehmen wollt. Ansonsten kann es sein, dass ihr euch nicht mehr auf den ESP verbinden könnt und im schlimmsten Fall den ESP neu flashen müsst. Wollt ihr den Sleep Modus nutzen, ist es wichtig das der D0 (GPIO-16) mit dem RST Pin verbunden ist. Das Sleep Delay ist die Zeit die gewartet wird bis der ESP in den Sleep Modus geht. Hier habt ihr 60s und somit genug Zeit um euch z.B. mit der Weboberfläche zu verbinden und Einstellungen vorzunehmen. Nutzt du ein Delay von 0 geht er sofort in den Sleep Modus. Damit du den ESP hier noch aufwecken kannst musst du RST mit GND verbinden.
5. Speichere die Einstellungen mit Submit

ESPEasy Mega MQTT für Home Assistant einstellen

Damit wir die Messdaten vom BME280 an Home Assistant schicken können, verwenden wir MQTT. Zum Editieren der MQTT Settings klicke auf Edit:

Nun kannst du folgende Einstellungen vornehmen:
1. Wählt "OpenHAB MQTT" an.
2. Hier trägst du die IP-Adresse von deinem Home Assistant oder die von deinem MQTT Broker ein. Der Port des MQTT Broker von Home Assistant ist 1883.
3. Damit die Daten Verschickt werden musst du noch das Häcklein bei "Enabled" setzen.
3. Damit die Daten verschickt werden, musst du noch das Häcklein bei "Enabled" setzen.

BME280 anschliessen und I2C Adresse kontrollieren

Zum anschliessen des BME280 solltet ihr euer Board stromlos machen. Anschliessend könnt ihr den BME280 wie folgt anschliessen:
BME280Wemos D1 mini
VCC3V3
GNDGND
SCLD1
SDAD2
Nun kannst du den Wemos D1 wieder mit der Speisung verbinden und dich über die Weboberfläche verbinden. Unter den Tools findest du den I2C Scanner mit dem du sehen kannst ob dein BME280 antwortet und welche Adresse er hat:

Unser BME280 hat die Adresse 0x76:

ESPEasy Mega BME280 Device Settings

1. Wechsle ins Menü Device. Hier werden die gewünschten Sensoren hinzugefügt.
2. Du kannst bis zu vier Sensoren hinzufügen. Damit wir unseren BME280 hinzufügen können klicke auf Edit.

BME280 anwählen:

Folgende Einstellungen vornehmen:
1. Der Name vom Sensor wird für den MQTT Topic verwendet.
2. Hier kannst du die Device Adresse eintragen. Wir haben ja mit dem Scan gesehen das wir die Adresse 0x76 haben.
3. Hier geben wir die Zeit an, in welchem Abstand die Daten verschickt werden.
4. Der Name hier wird ebenfalls für das MQTT Topic verwendet. Wenn du alle Einstellungen vorgenommen hast, kannst du sie mit "Submit" übernehmen.

Nun solltest du bereits Messwerte vom BME280 auf der Device Übersicht sehen:


Gesendete Daten mit MQTT.fx anzeigen

Damit wir prüfen können ob ESPEasy die Daten auch sauber verschickt, empfehle ich euch die Software MQTT.fx zu verwenden die du unter folgendem Link herunterladen kannst:
http://mqttfx.jensd.de/

Nachdem du MQTT.fx insalliert hast, musst du dir nur noch eine neue Verbindung einrichten. Hier im Beispiel zu Home Assistant (Brokeradresse müsst ihr auf eure IP-Adresse anpassen):

Subscribe dein ESPEasy:
1. Klicke auf den Subscribe Button.
2. Wenn du # eingibst abonnierst du alles was der Broker empfängt. Falls du nur den Sensor willst, kannst du auch eingeben: /wohnung/wohnzimmer/#
3. Nun kannst du den Kanal mit Subscribe abonnieren.
4. Im Datenfeld solltest du dann die gesendeten Werte sehen.


BME280 e-Ink Display mit ESP32 ansteuern
Hier zeige ich euch wie du einen BME280 mit Arduino ausliest und die gemessenen Werte auf einem e-Ink Display darstellst. Als Controller verwenden wir...
Teil 1 Eigenbau Labornetzteil
In diesem Tutorial will ich dir zeigen, wie du selbst ein Labornetzteil bauen kannst. Ich werde dieses Tutorial in zwei Teile aufteilen. Im ersten Tei...
2 Bemerkungen
Kai
Kai

Hallo ...
Super Anleitung ... vielen Dank dafür ;)
Ich habe nun einen ESP8266 mit BME280 mit dieser Anleitung und ESPEasy zum laufen gebracht.
Auf einem 2. ESP habe ich nun einen MQTT Broker laufen und die Daten werden auch im log angezeigt.
Nun habe ich versucht, die Daten auch in meine Homebridge/Homekit zu brigen, aber mit diesem PlugIn bekomme ich keine Daten angezeigt.
https://github.com/arachnetech/homebridge-mqttthing
Vielleicht hast Du ja einen Tip, wie ich die Daten passend abfragen kann ...
Danke und Gruß Kai

Daniel H
Daniel H

Lieber Philippe
sehr gutes Tutorial. Ich habe noch ein Problem damit, wenn ich die Daten eines JSN-SR04T weitergeben will. Ich habe die Entfernungsangabe von cm (via Formula) in Liter umgerechnet, diese werden mir auch schön per MQTT weitergereicht. Jetzt möchte ich aber noch zusätzlich %-Angaben weitergeben. Aber da hörts bei mir schon auf. Ich muss sicher die Werte des US-Sensors an deine Dummy-Device weiterreichen, und dann irgendwie mit den Rules von Liter in Prozent umrechnen. Bloss wie. Hast du mir da einen Anhaltspunkt? Das Wiki von letscontrolit.com finde ich nicht sehr aussagekräftig.

LG
Dänu

Zeige 1 bis 1 von 2 (1 Seite(n))
Einen Kommentar hinterlassen
Anmerkung: HTML wird nicht unterstützt!