#include <WiFi.h>
#include <HTTPClient.h>
#include "DHT.h"
// Wi-Fi
#define wifi_ssid "Wokwi-GUEST"
#define wifi_senha ""
// ThingSpeak
unsigned long canal = 34342;
const char *chaveEscrita = "RPVYR5VW7A0U6X9T";
const char *url = "http://api.thingspeak.com/update";
DHT dht(2, DHT22);
// Criação do cliente MQTT
WiFiClient clienteEsp;
HTTPClient http;
void wifi_conexao() {
WiFi.mode(WIFI_STA);
Serial.print("Conectando a ");
Serial.println(wifi_ssid);
WiFi.begin(wifi_ssid, wifi_senha);
int tentar = 0;
while (WiFi.status() != WL_CONNECTED && tentar < 40) {
delay(500);
Serial.print(".");
tentar++;
}
if (WiFi.status() != WL_CONNECTED) {
Serial.println("\nERRO: Falha na conexão ao Wi-Fi");
}
else {
Serial.print("\nConectado. IP: ");
Serial.println(WiFi.localIP());
}
}
void setup() {
Serial.begin(115200);
dht.begin();
wifi_conexao();
}
void loop() {
delay(2000);
float umid = dht.readHumidity();
float temp = dht.readTemperature();
Serial.print("Umidade: ");
Serial.print(umid);
Serial.print(" %\t");
Serial.print("Temperatura: ");
Serial.print(temp);
Serial.print(" °C\n");
http.begin(clienteEsp, url);
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
String httpDados = "api_key=" + String(chaveEscrita) +
"&field1=" + String(temp) + "&field2=" + String(umid);
int res = http.POST(httpDados);
if(res == 200) {
Serial.println("Envio realizado com sucesso!");
}
else {
Serial.println("Erro " + String(res) + " ao enviar!");
}
delay(60000);
}