#include <WiFi.h>
#include <HTTPClient.h>
const int LED1 = 9; //Led Azul
const int LED2 = 3; //Led Vemelho
const int LED3 = 18; //Led Verde
bool led1State = false; //Define o estado bool para o led (ligado ou não)
bool led2State = false; //Define o estado bool para o led (ligado ou não)
bool led3State = false; //Define o estado bool para o led (ligado ou não)
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASSWORD ""
void setup() {
Serial.begin(9600); //Define a porta serial na qual o programa irá rodar
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD); //Define a conecção do esp32 com a rede Wokwi Guest.
Serial.print("Conectando-se ao Wi-Fi ");
Serial.print(WIFI_SSID);
while ( WiFi.status() != WL_CONNECTED ) {
delay(100);
Serial.print(".");
led1State = !led1State; //Define que o LED azul deve brilhar enquanto a conecção ao wifi não efetuada efetuada
digitalWrite(LED1, led1State);
break;
}
Serial.println(" Conectado!"); // Define que, quando conectado, deve-se prontar no monitor serial a menssagem do argumento.
if(WiFi.status() == WL_CONNECTED){ //Condicional para quando o o esp se concetar ao Wifi
HTTPClient http;
String serverPath = "http://google.com"; //Define a o endereçõ da requisição por parte do ESP32
http.begin(serverPath.c_str());
//Código do Resultado da Requisição HTTP - 1
int httpResponseCode = http.GET(); //Define o um inteiro que recebe o valor da requisição HTTP, definindo que ela será bem sucedida quando o valor for >= 1
if (httpResponseCode>0) {
Serial.print("HTTP Response code: ");
Serial.println(httpResponseCode);
String payload = http.getString();
Serial.println(payload);
led3State = !led3State;
digitalWrite(LED1, led3State); //Liga o led verde quando a conecção é bem sucedida
}
else {
Serial.print("Error code: ");
Serial.println(httpResponseCode);
led2State = !led2State;
digitalWrite(LED1, led2State); //Liga o led vermelho quando a conecção é mal sucedida
}
}
http.end();
}
else {
Serial.println("WiFi Disconnected");
}
}
void loop() {
}