Hirdetés

2024. május 20., hétfő

Gyorskeresés

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-03-11 00:46:52

LOGOUT.hu

Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.

Összefoglaló kinyitása ▼

Hozzászólások

(#6390) vargalex válasza Bazs87 (#6388) üzenetére


vargalex
félisten

A két kérésed is GET kérés. Ezért értetlenkedem. Attól, hogy GET-nek hívják, az még adatküldésre alkalmas query string-el.

Az eredeti példánál maradva az egyszerűsített verzió:

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

#define DEFAULT_STATE LOW


// Replace with your network credentials
const char* ssid = "Your_SSID";
const char* password = "your_password";

// GPIO for controlling the relay
uint8_t relay_pin = 12;

ESP8266WebServer server(80);

void setup(void){
//Set default state
digitalWrite(relay_pin, DEFAULT_STATE);

//Turn on serial output
delay(1000);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");

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

// logging to serial output
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());

// web server setup
server.on("/on", []() {
digitalWrite(relay_pin, HIGH);
Serial.println("Relay turned on");
server.send(200, "text/plain", "Relay turned on");
});
server.on("/off", []() {
digitalWrite(relay_pin, LOW);
Serial.println("Relay turned off");
server.send(200, "text/plain", "Relay turned off");
});
server.on("/state", []() {
String relay_state = (digitalRead(relay_pin)) ? "true" : "false";
server.send(200, "text/plain", relay_state);
});
server.begin();
Serial.println("HTTP server started");
}

void loop(void){
server.handleClient();
}

Ha jól láttam, a sonoff-on a 12-es GPIO-ra van kötve a relé. A relé kapcsolgatása mellett a led-et is kapcsolhatod a 13-as GPIO-n. A fenti példa a kapcsoláskor is ad vissza választ, mert szerintem egy web szervernek illik (legalább a HTTP 200-at visszaadni).

[ Szerkesztve ]

Alex

Copyright © 2000-2024 PROHARDVER Informatikai Kft.