WLAN-Relais mit dem ESP8266 und HTTP-API
Pascal
Inhaltsverzeichnis [Verbergen]
Beschreibung
Mit dieser Anleitung erhaltet ihr in wenigen Minuten ein durch den ESP8266 D1 Mini WLAN-fähiges Relais für verschiedene Anwendungen.
Das Relais kann über eine HTTP-API angesteuert werden. Der Funktionsumfang ist wie folgt:
Die HTTP-API kann verwendet werden, um das Relais mithilfe anderer Anwendungen und Plattformen steuern zu lassen.
Das kann zum einen ein anderer ESP8266 D1 Mini sein, die Plattform Homebridge, oder jeder andere Dienst, der http-Requests unterstützt.
Programmcode
- #include <ESP8266WiFi.h>
- #include <ESP8266WebServer.h>
- ESP8266WebServer server(80);
- const char* ssid = "WLAN_SSID";
- const char* password = "WLAN_PASSWORD";
- //Signal-Pin des Relais: D1
- int relay_pin = 5;
- void setup()
- {
- pinMode(relay_pin, OUTPUT);
- Serial.begin(115200);
- Serial.println("ESP Gestartet");
- WiFi.begin(ssid, password);
- Serial.print("Verbindung wird hergestellt ...");
- while (WiFi.status() != WL_CONNECTED)
- {
- delay(500);
- Serial.print(".");
- }
- Serial.println();
- Serial.print("Verbunden! IP-Adresse: ");
- Serial.println(WiFi.localIP());
- server.onNotFound([](){
- server.send(404, "text/plain", "Link wurde nicht gefunden!");
- });
- server.on("/", []() {
- server.send(200, "text/plain", "Startseite");
- });
- server.on("/relay_on", []() {
- server.send(200, "text/plain", "Relais wurde angeschaltet.");
- relay_on();
- });
- server.on("/relay_off", []() {
- server.send(200, "text/plain", "Relais wurde ausgeschalten.");
- relay_off();
- });
- server.on("/state", []() {
- server.send(200, "text/plain", String(digitalRead(relay_pin)));
- });
- server.begin();
- Serial.println("Webserver gestartet.");
- }
- void loop() {
- server.handleClient();
- }
- void relay_on(){
- digitalWrite(relay_pin, HIGH);
- }
- void relay_off(){
- digitalWrite(relay_pin, LOW);
- }
- Den Programmcode kopieren und die WLAN-Daten anpassen
- Programm auf den ESP8266 D1 Mini laden
eine Anleitung dazu findet ihr hier - nach dem Hochladen die IP-Adresse aus dem Seriellen Monitor kopieren oder notieren
Schaltplan
Sicherheit
Falls ihr euch Gedanken über die Sicherheit bzw. Zugriffsbeschränkung macht, empfehle ich euch das Tutorial von
janopha : Ich schalte und sonst niemand! D1 Mini Zugriff beschränken
Dort erklärt er euch, wie ihr euren ESP8266 D1 Mini gegen ungewollten Fremdzugriff sichern könnt.
Beachtet in diesem Fall nur den Abschnitt "D1 Mini" des Tutorials.