ioBroker Signalgeber mit einem ESP8266

In diesem Artikel zeige ich Dir, wie ich einen einfachen Signalgeber für ioBroker mit einem ESP8266 entwickelt habe.

Für ein anderes ESP8266-Projekt hatte ich das DFPlayer Mini Arduino Modul für die Wiedergabe von MP3-Dateien eingesetzt. Während der Programmierung kam mir die Idee, das Modul auch im Smart-Home Umfeld in Verbindung mit ioBroker nutzen zu können.

Die Idee war hierbei, das Audio-Modul für wichtige Informationen zu verwenden und zudem noch 4 LEDs zu verbauen, mit denen Informationen auch visuell, also per leuchtender LED dargestellt werden können. Die Kommunikation zwischen dem ESP8266 und ioBroker soll später über das MQTT-Protokoll erfolgen.

Das DFPlayerMini Modul habe ich in folgendem Artikel bereits beschrieben. In diesem Artikel habe ich auch die Vorbereitung der SD-Karte beschrieben.
Falls Du den Artikel noch nicht gelesen hast, empfehle ich Dir diesen Artikel zu lesen.

Für den Aufbau der Schaltung habe ich die folgenden Produkte verwendet:

Die einzelnen Komponenten habe ich zunächst auf einem Breadboard aufgesteckt und somit die Schaltung sowie auch die Programmierung umgesetzt. Im folgenden Schaltbild wird der Aufbau der Schaltung dargestellt.

Die Schaltung ist relativ einfach aufgebaut, das DFPlayer Mini Modul wird über die 5V Spannung des ESP8266 versorgt (USB). Die Kommunikation erfolgt über die serielle Schnittstelle (TX/RX) über die Pins D1 und D2. Die LEDs habe ich hier ohne Vorwiderstand direkt an die Pins D3, D4, D5 und D6 angeschlossen. Später wird hier ein entsprechender Vorwiderstand für die einzelnen LEDs verwendet.

Im nächsten Schritt können wir mit der Implementierung beginnen. Ich habe den Sketch über die Arduino IDE implementiert. Den Sketch kannst Du hier herunterladen:

Sketch - ioBroker Alarmsirene (47 Downloads)

Nach dem Download des Sketch musst Du hier nur die drei Zeilen für die Konfiguration anpassen. Über die Konfiguration wird die Verbindung zum WLAN-Netzwerk (SSID und Kennwort) sowie die IP-Adresse eurer ioBroker Installation eingestellt. Falls Ihr einen anderen MQTT-Broker einsetzt. muss hier natürlich die andere IP-Adresse verwendet werden. Der Port wird ebenfalls für die Kommunikation mit dem MQTT-Broker verwendet.

Für die Nutzung der DFPlayer Klassen in Arduino muss zusätzlich noch die folgende Bibliothek installiert werden. Suche dazu einfach im integrierten Bibliothektsverwalter nach „DFRobotDFPlayerMini“ und installiere die neueste Version. Zum Zeitpunkt der Artikel-Erstellung habe ich die Version 1.0.5 installiert.

Nach dem Kompilieren können wir den Sketch auf den ESP8266 hochladen. Wichtig ist hierbei, dass der ESP8266 nach dem Flashen nochmals aus- und eingesteckt werden muss.

In ioBroker findest Du nun im MQTT-Adapter die folgenden Datenpunkte:

Über den Datenpunkt mqtt.0.AlarmProject.Command kannst Du die folgenden Befehle absetzen und so den Signalgeber steuern:

  • play_1
    Spielt die erste Datei von der SD-Karte ab (0001.mp3)
  • play_2
    Spielt die zweite Datei von der SD-Karte ab (0002.mp3)
  • play_3
    Spielt die dritte Datei von der SD-Karte ab (0003.mp3)
  • red_on / red_off
    Ein- und ausschalten der entsprechenden LED
  • green_on / green_off
    Ein- und ausschalten der entsprechenden LED
  • yellow_on / yellow_off
    Ein- und ausschalten der entsprechenden LED
  • blue_on / blue_off
    Ein- und ausschalten der entsprechenden LED
  • change_volume_10
    Lautstärke auf 10 setzen (leise)
  • change_volume_20
    Lautstärke auf 20 setzen (mittel)
  • change_volume_30
    Lautstärke auf 30 setzen (lauter)

Der zuletzt abgesetzt Befehl wird über den Datenpunkt mqtt.0.AlarmProject.LastCommand zurückgegeben.

Du kannst natürlich an dieser Stelle auch Deine eigenen Befehle in Arduino implementieren und damit steuern.

Mit dem Signalgeber können wir nun die unterschiedlichsten Szenarien darstellen. Ich nutze den Signalgeber derzeit für den Briefkasten „die Post ist da!“.

Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.