mikrocontroller.net

Forum: Projekte & Code ultra low cost esp8266 alexa heimautomatisierung


Autor: Niels Huesken (monarch)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo,

ich möchte euch mein Heimautomatisierungsprojekt vorstellen. Es geht 
darum, per Alexa (bzw Google Home) Sprachbefehle kostengünstige 
Funksteckdosen, wie man sie im Baumarkt erhält, zu schalten. Das man mit 
dem Amazon Echo machen kann, ist ja weiss Gott nichts Neues. Solche 
Projekte gibt es im Web wie Sand am Meer. Bei meinem Projekt war die 
oberste Priorität, das es so kostengünstig wie möglich sein sollte. 
Ausserdem sollte auch ein Elektronik- bzw Computelaie es einsetzen 
können und ich glaube, das ist mir ganz gut geglückt. Alle Projekte, die 
man im Web so finden kann, setzen vorraus, das man ein 
Entwicklungsumgebung einrichtet und Quellcode selbst kompiliert. Das ist 
bei meinem Projekt nicht der Fall. Aussemdem sollen die Betriebskosten 
(Stromverbrauch) so gering wie möglich sein; deshalb kommt kein PC, kein 
RaspberryPI sondern ein ESP8266 zum Einsatz.

Benötigt werden also:
- Ein Esp8266-development board. Ich empfehle ein D1 Mini R2. Denkbar 
ist aber auch ein Nodemcu oder ein ESP-01. Letzteres ist zwar das 
günstigste Board, benötigt aber wieder einen externen flasher...

- Ein 433Mhz Transmitter. Beim Chinamann kosten diese Module wenige cent 
pro stück. Bei Amazon Deutschland etwa 2-3 Euro.

- 433Mhz Funksteckdosen. Diese bekommt man im Baumark im 3erpack für 
relativ kleines Geld. Optimal sind Funksteckdosen mit sog. Dip-Switches 
(Mäuseklavier). Bei Funksteckdosen mit Drehwählern wird die Einrichtung 
etwas schwieriger. (Hier muss man erst die sog. TriState-Codes mit einem 
433mhz Empfängermodul einlesen. Aber das Thema möchte ich an dieser 
Stelle aussen vor lassen.)

Tja, jetzt kommt vermutlich das komplizierteste: Diese beiden Module 
müssen miteinander mit einfachen Drahtbrücken verbunden werden. VCC an 
+5V, GND an GND (-) und Datenpin geht an GPIO2. Beim D1 Mini R2 ist das 
D4. Bei anderen Boards müsste ihr das im PinOut-Plan kurz nachschauen.

Jetzt muss der Programmcode auf das Modul geflashed werden. Dazu lädt 
man sich aus dem github-Repository den neuesten Release herrunter und 
das Flash-Tool:

https://github.com/nodemcu/nodemcu-flasher/archive...
https://github.com/Monarch73/RFBridge/releases

Die heruntergeladenen Archive werden entpackt und man startet die 
flasher.exe und brennt damit die entsprechende bin-datei auf sein 
ESP-Board ab adresse (0x0000).

Fertig. Ab jetzt brauchen wir den PC nur noch zum Einrichten.

Wenn alles geklappt hat,sieht man nun ein WLAN-Hotspot der sich 
"EasyAlexa" nennt. Damit verbindet man sich und öffnet im Browser 
"http://192.168.4.1";. Hier wird man gebeten, die ESSID und das Passwort 
seines AP anzugeben, auf speichern zu klicken und das ESP8266-Modul neu 
zu starten.

Name und Passwort sowie die folgende Konfiguration wirden im 
nicht-flüchtigen Speicher des ESP8266-Moduls gespeichert und ist somit 
auch nach Versorgungsspannungverlust noch vorhanden.

Wenn das auch geklappt hat, müsste der WLAN-Hotspot nun verschwunden 
sein. Stattdessen müsste sich das Modul mit dem WLAN verbunden haben. Um 
die Software zu konfigurieren brauchen wir die IP-Adresse. Diese kann 
man sich entweder mit meinem Network-Scanner raussuchen (z.B. Android: 
Net Scan) oder man kann sie mit einem seriellen Terminal sich anzeigen 
lassen.

