WeMos D1 mini als WLAN-Sensor/-Aktor
Moderator: Co-Administratoren
-
- Beiträge: 315
- Registriert: 16.02.2015, 17:05
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 126 Mal
- Danksagung erhalten: 35 Mal
Re: WeMos D1 mini als WLAN-Sensor/-Aktor
Ich habe zwar einige Sketche im Einsatz, die Informationen vom WeMos an die CCU senden, aber mit dem umgekehrten Weg habe ich keinen Erfahrung.
Ich möchte via curl oder wget mit http-Befehl von der CCU via Wlan einen Befehl an WeMos D1 mini senden, der dort die Ausführung eines Programms auslöst.
Gibt es dazu Projekte/Sketche ?
Danke
Paul
Ich möchte via curl oder wget mit http-Befehl von der CCU via Wlan einen Befehl an WeMos D1 mini senden, der dort die Ausführung eines Programms auslöst.
Gibt es dazu Projekte/Sketche ?
Danke
Paul
Mit Mut und Entschlossenheit gegen Intoleranz
-
- Beiträge: 230
- Registriert: 16.02.2008, 17:05
- Danksagung erhalten: 9 Mal
Re: WeMos D1 mini als WLAN-Sensor/-Aktor
Hallo Paul,
was willst Du genau machen und wie sieht ein beispielhafte CURL-URL aus?
Im Prinzip kannst Du sowas mit einem (ESP8266) Webserver machen.
Gruß
Frank
was willst Du genau machen und wie sieht ein beispielhafte CURL-URL aus?
Im Prinzip kannst Du sowas mit einem (ESP8266) Webserver machen.
Gruß
Frank
-
- Beiträge: 315
- Registriert: 16.02.2015, 17:05
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 126 Mal
- Danksagung erhalten: 35 Mal
Re: WeMos D1 mini als WLAN-Sensor/-Aktor
Hallo Frank,
ich möchte, dass in Abhängigkeit von besonderen Bedingungen (z.B. Fenster ist seit x Minuten geöffnet; Haustür seit y Minuten offen) mit einem von der CCU gesendeten Curl Befehl der WeMos D1 mini auf einem angeschlossenem MP3 Player Modul (KeeYees Mini MP3 Player DFPlayer Modul Lautsprecher 2W 8Ohm kompatibel mit Arduino) akustische Signale ausgibt (z.B. x oder y Pieptöne) oder evtl. bestimmte MP3-Dateien abgespielt werden.
Bevor ich mich in die nötigen Arduino-Sketche dazu vertiefe, möchte ich wissen, wie der dazu nötige Verbindungsaufbau auf der WeMos-Seite geht.
Gruß
Paul
ich möchte, dass in Abhängigkeit von besonderen Bedingungen (z.B. Fenster ist seit x Minuten geöffnet; Haustür seit y Minuten offen) mit einem von der CCU gesendeten Curl Befehl der WeMos D1 mini auf einem angeschlossenem MP3 Player Modul (KeeYees Mini MP3 Player DFPlayer Modul Lautsprecher 2W 8Ohm kompatibel mit Arduino) akustische Signale ausgibt (z.B. x oder y Pieptöne) oder evtl. bestimmte MP3-Dateien abgespielt werden.
Bevor ich mich in die nötigen Arduino-Sketche dazu vertiefe, möchte ich wissen, wie der dazu nötige Verbindungsaufbau auf der WeMos-Seite geht.
Gruß
Paul
Mit Mut und Entschlossenheit gegen Intoleranz
-
- Beiträge: 230
- Registriert: 16.02.2008, 17:05
- Danksagung erhalten: 9 Mal
Re: WeMos D1 mini als WLAN-Sensor/-Aktor
Hallo Paul,
schau Dir mal dieses Beispiel eines Webserver an: https://github.com/esp8266/Arduino/blob ... Server.ino
Die Zeile ruft bspw. die Function drawGraph auf, wenn die URL http://<IP-Adresse>/test.svg abgefragt wird. Bezogen auf dieses Bsp. könntest Du in drawGraph jetzt alles das unterbringen, was der 8266 oder jeder andere uP, tun muss um deine HW anzusprechen (Port schalten o.ä.). Am Ende musst Du halt nur darauf achten einen vernünftigen HTTP Content zurückzugeben, am einfachsten wie im Bsp an anderer Stelle: damit Dein curl oder der Webbrowser keinen Fehler anzeigt.
Da sind auch noch andere Beispiele bspw. für Parameterübergabe.
- Frank
Edit:
Hier ist noch ein eine Erweiterung des Beispiels für Parameterübergabe:
Idee: Per curl oder Webserver soll ein bestimmter Port des 8266 geschaltet werden:
http://<IP-Adresse>/ein?gpio=5 schaltet GPIO-Pin 5 ein
http://<IP-Adresse>/aus?gpio=6 schaltet GPIO-Pin 6 aus
Das Bsp aus Github muss dzu nur um die folgenden Teile ergänzt werden:
Und speziell in der Setup-Routine wo der Webserver initialisiert wird, müssen die folgenen Zeilen ergänzt werden:
schau Dir mal dieses Beispiel eines Webserver an: https://github.com/esp8266/Arduino/blob ... Server.ino
Die Zeile
Code: Alles auswählen
server.on("/test.svg", drawGraph);
Code: Alles auswählen
server.send(200, "text/plain", "this works as well");
Da sind auch noch andere Beispiele bspw. für Parameterübergabe.
- Frank
Edit:
Hier ist noch ein eine Erweiterung des Beispiels für Parameterübergabe:
Idee: Per curl oder Webserver soll ein bestimmter Port des 8266 geschaltet werden:
http://<IP-Adresse>/ein?gpio=5 schaltet GPIO-Pin 5 ein
http://<IP-Adresse>/aus?gpio=6 schaltet GPIO-Pin 6 aus
Das Bsp aus Github muss dzu nur um die folgenden Teile ergänzt werden:
Code: Alles auswählen
void gpiopin_an() {
String tmp_key ((char *)0);
byte pinnumber;
tmp_key += server.arg(F("gpio"));
if (!(tmp_key.length() >0)) {
server.send(200, F("text/plain"),F("NOK Pin fehlt"));
return;
}
pinnumber = tmp_key.toInt();
digitalWrite(pinnumber, HIGH);
server.send(200, F("text/plain"), String(pinnumber) +F(" eingeschaltet"));
}
void gpiopin_aus() {
String tmp_key ((char *)0);
byte pinnumber;
tmp_key += server.arg(F("gpio"));
if (!(tmp_key.length() >0)) {
server.send(200, F("text/plain"),F("NOK Pin fehlt"));
return;
}
pinnumber = tmp_key.toInt();
digitalWrite(pinnumber, LOW);
server.send(200, F("text/plain"), String(pinnumber) +F(" ausgeschaltet"));
}
Code: Alles auswählen
server.on(F("/ein"), gpiopin_an);
server.on(F("/aus"), gpiopin_aus);
Zuletzt geändert von fsommer1968 am 07.01.2021, 21:15, insgesamt 1-mal geändert.
-
- Beiträge: 12886
- Registriert: 16.01.2009, 18:48
- Wohnort: Steingaden
- Hat sich bedankt: 1584 Mal
- Danksagung erhalten: 221 Mal
Re: WeMos D1 mini als WLAN-Sensor/-Aktor
dann warten wir mal auf das fertige projekt !
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
-
- Beiträge: 315
- Registriert: 16.02.2015, 17:05
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 126 Mal
- Danksagung erhalten: 35 Mal
Re: WeMos D1 mini als WLAN-Sensor/-Aktor
So, es ist geschafft.Ich möchte via curl oder wget mit http-Befehl von der CCU via Wlan einen Befehl an WeMos D1 mini senden, der dort die Ausführung eines Programms auslöst ... und ... bestimmte MP3-Dateien abspielt
Zutaten:
- Mini MP3 Player DFPlayer Modul mit Lautsprecher 2W 8 Ohm kompatibel mit Arduino
- Micro-SD Karte (Vorsicht: bei mir hat nur eine alte 2GB-Karte funktioniert, eine neu formatierte 16GB High Endurance Karte wurde nicht erkannt)
- WeMos D1 mini mit Kabel und Ladegerät
- Breadboard + Steckkabel
- Kästchen mit Schallöffnung ums Ganze
Audio-Dateien nach Bedarf (mp3 oder wav)
Man nehme:
- Verkabelung gem. Schema des Player-Moduls (VCC GND TX RX zu Wemos z.B. D1 und D2, SPK1 an Lautsprecher +, SPK2 an Lautsprecher -);
Testen auch nur mit Anschluss von 3.3/5 V und GND
- Bibliothek DFRobotDFPlayerMini des Hersteller Dfrobot in Arduino installieren
- 2 Sketche zusammenfassen:
- Sketch "Led_per_Wlan_schalten" im Beitrag wemos-d1-mini-boards von https://wolles-elektronikkiste.de/ anpassen SSID, IP etc
- Sketch "GetStarted" (Beispieldatei des Dfrobot) integrieren
- Die beiden Befehle "LED an" und "LED aus" werden ersetzt und erweitert um je einen Befehl für jede zu spielende Audio-Datei, lauter, leiser und Stop
- pro Audiodatei ein virtueller Schalter (oder CUxD Fernbedienung) mit http-Aufruf über curl
alternativ: Befehl direkt im Browser eingeben, (z.B. http://WemosIP/spiel_1 für Audio-Datei 0001.mp3
Bei Bedarf Sketch über PN.
Gruss
Paul
P.S. Mal sehen, welchen Bedarf meine Enkel für ihrer Modellbahn noch anmelden
Mit Mut und Entschlossenheit gegen Intoleranz
Re: WeMos D1 mini als WLAN-Sensor/-Aktor
Hallo zusammen,
ich habe mir aus einem Wemos D1 Mini und einen DHT11 einen schicken Temperatur-/Feuchtigkeitssensor gebastelt. Der Wemos lässt zeigt nun per Eingabe der IP die Daten an (https://draeger-it.blog/wemos-d1-wlan-t ... 11-sensor/). Nun möchte ich ich die Daten in meine CCU2 übertragen. Hierfür habe ich ein CuxD Gerät angelegt (Experimental 30 Wetter...). Nun kommt der schwierige Teil. Wie sage ich der CCU das z.B. stündlich die Temperatur/Feuchtigkeit von der IP 192.168.x.x ausgelesen wird? Reicht dafür ein Script in der CCU oder muss der Wemos die Daten Aktiv an die CCU übermitteln? Über ein paar Tips würde ich mich freuen!
ich habe mir aus einem Wemos D1 Mini und einen DHT11 einen schicken Temperatur-/Feuchtigkeitssensor gebastelt. Der Wemos lässt zeigt nun per Eingabe der IP die Daten an (https://draeger-it.blog/wemos-d1-wlan-t ... 11-sensor/). Nun möchte ich ich die Daten in meine CCU2 übertragen. Hierfür habe ich ein CuxD Gerät angelegt (Experimental 30 Wetter...). Nun kommt der schwierige Teil. Wie sage ich der CCU das z.B. stündlich die Temperatur/Feuchtigkeit von der IP 192.168.x.x ausgelesen wird? Reicht dafür ein Script in der CCU oder muss der Wemos die Daten Aktiv an die CCU übermitteln? Über ein paar Tips würde ich mich freuen!
-
- Beiträge: 315
- Registriert: 16.02.2015, 17:05
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 126 Mal
- Danksagung erhalten: 35 Mal
Re: WeMos D1 mini als WLAN-Sensor/-Aktor
geht beides
ich vermute, dass eine turnusmäßige Abfrage der CCU einfacher ist. Die Antwort wird von der CCU ausgewertet und an dein CUxD Gerät übermittelt.
Ausgangspunkt ist dann die http-Abfrage (die der Client doch wohl jetzt auch schickt?).
Probier es im Browser aus. Wenn dort über http die Daten lesbar sind, ist der Rest mit wget oder curl ein Kinderspiel (wenngleich es noch ein paar Fallstricke für den Dauerbetrieb gibt).
ich vermute, dass eine turnusmäßige Abfrage der CCU einfacher ist. Die Antwort wird von der CCU ausgewertet und an dein CUxD Gerät übermittelt.
Ausgangspunkt ist dann die http-Abfrage (die der Client doch wohl jetzt auch schickt?).
Probier es im Browser aus. Wenn dort über http die Daten lesbar sind, ist der Rest mit wget oder curl ein Kinderspiel (wenngleich es noch ein paar Fallstricke für den Dauerbetrieb gibt).
Mit Mut und Entschlossenheit gegen Intoleranz
-
- Beiträge: 14085
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 580 Mal
- Danksagung erhalten: 1492 Mal
Re: WeMos D1 mini als WLAN-Sensor/-Aktor
Es wäre vielleicht empfehlenswerter, externen Sensoren das Abliefern der Daten bei einer CCU beizubringen als andersrum. Die CCU-Firmware ist im Grund nicht dazu geeignet, externe Server zu kontaktieren, da hier jegliche Fehlerbehandlung fehlt. Daten können relativ einfach per URL bei der CCU abgeliefert werden. Hat der Sensor Stabilitätsprobleme kommen nur keine Daten mehr an. Im Gegenzug kann eine Abfrage durch die CCU bei einem instabilen Sensor die CCU selbst schon destabilisieren.
Gruß Xel66
Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch