Posted on Oktober 8, 2017
WLAN-Schalter
Basierend auf den ESP8266 habe ich einen WLAN-Schalter gebaut. Kosten ca. € 10. Also günstig.
Genutzt wurde der D1 Mini, eine Relay Shield und ein fertiger 220V~ auf 5V- Umwandler. Also recht simpel.
Integriert in Openhab 2 wurde wie folgt in der WLAN.items:
Switch Schranklicht "Schrank" ["Lighting"]
Das Lighting schaltet das Ganze wieder für Amazon Echo frei. Sonst ist er ein Dummy-Schalter. Dieser wird mit einer WLAN.rules gesteuert:
rule "Schranklampe"
when
Item Schranklicht received command
then
switch(receivedCommand) {
case ON : sendHttpGetRequest("http://192.168.3.1/an.html")
case OFF : sendHttpGetRequest("http://192.168.3.1/aus.html")
}
end
Der Quellcode für die Arduino-IDE:
#include <ESP8266WiFi.h> #include <ESP8266WebServer.h> ESP8266WebServer server(80); const char* ssid = "GRAUPNER"; const char* password = "xxxxxxxxxxxxxxxxxxxx; void wificonnect(){ Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); WiFi.config(IPAddress(192,168,3,1), IPAddress(192,168,0,1), IPAddress(255,255,252,0), IPAddress(192,168,0,1)); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Verbindung wiederherstellen..."); } Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void Schalter_AN() { digitalWrite(D1,HIGH); server.send(200, "text/html", String(digitalRead(D1), DEC)); } void Schalter_AUS() { digitalWrite(D1,LOW); server.send(200, "text/html", String(digitalRead(D1), DEC)); } void Schalter_STATUS() { server.send(200, "text/html", String(digitalRead(D1), DEC)); } void setup() { Serial.begin(115200); delay(10); pinMode(D1, OUTPUT); digitalWrite(D1, HIGH); wificonnect(); server.on("/status.html",Schalter_STATUS); server.on("/an.html",Schalter_AN); server.on("/aus.html",Schalter_AUS); server.begin(); } void loop() { if (WiFi.status() == WL_CONNECTED) { server.handleClient(); } else { wificonnect(); } }
Neueste Kommentare