ESP8266 NodeMcu mit Amazon Echo (Alexa) steuern | IoT/das Internet der Dinge

Seit Kurzem bin auch ich Besitzer eines Amazon Echo Dot und habe ihn mit meinen bereits vorhandenen Smart Home-Geräten ausgiebig getestet – meine Philips Hue Lampen lassen sich hiermit bequem einrichten und steuern. Die Idee, eigene Schaltungen einfach per Stimme zu steuern, war daher schnell geboren. Ein Board mit ESP8266 bot sich dank des integrierten WLANs also an.

Dieses Tutorial zeigt Euch, wie Ihr mithilfe von Alexa mit Eurer Stimme eine LED schalten könnt:

Hierfür benötigst du folgende Komponenten.

Als Alternative zu dem NodeMCU können auch die folgenden Module genutzt werden. Hierzu werden wir noch eine extra Anleitung schreiben.

Folgende Software wird benötigt:

Die Anleitung beschreibt die Installation und Programmierung unter Windows 10 64 bit.

Wie üblich, installiert Ihr die Arduino IDE – das fällt nicht schwer und bei den meisten vermutlich schon geschehen. Startet nun die Arduino IDE. Um einen ESP8266 programmieren und ansprechen zu können, benötigt Ihr zuerst einen Boardmanager. Hierfür geht Ihr in’s Menü Datei -> Voreinstellungen – es öffnet sich ein Fenster. Unter dem Punkt Zusätzliche Boardverwalter-URLs: tragt Ihr folgenden Link ein.

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Danach einfach mit OK bestätigen.

Jetzt geht Ihr in der Arduino IDE auf Werkzeuge -> Board:“xxx“ -> Boardverwalter. Im neuen Fenster gebt Ihr in das Suchfeld „esp8266“ ein.

Hier müsst Ihr die neuste Version auswählen und auf Installieren klicken. Dieses kann abhängig von der Internetgeschwindigkeit 1-2 Minuten dauern. Nachdem die Installation durchgelaufen ist könnt Ihr das Fenster schließen.

Verbindet jetzt euren NodeMCU mit dem PC. In der Arduino IDE wählt Ihr unter Werkzeuge -> Board:“xxx“ -> NodeMCU 1.0 (ESP-13E Module) das NodeMCU Board aus. Jetzt noch unter Werkzeuge -> Port den richtigen ComPort auswählen.

Zeit zum Einbinden der Bibliotheken: das geht über den Punkt Sketch -> Bibliothek einbinden -> .ZIP-Bibliothek hinzufügen… Als erstes fügen wir die ESPAsyncTCP hinzu, danach die ESPAsyncWebServer und abschließend die fauxmoESP.

Öffnet nun Euren Dokumente-Ordner Documents\Arduino\libraries\xoseperez-fauxmoesp-fdf5ffd6793d\examples\fauxmoESP_Basic. In diesem Ordner müsst Ihr zunächst die Datei „credentials.sample.h“ in „credentials.h“ umbenennen. Danach öffnet Ihr die Datei „fauxmoESP_Basic.ino“.

Klickt oben auf „credentials.h“. Die Punkte hinter WIFI_SSID müsst Ihr durch eure WLAN SSID ersetzen, genauso wie die Punkte WIFI_PASS durch Euer WLAN Passwort:

#define WIFI_SSID „…“
#define WIFI_PASS „…“

Danach geht Ihr wieder auf „fauxmoESP_Basic“, etwas weiter unten findet Ihr folgende Zeilen:

// Fauxmo
fauxmo.addDevice(„light one“);
fauxmo.addDevice(„light two“);
fauxmo.addDevice(„light three“);
fauxmo.addDevice(„light four“);

Dieses sind Eure Geräte-Namen, welche Alexa erkennt.

Zum Testen haben ich diesen folgendermaßen geändert:

// Fauxmo
fauxmo.addDevice(„Arduino“);

Alexa wird ein Gerät mit dem Namen Arduino erkennen. Weiter unten im Sketch erkennt Ihr, dass mit jedem erkannten Befehl die LED ihren Status ändert.

digitalWrite(LED, !state);

Jetzt könnt Ihr den Sketch auf den ESP8266 kompilieren und hochladen.

Jetzt startet die Alexa App auf Eurem Smartphone und wählt im Menü (bei Android die drei Linien oben links) auf Smart Home. Etwas weiter unten könnt Ihr Geräte suchen. Nach der Suche sollte es ein Gerät „WeMo Switch“ mit dem Namen Arduino geben.

Fertig! Mit den Worten „Alexa schalte Arduino ein“ geht jetzt die LED am ESP8266 an. Und genau so leicht mit „Alexa schalte Arduino aus“ auch wieder aus. Viel Spaß beim Nachbauen!

Teilt diesen Blogeintrag gerne bei Facebook und Twitter, zeigt uns Eure Schaltungen mit Arduino und Alexa!

15 Kommentare

  1. nett gemacht – funktioniert aber nicht (mehr) mit der Alexa Echo 2 mit integriertem Hue Hub. Dieser führt keine Suche im (W)LAN mehr via UDP durch.
    Also entweder einen „alten“ Echo benutzen oder es läuft nicht.

  2. Hallo Christian,

    ich habe nur einen Echo (ohne plus) der zweiten Generation. Irgendwie bekommen ich das nicht hin. Benutze ESP8266 Controller ESP-12E Serielles Wifi Modul AP+STA Modus, Arduino kompatibel. Aber Alexa will immer einen installierten Skill. Ohne scheint das in der zweiten generation nicht zu laufen, Benötige ich dazu noch einen Echo plus mit HUB? Der ESB8266 wird ordnungsgemäß im WLAN eingebucht und lässt sich auch pingen. Benötge ich also einen Skill wie bei den meisten IoT-Leuchten mit Konto und so?
    Ist für ESP8266 Controller ESP-12E Serielles Wifi Modul AP+STA Modus, Arduino kompatibel die avisierte Beschreibung schon veröffentlicht? Ich bin so sehr gespannt auf eine Antwort.

    Gruß & Dank Marc

  3. Hallo,
    Super Anleitung!
    hast Du eine Idee wie ich einen Ausgang als Taster definieren kann?
    Ich brauche für ein Gerät eine Simulation eines Tasters also kein dauerhaftes Ein, sondern kurzer Ein-Impuls.
    Ich habe es mit Relay …high, Delay…., Relay low probiert aber das geht nicht.

  4. Hey! Nachdem die Kommunikation mit dem Raspberry Pi und Alexa nicht geklappt hat. Habe ich Hoffnung in den ESP8266 gelegt. Es funktioniert nun endlich!

    Wobei Alexa mir „Arduino reagiert gerade leider nicht!“ antwortet. Was nicht stimmt, da die blaue LED nach meinem Befehl An oder Aus geht. Gibt es da schon einen Fix für?

  5. Hallo Christian, vielen Dank für die sehr verständliche Anleitung. Mein Projekt ist, Alexa über den 8266 mit WS2612 LED stripes zu verbinden.

    Evtl kannst Du mir mit einem Stolperstein helfen:
    fauxmoESP_Basic.ino liegt nicht im downgeloadeten ZIP file. (.CPP file und credentials.h ist vorhanden). Wie komme ich an das .INO?

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht.


*