RFID MusicBox mit EchoDot, ESP8266 und ioBroker

In diesem Artikel zeige ich Dir, wie ich eine einfache MusicBox mit EchoDot, einem ESP8266 Mikrocontroller und ioBroker realisiert habe. 

In diesem kleinen Projekt steuere ich den Amazon echo Dot Lautsprecher über verschiedene RFID-Tags.

 

Bevor wir nun mit dem Aufbau der Hardware, der Programmierung und der Einrichtung in ioBroker beginnen, hier die Liste der verwendeten Materialen:

 

 

Funktionsweise

Im folgenden Schaubild wird die Funktionsweise der RFID MusicBox erklärt. Mittels dem RFID-Scanner werden am ESP8266 Mikroprozessor die Tags gelesen und per MQTT an ioBroker übertragen. ioBroker wertet die empfangenen Tags aus und gibt dann per Script eine entsprechende Anweisung an den Amazon echo dot. An dieser Stelle können natürlich auch andere Aktionen definiert werden (z.B. Ausgaben über SONOS, etc.).

 

Aufbau der Schaltung

Im ersten Schritt bauen wir nun die Schaltung nach folgender Pin-Belegung auf:

RFID-RC522 ESP8266 NodeMCU
3,3V 3,3V
GND GND
RST D3
SDA D8
SCK D5
MOSI D7
MISO D6
IRQ

 

Die LED an Port D4 ist optional, und in der aktuellen Form der Implementierung noch nicht berücksichtigt. Über die LED soll später der RFID-Lesevorgang signalisiert werden. Auf dem Breadboard schaut der Schaltungsaufbau nun folgendermaßen aus:

 

Programmierung des ESP8266

Nach dem wir nun die Schaltung aufgebaut haben, können wir nun mit der Implementierung beginnen.
Den Sketch stelle ich aufgrund des Umfangs hier als Download zur Verfügung.

RFIDMusicBoxSketch (48 Downloads)

 

Nun zur Erklärung des Sketchs. Unterhalb der Include-Anweisungen ist der Definitionsbereich der Umgebung.

Über die Konstante ssid wird der Name des WLAN-Netzwerks definiert. Die Konstante password enthält das WLAN-Kennwort der Verbindung. Über die Konstante mqtt_server wird die IP-Adresse des MQTT-Brokers (in unserem Fall die ioBroker IP-Adresse) eingestellt.

In der Methode setupWifi() wird die WLAN-Verbindung hergestellt. Die Methode MQTTCallback() wird derzeit noch nicht verwendet. In der loop() Methode wird der RFID-Sensor gehandelt. Nach dem wir nun den Sketch per ArduinoIDE auf den ESP8266 geladen haben, können wir nun einen ersten Test starten. Wenn wir eine RFID-Tag über das Lesegerät halten, wird der Tag über die serielle Schnittstelle ausgegeben. Zudem wird in ioBroker über den MQTT-Broker ein Datenpunkt erstellt.

 

 

Integration in ioBroker

In den Objekten im Bereich „mqtt.0“ ist nun ein neuer Ordner „MusicBox“ mit dem Datenpunkt „rfid“ vorhanden. In diesen Datenpunkt wird der gelesene RFID-Tag gespeichert.

 

Im Bereich „Skripte“ legen wir uns nun ein neues JavaScript Script „MusicBox“ an. Im Script wird der neue RFID-Tag ermittelt und überprüft. Je nach Tag wird hier nun per Funktionsaufruf setState() der Amazon Echo Dot angesteuert um eine Playlist oder einen Radiosender abzuspielen.

 

on({id: "mqtt.0.MusicBox.rfid", change: "ne"}, function (obj) {
 var value = obj.state.val;
 log(value, 'info');    

 if ( value == "0979105d" ) {
  setState('alexa2.0.Echo-Devices.ID.Music-Provider.TuneIn', 'Spiele radio 107,7' );
  setState('alexa2.0.Echo-Devices.ID.Player.volume', 30 ); 
 }

 if ( value == "47cb708b" ) {
  setState('alexa2.0.Echo-Devices.ID.Music-Provider.Amazon-Music-Playlist', 'Spiele Playlist Maximilian' );
  setState('alexa2.0.Echo-Devices.ID.Player.volume', 30 ); 
 }    
});

 

 

Einbau in ein Gehäuse und erster Test

Nach dem finalen Aufbau habe ich die Elektronik zunächst in ein kleines Holzgehäuse eingebaut. Hier kann man sich später auch per 3D-Drucker ein passendes Gehäuse drucken. Die Stromversorgung habe ich provisorisch über zwei AA Batterien gelöst. Für einen ersten Test war das so völlig ausreichend.

  

 

 

Sieh dir diesen Beitrag auf Instagram an

 

MusicBox in Aktion 😎 #arduino #esp8266 #mqtt #rfid #iobroker #amazon #amazonecho #echodot #diy #musicbox #bastelspaß

Ein Beitrag geteilt von Smarthome-tricks.de (@smarthometricks) am

Ich hoffe Dir gefällt der Artikel 🙂 Ich freue mich über Deinen Kommentar!

 

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.

3 Gedanken zu „RFID MusicBox mit EchoDot, ESP8266 und ioBroker

Schreibe einen Kommentar

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

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere