#include <WiFi.h>
const char* ssid = "ServerEquip1"; // SSID do ponto de acesso do servidor
const char* password = "12345678"; // Senha do ponto de acesso do servidor
const char* serverIP = "192.168.4.1"; // IP do servidor quando em modo AP
const int serverPort = 80; // Porta do servidor
const int sensorPin = 4; // Pino GPIO onde o sensor está conectado
const int threshold = 500; // Valor de limiar para acender/desligar o LED
WiFiClient client;
void setup() {
Serial.begin(115200);
// Configura o pino do sensor como entrada
pinMode(sensorPin, INPUT);
// Conecta à rede Wi-Fi do servidor
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Conectado à rede Wi-Fi!");
// Verifica o estado do sensor e envia comando ao servidor
int sensorValue = analogRead(sensorPin);
Serial.print("Valor do sensor: ");
Serial.println(sensorValue);
if (sensorValue > threshold) {
sendCommand("on"); // Envia comando para ligar o LED
} else {
sendCommand("off"); // Envia comando para desligar o LED
}
}
void loop() {
// Releia o sensor e atualize o estado do LED a cada 5 segundos
delay(5000);
int sensorValue = analogRead(sensorPin);
Serial.print("Valor do sensor: ");
Serial.println(sensorValue);
if (sensorValue > threshold) {
sendCommand("on"); // Envia comando para ligar o LED
} else {
sendCommand("off"); // Envia comando para desligar o LED
}
}
void sendCommand(const String& state) {
if (client.connect(serverIP, serverPort)) {
String url = "/led?state=" + state;
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + serverIP + "\r\n" +
"Connection: close\r\n\r\n");
delay(500);
// Lê a resposta do servidor
while (client.available()) {
String line = client.readStringUntil('\r');
Serial.print(line);
}
client.stop();
} else {
Serial.println("Falha na conexão com o servidor.");
}
}