//incluir librerias
#include <ThingerESP32.h>
#include <DHT.h>
// Configuración de la plataforma Thinger.io
#define USERNAME "caramireg"
#define DEVICE_ID "ESP32_123456"
#define DEVICE_CREDENTIAL "123456"
// Configuración de la red WiFi
#define SSID "Wokwi-GUEST" //usuario del WIFI
#define SSID_PASSWORD "" //contraseña del WIFI
// Configuración del sensor DHT22
#define PIN_DHT 2 //definición del pin de conexión del sensor
#define TYPE_DHT DHT22 //definición de tipo de sensor (DHT11,DHT21,DHT22)
DHT dht(PIN_DHT, TYPE_DHT); // se crea el objeto dht para configura el sensor
// Definición de pines de salida
#define PIN_VENTILADOR 4
// Variables para la plataforma Thinger.io
//sensor
float humedad; //humedad del ambiente
float temperatura; // temperatura
//control
int ventilador; // ventilador
bool remoto; //control del IOT
// Objeto Thinger para la conexión con la plataforma
ThingerESP32 thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL);
// Función para configurar las variables de la plataforma Thinger.io
void variables() {
// Definición de variables de salida
thing["variables"] >> [](pson &out) {
out["humedad"] = humedad;
out["temperatura"] = temperatura;
};
// Definición de variable de entrada desde la plataforma
thing["remoto"] << [](pson &in) {
if (in.is_empty()) {
in = remoto;
} else {
remoto = in;
}
};
}
void setup() {
// Inicialización Thinger y manejo de conexión WiFi
thing.handle();
thing.add_wifi(SSID, SSID_PASSWORD);
// Configuración de variables en Thinger
variables();
// Inicialización del sensor DHT
dht.begin();
// Configuración de pines
pinMode(PIN_DHT, INPUT);
pinMode(PIN_VENTILADOR, OUTPUT);
}
void loop() {
// Lecturas del sensor DHT
temperatura = dht.readTemperature();
humedad = dht.readHumidity();
// Control del ventilador según la variable remoto
if(remoto=true)
{
digitalWrite(PIN_VENTILADOR, HIGH);
}else
{
digitalWrite(PIN_VENTILADOR, LOW);
}
// Manejo de la conexión con la plataforma Thinger
thing.handle();
}