ESP8266 D1 Mini WLAN-Relais mit API
Der ESP8266 D1 Mini erfreut sich vielerlei Anwendungsmöglichkeiten. Viele davon basieren auf dem HTTP-Protokoll. In diesem Artikel bekommt ihr eine kurze Anleitung für ein einfaches WLAN Relais mithilfe eines ESP8266 D1 Mini, einem Relais-Modul und dem HTTP-Protokoll. Durch die verwendete HTTP-API lässt sich das Relais am ESP8266 D1 Mini nicht nur manuell über den Browser steuern, sondern auch in beliebig vielen anderen Projekten ganz leicht einbinden.

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. Die Funktionen sind folgende
API-Link | Beschreibung |
---|---|
http://192.168.192.1/relay_on | Schlatet das Relais an. |
http://192.168.192.1/relay_off | Schlatet das Relais aus. |
http://192.168.192.1/state | Gibt den Status als "0" oder "1" im Browser zurück. |
Die HTTP-API kann verwendet werden, um das Relais mithilfe anderer Anwendungen und Plattformen steuern zu können. Das kann zum einen ein anderer ESP8266 sein, der als Fernbedienung fungiert. Die Plattform Homebridge um das Relais in das Smarthome einzubinden. Oder auch jeder andere Dienst, der HTTP-Requests unterstützt.
Möchtest du direkt dein eigenes HTTP WLAN Relais bauen? Ich hab dir hier einen Warenkorb zusammengestellt mit den Produkten die für dieses Tutorial verwendet wurden.
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);
}
Die beiden folgenden Zeilen müssen angepasst werden, damit sich der ESP8266 mit eurem WLAN-Netzwerk verbinden kann.
const char* ssid = "WLAN_SSID";
const char* password = "WLAN_PASSWORD";
Schaltplan

ESP8266 D1 Mini | Relais-Modul |
---|---|
D1 | S - Signalleitung |
G | - Leitung |
5V | + Leitung |

Interesse daran, das Relais in dein Smarthome einzubinden? Dann schau dir doch mal diesen Artikel an:
