wifi relais

Arduino specifieke Software
Berichten: 31
Geregistreerd: 10 Mrt 2014, 22:01

wifi relais

Berichtdoor Olan » 07 Feb 2022, 16:32

enige hulp gevraagd om deze sketch
het lukt mij niet om het relais te schakelen met commando ipadres/on to turn on
Wemos maakt verbinding en handmatig schakelen lukt ook.
alleen niet via een browser.
ik heb vanalles geprobeerd maar niks lukt.

graag hulp

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

#define STASSID "yourwifiname"
#define STAPSK "welcome123!"

#define LED D4

int rstatus =0;
const char* ssid = STASSID;
const char* password = STAPSK;

IPAddress ip(q); // IP address of the server
IPAddress gateway(192,168,1,1); // gateway of your network
IPAddress subnet(255,255,255,0); // subnet mask of your network

ESP8266WebServer server(80);

void setup(void) {

pinMode(D2,OUTPUT); // relay
pinMode(D1,OUTPUT); // buzzer
pinMode(D3,INPUT_PULLUP); // switch
pinMode(LED,OUTPUT); // Internal LED
digitalWrite(LED,LOW); // Led on (low = on)

WiFi.mode(WIFI_STA);
WiFi.config(ip, gateway, subnet); // forces to use the fix IP
WiFi.begin(ssid, password);

// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}

server.onNotFound(handleNotFound);
server.on("/", handleRoot);
server.on("/on", webRelayOn);
server.on("/off", webRelayOff);
server.begin();

// Beep beep beep
for (int x=0; x<3;x++){
digitalWrite(D1,HIGH);delay(50);
digitalWrite(D1,LOW);delay(100);
}

} // ### END OF SETUP ###


void handleNotFound() {
server.send(404, "text/plain", "Page not found.");
}

void handleRoot() {
if (rstatus==1) server.send(200, "text/plain", "Relay is ON\r\nUse http://<ip address>/off to turn off");
if (rstatus==0) server.send(200, "text/plain", "Relay is OFF\r\nUse http://<ip address>/on to turn on");
}

void webRelayOn(){
server.send(200, "text/plain", "Relay is ON\r\nUse http://<ip address>/off to turn off");
rstatus=1;
}

void webRelayOff(){
server.send(200, "text/plain", "Relay is OFF\r\nUse http://<ip address>/on to turn on");
rstatus=0;
}

void loop(void) {

server.handleClient();

// handle the manual button
if (digitalRead(D3)==LOW) {
if (rstatus==0)
rstatus=1;
else
rstatus=0;

delay(500);
}

digitalWrite(D2,rstatus);

// Set the internal Led
digitalWrite(LED,!rstatus);
}

Advertisement

Gebruikers-avatar
Berichten: 241
Geregistreerd: 22 Jan 2013, 16:40

Re: wifi relais

Berichtdoor zuid » 08 Feb 2022, 17:37

Wat gebeurt er als je het stukje:
Code: Alles selecteren
// handle the manual button
if (digitalRead(D3)==LOW) {
if (rstatus==0)
rstatus=1;
else
rstatus=0;

delay(500);
}


even helemaal op commentaar zet, dus weg haalt?
mvg Nico

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: afadqinopo en 19 gasten