Написал сервер для мигания светодиодом.
Возвращает ответ про то что все отработало нормально, но по факту светодиод не загорается.
P.S. Скетч, в котором я не разворачиваю сервер и просто мигаю диодом работает нормально.
Подскажите пожалуйста, что не так?
Код:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>
const String nodeId = "4";
const char* ssid = "*";
const char* password = "*";
const String serverURL = "http://192.168.1.129:8181";
const String aliveRequestURL = "/core-rest-api/for-nodes/alive-request-from-node";
ESP8266WebServer server(80); //Web server object. Will be listening in port 80 (default for HTTP)
void setup() {
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
Serial.begin(115200);
WiFi.begin(ssid, password); //Connect to the WiFi network
while (WiFi.status() != WL_CONNECTED) { //Wait for connection
delay(500);
Serial.println("Waiting to connect…");
}
Serial.print("IP address: ");
Serial.println(WiFi.localIP()); //Print the local IP to access the server
sendAliveRequestToServer();
server.on("/command-from-server", handleRequestFromServer); //Associate the handler function to the path
server.begin(); //Start the server
Serial.println("Server listening");
}
void loop() {
server.handleClient(); //Handling of incoming requests
}
void handleRequestFromServer() {
String message = "";
if (server.arg("switch")== ""){ //Parameter not found
message = "Switch argument not found.";
} else { //Parameter found
if(powerSocketSwitch(server.arg("switch")) == true){
message = "Switched successfully.";
} else {
message = "Switched unsuccessfully. Command is not correct.";
}
}
server.send(200, "text/plain", message); //Returns the HTTP response
}
boolean powerSocketSwitch(String command){
if(command == "checked"){
Serial.println("command checked");
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
return true;
} else if(command == "unchecked"){
Serial.println("command unchecked");
digitalWrite(1, LOW);
digitalWrite(2, LOW);
return true;
}
return false;
}
void sendAliveRequestToServer() {
if (WiFi.status() == WL_CONNECTED) { //Check WiFi connection status
Serial.println("send Alive Request To Server: " + serverURL + aliveRequestURL + "?id=" + nodeId);
HTTPClient http; //Declare an object of class HTTPClient
http.begin(serverURL + aliveRequestURL + "?id=" + nodeId); //Specify request destination
int httpCode = http.GET(); //Send the request
if (httpCode > 0) { //Check the returning code
String payload = http.getString(); //Get the request response payload
Serial.println(payload); //Print the response payload
}
http.end(); //Close connection
}
}
P.S. Скетч, в котором я не разворачиваю сервер и просто мигаю диодом работает нормально.
Подскажите пожалуйста, что не так?