En el siguiente tutorial aprenderás a programar el sensor DHT22 para enviar las lecturas de humedad y temperatura a la plataforma Cayenne IOT utilizado la placa ESP32.
Lista de materiales:
Diagrama de conexión:
Para realizar Dashboard con la plataforma de Cayenne IOT sigue los siguientes pasos:
1- Crear una cuenta en Cayenne IOT
Lo primero que debes hacer es crear una cuenta en Cayenne IOT, solo dirigirte a la parte inferior de la pagina de Cayenne y llena el formulario de registro, aceptar los términos y dar clic en “Next”. En la siguiente imagen se muestra el ejemplo de como hacerlo:2- Seleccionar un dispositivo para comenzar un proyecto en Cayenne
Ya que creaste la cuenta en Cayenne, deberás seleccionar un dispositivo para comenzar un proyecto, tendrás que seleccionar “Cayenne API” esta opción podremos configurar un nuevo Dispositivo/widget, para conectar la placa ESP32. En la siguiente imagen se muestra que deberás seleccionar.
3- Parámetros que necesitara la placa ESP32 para conectarse a Cayenne IOT
Ya que seleccionaste “Cayenne API”, te saldrán unos parámetros de conexión, que necesitaras agregar al código de Arduino para conectar el ESP32 a Cayenne y así enviar las lecturas de temperatura y humedad del sensor DHT22. Pero antes de realizar esto deberás descargar he importar al IDE de Arduino la siguiente librería:
Para importar la librería, abre el IDE de Arduino dirigirte a la pestaña programa y da un clic en “Incluir Librería” y se desplegara una ventana, selecciona la opción de “Añadir biblioteca .ZIP”, después selecciona la librería que descargaste anteriormente.
Después crea un nuevo proyecto en Arduino IDE, copia y pega el siguiente código:
#include <CayenneMQTTESP32.h> //Librería de Cayenne MQTT #define CAYENNE_PRINT Serial // Información de red WiFi char ssid[] = "----"; // Ingresar el nombre de la red char wifiPassword[] = "----"; // Ingresar la contraseña de la red // Parámetros de conexión a Cayenne. Esto debe obtenerse del Tablero de Cayenne. char username[] = "----"; char password[] = "----"; char clientID[] = "----"; #include <DHT.h> //Cargamos la librería DHT #define DHTTYPE DHT22 //Definimos el modelo DHT22 #define DHTPIN 4 // Se define el pin D4 del ESP32 para conectar el sensor DHT22 DHT dht(DHTPIN, DHTTYPE,22); void setup() { Serial.begin(115200); //Se inicia la comunicación serial dht.begin(); Cayenne.begin(username, password, clientID, ssid, wifiPassword); } void loop() { Cayenne.loop(); } // Función de Cayenne para enviar datos del sensor al canal 1. CAYENNE_OUT(1) { float t = dht.readTemperature();//Se lee la temperatura y se asigna el valor a "t". //Lectura de temperatura se enviara a Cayenne en el canal 1. //Envió de lecturas cada 10 segundos. Cayenne.virtualWrite(1, t); //Se imprimen los siguientes datos en el monitor serie. CAYENNE_PRINT.println("Enviando Temperatura a Cayenne:"); CAYENNE_PRINT.println(t); } // Función de Cayenne para enviar datos del sensor al canal 2. CAYENNE_OUT(2) { float h = dht.readHumidity(); //Se lee la humedad y se asigna el valor a "h" //Lectura de Humedad se enviaran a Cayenne en el canal 2. //Envió de lecturas cada 10 segundos. Cayenne.virtualWrite(2, h); //Se imprimen los siguientes datos en el monitor serie. CAYENNE_PRINT.println("Enviando Humedad a Cayenne"); CAYENNE_PRINT.println(h); }
Lo siguiente que tendrás que hacer será añadir en el código de Arduino los parámetros de conexión que anterior mente teníamos en Cayenne, respectivamente en su linea de código y dentro de las comillas, en la siguiente imagen podrás ver un ejemplo de como identificar los parámetros de conexión y en que parte del código añadir los parámetros;
4- Compilar y cargar el código al ESP32
Por ultimo deberás ingresar una conexión a “Internet” definiendo los parámetros de nombre de la red Wifi en la linea de código ssdi[ ] y la contraseña de la red en la linea de código wifiPassword[ ]. Sera lo ultimo que agregaras al código, recuerda seleccionar la placa NodeMCU-32S, verificar el puerto COM y después compilar y cargar el código a tu ESP32. El pin de datos del sensor DHT22 esta conectado al pin D4 del ESP32 si es tu caso y estas utilizando otro pin digital cambiarlo en el código.
Para verificar que todo a salido bien abre el monitor serie, definir la velocidad de baudios a “115200” y cambiar a “Ambos NL & CR”, te debe de mostrar que te has conectado a la red wifi, te dará una IP, la conexión a Cayenne y el envió de temperatura y humedad que se estará reflejando cada 10 segundos en la plataforma de cayenne, en la siguiente imagen tendrás un ejemplo de como te debe aparecer el monitor serie y en la plataforma de Cayenne:
5- Agregar los tableros de temperatura y humedad al dispositivo ya creado en Cayenne
Ya que la plataforma cayenne recibió las lecturas lo que tendrás que hacer sera agregar los tableros al dispositivo principal para que los tableros se guarden y se les pueda modificar tanto el aspecto visual, desde cambiar nombre, agregar un icono y representar las lecturas con gráficas o paneles dinámicos, de lo contrario estos tableros no se guardaran, por eso se tienen que añadir al dispositivo que ya hemos creado anterior mente. Para hacerlo sigue los siguientes pasos:
- Dar clic en + Add to dashboard, para ambos tableros
- Dar clic en el engrane “Settings”
- Seleccionar Settings
- Cambiar nombre y agregar un icono a cada tablero
- Guardar los cambios Save
En la siguiente imagen podrás ver como hacer los pasos que anterior mente se mencionaron:
Listo, si has seguido todos los pasos ya tendrás bien configurado la plataforma de Cayenne IOT para visualizar y almacenar la lectura de temperatura y humedad mediante, el sensor DHT22 y la placa ESP32.