Diese IP-Adresse öffnet man im Browser z.B: http://192.168.0.19 
(Achtung: Das ESP-Modul hat keine eigene Firewall und keine 
Authetifizierung. Es ist eine ganz furchtbar schlechte Idee, diese IP 
aus dem Internet zugänglich zu machen!)
Man bekommt eine Eingabe-Maske angezeigt mit zwei Zeilen mit 
eingabe-boxen. Wir konzentrieren auf die untere.

Zuerst geben wir einen Namen in das Namensfeld ein. Dieser Name sollte 
von Alexa per Sprachbefehl leicht zu erkennen sein. Ein schlechtes 
Beispiel wäre z.B. Namen wie "b1" oder "abc" usw. Man wählt lieber ein 
Wort aus dem Wörterbuch wie "Lampe".

Es finden sich in der Funksteckdose üblicherweise ein DipSwitch-Block 
mit 10 Schaltern. Jede dieser Schalter kann entweder in "on"- oder "off" 
Position sein. Diese Positionen müssen wir nun übersetzen, wobei "on" 
als "1" und "off" als "0" zu representieren ist. Die ersten 5 Schalter 
sind der sog. "Hauscode". Diese müssen in der entsprechenden Textbox 
übertragen werden. z.B. "00110". Die letzten 5 Code sind der Gerätecode 
und werden in der entsprechenden Texbox eingetragen. Die anderen 
Tristate-Textfelder müssen leer bleiben. Ein Raum-Name kann eingetragen 
werden, wird aber zur Zeit noch nicht verwendet. Auf Speichern klicken.

Der Gerätename sollte nun nebst Ein/Aus-Button im Browser erscheinen. 
Wenn das der Fall ist, sollte der Echo-Dot nun in der Lage sein, das 
Gerät zu erkennen. Die Geräteerkennung startet man per Alexa-app im 
Smart-Home-Reiter oder per Sprachbefehl: "Alexa, erkenne meine Geräte".

Alexa sollte nach einer Weile melden, das mindestens 1 Gerät erkannt 
worden ist. Dieses kann man nun mit dem vergebenen Namen schalten. z.B: 
"Alexa, schalte Lampe ein", "Alexa, schalte Lampe aus"

Autor: Rene Vetter (creep)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo Niels,

Dein Beitrag war für mich der Anlaß, mir endlich auch so ein paar 
ESP-Boards zu bestellen. Die Verbindung mit Alexa ist das, was ich immer 
gesucht habe.

Gruß, Rene

Autor: Oliver Stellebaum (phetty)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interessantes Projekt, wer sich allerdings erst diese simplen 
Funksteckdosen anschaffen muss, ist besser bedient gleich eine WLAN-Dose 
zu erwerden. (Sonoff et al).
Das 433MHz-Protokoll verschlüsselt in keinster Weise.

Autor: Johann Haller (Firma: none) (johann1979)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi, sehr schön!
Hatte schon lange mal vor meine Implementierung zu verschönern...das 
kann ich mir jetzt sparen.
Danke dafür!
PS: Ich hab meinen code mal mit angeängt...evtl kann man ja ein paar 
Code-Fetzen davon gebrauchen...
LG
Johann

Autor: Johann Haller (Firma: none) (johann1979)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Olli, die WLAN Steckdosen kosten aber viel mehr und der Stromverbrauch 
liegt auch ein paar mW über den RF Dosen.
Zuhause habe ich die Intertechno Dosen, weil die von JBMedias 
LightManager unterstützt werden. So hab ich in der PRE-Alexa Ära meine 
TV IR-Steuerung auf Funk Bridge realisiert.
LG
Johann

