#include <WiFi.h>
#include "ThingSpeak.h"
#include "DHT.h"
// Wi-Fi
#define wifi_ssid "Wokwi-GUEST"
#define wifi_senha ""
// ThingSpeak
unsigned long canal = 34342;
const char *chaveEscrita = "RPVYR5VW7A0U6X9T";
DHT dht(2, DHT22);
// Criação do cliente MQTT
WiFiClient clienteEsp;
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();
ThingSpeak.begin(clienteEsp);
}
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");
ThingSpeak.setField(1, temp);
ThingSpeak.setField(2, umid);
int res = ThingSpeak.writeFields(canal, chaveEscrita);
if(res == 200) {
Serial.println("Envio realizado com sucesso!");
}
else {
Serial.println("Erro " + String(res) + " ao enviar!");
}
delay(60000);
}