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();
  }  
}

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

WP2Social Auto Publish Powered By : XYZScripts.com