//Incluir bibliotecas
#include "WiFi.h"
#include "DHTesp.h"
#include "HTTPClient.h"
//Definicoes e constantes
char SSIDName[] = "Wokwi-GUEST"; //nome da rede WiFi
char SSIDPass[] = ""; //senha da rede WiFI
const int DHT_PIN = 15; //terminal do sensor de temperatura e umidade
//Variaveis globais e objetos
DHTesp dhtSensor; //instancia o objeto dhtSensor a partir da classe DHTesp
float Temperatura; //variavel para guardar o valor da temperatura em Celsius
float Umidade; //variavel para guardar o valor da umidade em porcentagem
String webServiceURL = "https://api.callmebot.com/whatsapp.php?phone=[phone_number]&text=[message]&apikey=[your_apikey]"; //URL da API do CallMeBot (WhatsApp)
//Setup
void setup() {
Serial.begin(9600);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22); //inicializa o sensor
Serial.print("Conectando-se ao Wi-Fi");
WiFi.begin(SSIDName, SSIDPass); //inicializa WiFi
while (WiFi.status() != WL_CONNECTED) { //repete enquanto nao estabelece conexao
delay(100);
Serial.print(".");
}
Serial.println();
Serial.println("Conectado!");
Serial.print("IP: ");
Serial.println(WiFi.localIP()); //imprime o endereco IP
}
//Loop
void loop() {
//Coleta dados da temperatura e umidade
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Temperatura = data.temperature;
Umidade = data.humidity;
Serial.print("Temperatura: ");
Serial.println(Temperatura);
Serial.print("Umidade: ");
Serial.println(Umidade);
// Make HTTP request to web service
HTTPClient http;
http.begin(webServiceURL);
int httpResponseCode = http.GET();
if (httpResponseCode > 0) {
Serial.print("HTTP response code: ");
Serial.println(httpResponseCode);
String payload = http.getString();
Serial.println("Response payload: ");
Serial.println(payload);
} else {
Serial.print("HTTP request failed with error code: ");
Serial.println(httpResponseCode);
}
http.end();
delay(5000);
}