Autor: Niels Huesken (monarch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:

> Interessantes Projekt, wer sich allerdings erst diese simplen
> Funksteckdosen anschaffen muss, ist besser bedient gleich eine WLAN-Dose
> zu erwerden. (Sonoff et al).

Wie ich bereits sagte, das Projekt ist auf Low-Cost optimiert. Eine Wemo 
WLAN-Steckdose kostet pro Stück 50€. Für den selben Preis bekommt man 
Funksteckdosen im 10-Pack.

Autor: Niels Huesken (monarch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johann H. schrieb:

> PS: Ich hab meinen code mal mit angeängt...evtl kann man ja ein paar
> Code-Fetzen davon gebrauchen...

Ich sehe, du hast 6 Geräte in deim Code eingetragen. Mit sovielen 
Geräten habe ich meine Software noch nicht getestet; obwohl es 
eigentlich keine Rolle spielen sollte.

Sag mal bitte auf jeden Fall bescheid, ob es Probleme gibt oder auf 
anhieb problemlos funzt.

Autor: Son of Esp (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Niels H. schrieb:
> Wie ich bereits sagte, das Projekt ist auf Low-Cost optimiert. Eine Wemo
> WLAN-Steckdose kostet pro Stück 50€. Für den selben Preis bekommt man
> Funksteckdosen im 10-Pack.

Die weit verbreiteten Sonoff WLAN Steckdosen mit ESP8266 (freie Firmware 
verfügbar) gibt es einzeln und inkl. Versand ab z.Zt. 4,36EUR 
(https://de.aliexpress.com/item/Itead-Sonoff-Smart-...).

Das unterbietet Deinen 10er-Pack Funksteckdosen deutlich.

Autor: Niels Huesken (monarch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Son of Esp schrieb:

> Die weit verbreiteten Sonoff WLAN Steckdosen mit ESP8266 (freie Firmware
> verfügbar) gibt es einzeln und inkl. Versand ab z.Zt. 4,36EUR

Das ist aber keine Steckdose sondern ein Gerät, das erst noch 
angeschlossen/ verbaut werden muss. Die SONOFF WLan-Steckdosen kosten 
auch dort, bei Aliexpress, 10€. Wenn du es dir importieren lässt, dauert 
deine Bestellung 6-8 Wochen und wenn du über 20€ kommst, könnte es 
passieren, das dein Paket im Zoll hängen bleibt. Man hat dann eine Woche 
Zeit, um es beim Zollamt abzuhohlen und Rechnung und Überweisung 
nachzuweisen. Zu Uhrzeiten, wo jeder normale Mensch arbeiten ist, 
versteht sich.

Eine einzelne Sonoff-WLAN-Steckdose kostet hier zu lande etwa 20€

: Bearbeitet durch User
Autor: Johann Haller (Firma: none) (johann1979)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Mehrere Geräte gingen bei mir auch erst, nachdem ich ein kleines 
[hässliches] delay in den UPNP Responder gepackt habe. 8 Geräte ohne 
Probleme.
Ich sag Dir auf jeden Fall Bescheid, ob deine Version auch klappt...

Sonoff ist cool, wusste nicht, dass die SOOO billig sind.
Hab mir mal eins bestellt, zum ausproBIERen,
A propos Bier...schönen Feierabend.

LG
Johann

Autor: Dieter F. (jim_quakenbush)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Niels H. schrieb:
> Die SONOFF WLan-Steckdosen kosten
> auch dort, bei Aliexpress, 10€. Wenn du es dir importieren lässt, dauert
> deine Bestellung 6-8 Wochen und wenn du über 20€ kommst,

Kommt drauf an, wann Du bestellst. Ich habe die für ca. 6,50 € / Stück 
bekommen. Und ob Du die 23 € überschreitest ist Dir ja überlassen. Man 
kann auch z. B. 10 mal 1 Stück (versandkostenfrei) bestellen - oder?

Ich habe die Teile i.d.R. nach 3 - 5 Wochen. Aber wie lautet Der Thread 
nochmal?

: Bearbeitet durch User
Autor: Marco H. (damarco)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Feuerlöscher Bitte nicht vergessen mit zu Bestellen.

Nunja bei MQTT gibt es ein Problem man benötigt einen Broker. Der kann 
im AWS  -> Amazon Web Services sein oder lokal.

Lokal muss dieser aber per HTTP ansprechbar sein, um die Alexa request 
zu parsen und zu MQTT zu Verwandeln. Das lustige dabei ist das man Alexa 
auch reden lassen kann wenn man in der response entsprechenden Code 
übergibt.

Das Teil hat schon seinen reiz, allerdings aus Sicht vom Datenschutz 
sehr bedenklich.

: Bearbeitet durch User
Autor: Harald Wilhelms (wilhelms)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Son of Esp schrieb:

> Das unterbietet Deinen 10er-Pack Funksteckdosen deutlich.

Nun, Funksteckdosen habe ich im Dreierpack in D schon für 10 EUR
gekauft. Ob es solche Angebote heutzutage auch noch gibt, weiss
ich nicht.

Autor: Dieter F. (jim_quakenbush)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marco H. schrieb:
> allerdings aus Sicht vom Datenschutz
> sehr bedenklich.

Erkläre das bitte mal.

Autor: Marco H. (damarco)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles was du in die Büchse hineinspricht wandert nach draußen. Sie 
wartet ja auf das Stichwort "Alexa" zeichnet als alles im Raum auf. Da 
fallen extrem viele Daten an. Aus dem dein Verhalten, Gewohnheiten und 
Stimmung ableiten lässt. Das nutzt Amazon aus um dein Kaufverhalten zu 
animieren und zu analysieren. Damit verdient Amazon viel Geld. Zumal 
sich Menschen damit geziehlt manipulieren lassen. Viel besser als z.Bsp 
über Smartphone, sie ist Teil deines Lebens das du mit denjenigen teils 
die Zugriff auf die Daten haben.

: Bearbeitet durch User
Autor: Niels Huesken (monarch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marco H. schrieb:

> Alles was du in die Büchse hineinspricht wandert nach draußen. Sie
> wartet ja auf das Stichwort "Alexa" zeichnet als alles im Raum auf.

Das Stichwort wird aber ausgewertet und erst ab Erkennung dann wird das 
Kommando aufgezeichnet und übermittelt.

Autor: Oliver Stellebaum (phetty)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marco H. schrieb:
> Nunja bei MQTT gibt es ein Problem man benötigt einen Broker. Der kann
> im AWS  -> Amazon Web Services sein oder lokal.

Sogar den könnte man minimalistisch auf einem ESP laufen lassen:
https://github.com/martin-ger/esp_mqtt


433MHz-Steckdosen sind ausserdem nicht irgendwie verschlüsselt oder 
sonstwie gesichert.
Wieso gibt es eigentlich noch nicht so ein Spaßgerät was ständig alle 
Codes rauf- und runterzählt und damit Steckdosen in der Nachbarschaft 
klappern lässt?

: Bearbeitet durch User
Autor: NichtWichtig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geiz ist geil!!!

Hauptsache billig.

Autor: Niels Huesken (monarch)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Oliver S. schrieb:

> Wieso gibt es eigentlich noch nicht so ein Spaßgerät was ständig alle
> Codes rauf- und runterzählt und damit Steckdosen in der Nachbarschaft
> klappern lässt?

Ich bin mir sicher, die gibt es bestimmt. Man müsste aber dann 
vermutlich eine größere Sendeleistung haben, denn das Problem wird 
vermutlich die Reichweite sein. Wenn ich mich draußen auf der Straße mit 
einem kleinen, normalen Handsender hinstelle, reagiert drinnen keine 
Steckdose.

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Wieso gibt es eigentlich noch nicht so ein Spaßgerät was ständig alle
> Codes rauf- und runterzählt und damit Steckdosen in der Nachbarschaft
> klappern lässt?

Wer sagt, dass es das nicht gibt?
Natürlich nur, um den Hauscode der eigenen Steckdosen zu ermitteln  ;-)

Für Fernseher mit IR-Fernbedienung gibt es sowas auch schon lange - 
TV-gone oder so ähnlich

Autor: K. J. (theborg0815) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du dir mal HABridge angeschaut ? finde das in Verbindung mit den 
ESPs recht ok, Nutze das für meine selbstgebauten Lichtschalter, 
Übertragung der Befehle mache ich per HTTP GET befehl, aber man kann 
auch Programme darüberstarten und ne menge mehr, das einzige blöde ist 
das es in Java geschrieben ist, und etwas Ressourcen hungrig aber hält 
sich noch in grenzen.

Autor: Niels Huesken (monarch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nunja, wie ich bereits sagte: Lösungen dafür gibt es so viele wie 
Sandkörner im Meer. Habridge benötigt mindestens einen Raspi. Für meine 
Lösung brauchts halt maximal einen ESP01 und ein kleines Funkmodul.

Autor: qwertz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mich jetzt eine ganze Weile mit Alexa und Heimautomatisierung 
beschäftigt. Was mit aktuell stört ist das man einen eigenen Skill 
schreiben muss und alles recht umständlich ist, weil der 
Homaeautomationskill nur grundbegriffe wie ein, aus, auf, zu 
unterstützt. Kennt einer von euch einen einfach möglichkeit auch 
kompliziertere Geräte anzusprechen.

Beispiel:
Ich habe meiner Jura Kaffeemaschine einen Nodemcu verpasst und eine 
kleine Software dazu geschrieben. Leider muss man dafür umständlicher 
weise einen Skill schreiben. Gibts da bequemere varianten?

Autor: Gert (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Oliver S. schrieb:
> 433MHz-Steckdosen sind ausserdem nicht irgendwie verschlüsselt oder
> sonstwie gesichert.
> Wieso gibt es eigentlich noch nicht so ein Spaßgerät was ständig alle
> Codes rauf- und runterzählt und damit Steckdosen in der Nachbarschaft
> klappern lässt?


Gibt es doch, nennt sich fhem!

Ich musste bei mir autocreate ausgeschalten nachdem sich bei mir 30! 
verschiedenen Steckdosen angemeldet haben.
Ich habe dann an der Arbeit eine Demonstration mit fhem und einem 
miniCUL-433 gemacht. Jetzt will keiner meiner Kollegen mehr solche 
Steckdosen haben.
Ich denke mal für den Einsatz als Ein/Aus der Weihnachtsbaumbeleuchtung 
sind die ganz in Ordnung. Wer damit aber die Kaffeemaschine schaltet, 
sollte sich nicht wundern, wenn Morgens um 3 die Küche brennt.

Es reicht ein einziger Schaltbefehl in der Nähe (300m) eines miniCUL und 
fhem hat die Steckdose mittels autocreate im room IT eingerichtet.
Das Sicherheitsproblem ist nicht fhem, es ist die vorgespielte 
Sicherheit von 10 DIP-Schaltern.

Autor: Gert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
qwertz schrieb:
> Ich habe meiner Jura Kaffeemaschine einen Nodemcu verpasst und eine
> kleine Software dazu geschrieben. Leider muss man dafür umständlicher
> weise einen Skill schreiben. Gibts da bequemere varianten?
fauxmo!

https://github.com/n8henrie/fauxmo

Da umgehst du den eigenen Skill und gaukelst alexa ein Belkin WeMo 
Device vor. Der Vortel ist ein eigener Server und damit keine 
chinesischen Zaungäste in der Cloud. Den Server musst du aber trotzdem 
irgendwo aufsetzen. Ein Raspy reicht dicke.

Autor: Niels Huesken (monarch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Beispiel:
> Ich habe meiner Jura Kaffeemaschine einen Nodemcu verpasst und eine
> kleine Software dazu geschrieben. Leider muss man dafür umständlicher
> weise einen Skill schreiben. Gibts da bequemere varianten?


Mein Projekt ist eine Weiterentwicklung von Fauxmo. Es verwendet eine 
eigene Codebase. Es wird auch bei mir kein Skill benötigt. Daüber hinaus 
braucht es keine umständliche konfiguration über den Quellcode. Einfach 
binary aufs esp8266-board brennen und fertig. Konfiguriert wird über 
Webinterface.

https://github.com/Monarch73/RFBridge

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.