Hi,
bin neu hier und kenne mich mit Arduino noch weitestgehend gar nicht aus.
Bisher habe ich eine Homebridge laufen und an dem Raps ein 8-Kanal-Relais, was auch zuverlässig funktioniert. Nun wollte ich den Raps am Relais gegen den ESP8266 D1 mini austauschen. Dafür habe ich den Code von hier in Betracht gezogen
WLAN-Relais mit dem ESP8266 und HTTP-API
und entsprechend erweitert, mit der Absicht, die anderen Pins noch zu schalten, aber egal, was ich mache, er schaltet immer nur den ersten, die weiteren kann ich ansprechen, aber sie ändern den Status nicht. Unten mal ein gekürztes Beispiel mit zwei Pins. Wo ist der Fehler? Komme einfach nicht weiter.
Danke schonmal für die Hilfe.
C
- #include <ESP8266WiFi.h>
- #include <ESP8266WebServer.h>
- ESP8266WebServer server(80);
- const char* ssid = "SSID";
- const char* password = "pw";
- //Signal-Pins der Relais
- int Pin_D1 = 5;
- int Pin_D2 = 4;
- void setup()
- {
- pinMode(Pin_D1, 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("/Pin_D1_on", []() {
- server.send(200, "text/plain", "Relais 1 eingeschaltet");
- Pin_D1_on();
- });
- server.on("/Pin_D1_off", []() {
- server.send(200, "text/plain", "Relais 1 ausgeschaltet");
- Pin_D1_off();
- });
- server.on("/Pin_D1_state", []() {
- server.send(200, "text/plain", String(digitalRead(Pin_D1)));
- });
- server.on("/Pin_D2_on", []() {
- server.send(200, "text/plain", "Relais 2 eingeschaltet");
- Pin_D2_on();
- });
- server.on("/Pin_D2_off", []() {
- server.send(200, "text/plain", "Relais 2 ausgeschaltet");
- Pin_D2_off();
- });
- server.on("/Pin_D2_state", []() {
- server.send(200, "text/plain", String(digitalRead(Pin_D2)));
- });
- server.begin();
- Serial.println("Webserver gestartet.");
- }
- void loop() {
- server.handleClient();
- }
- void Pin_D1_on(){
- digitalWrite(Pin_D1, HIGH);
- }
- void Pin_D1_off(){
- digitalWrite(Pin_D1, LOW);
- }
- void Pin_D2_on(){
- digitalWrite(Pin_D2, HIGH);
- }
- void Pin_D2_off(){
- digitalWrite(Pin_D2, LOW);
- }