Ir al contenido principal

Tutorial NodeMCU (VIII): humedad y temperatura en navegador con AdaFruit

Toda persona que haya tenido contacto con la plataforma Arduino seguramente ya conozca la compañía de hardware open-source Adafruit, famosa por sus diseños de sensores y placas de todo tipo. Esta compañía también proporciona un servicio IoT en la nube conocido con el nombre de adafruit.io. La plataforma adafruit.io nos permite crear desde su interfaz web tableros de control y medida, muy similares a los ya vistos en apartados anteriores, pero al ejecutarse en el navegador, no es necesario disponer de un hardware ni software específicos, cualquier equipo con un navegador web es suficiente.

Para utilizar los servicios de esta plataforma nos dirigimos al sitio web io.adafruit.com y creamos una cuenta. Entre otras opciones se ofrece una versión básica gratuita con limitaciones (como máximo 10 feeds, 5 tableros y 30 mensajes por minuto, además de guardar los datos por un máximo de 30 días), pero que puede servir para pruebas y pequeños proyectos. Al igual que en el caso de Blynk, adafruit.io también dispone de bloques implementados en ArduinoBlocks, lo que la convierte en una plataforma a tener en cuenta a la hora de realizar en este entorno proyectos enfocados a IoT. Con esta plataforma la programación es muy similar a la empleada mediante los bloques MQTT convencionales, solo hay que insertar en el campo Tema de los bloques de publicación y suscripción MQTT, el bloque de adafruit.io correspondiente.

Para disponer de estas herramientas en el navegador web, debemos seguir los siguientes pasos:

1. Accedemos al sitio web io.adafruit.com y nos registramos (get started for free).

2. Creamos un dashboard (tablero).

3. Hacemos click en el tablero, donde podemos implementar los paneles. El primero de ellos será un "toggle" (botón) al que tenemos que asignar un feed (es la forma en la que adafruit denomina a los temas MQTT). Lo llamaremos "led1casa".

4. Para la temperatura y humedad incluiremos un indicador instantáneo (gauge) y una gráfica (line chart) para ver su evolución en el tiempo, asignando valores mínimo y máximo para cada una de las magnitudes a medir y, lo más importante, creando un feed para cada uno de ellos ("temperatura" y "humedad").

5. En la parte superior del navegador aparece el link "My key", una clave alfanumérica que utiliza la plataforma para conectarse a nuestros dispositivos y que nos pedirá ArduinoBlocks.

6. Nos vamos a ArduinoBlocks, donde iniciaremos un nuevo proyecto. En el grupo MQTT veremos los bloques especiales para Adafruit. Dentro de inicializar insertaremos el bloque de iniciar (insertamos nuestro wifi y clave) con los datos puerto 1883, io.adafruit.com. En usuario pondremos el de adafruit, y en clave la que hemos copiado anteriormente.

7. Empleamos la opción "suscribir texto" (recordemos que el Led nos dará los textos ON y OFF), en usuario pondremos nuestro usuario de adafruit y en Feed Key pondremos el feed del led (en nuestro caso lo llamamos "led1casa").

8. En bucle programaremos el led y la publicación de datos de humedad y temperatura. Para el led, comparamos cadenas de texto (si la variable es ON, poner pin D4 OFF, si es OFF, poner pin D4 ON). Con esto controlaríamos el led. Para publicar H y T, empleamos la opción "ejecutar cada" (en nuestro caso cada 10 segundos para no llegar a la limitación de 30 mensajes al minuto).

9. Ejecutamos "publicar en adafruit" el valor de H y T que nos da el sensor.

10. El programa quedaría como sigue:

11. Subimos el programa a nuestra placa.

12. Comprobamos el funcionamiento en nuestro navegador web.




Comentarios

Entradas populares de este blog

Prácticas con FluidSIM

FluidSim es una herramienta de simulación para la obtención de los conocimientos básicos de la neumática y de la hidráulica.

Crucigrama: materiales metálicos

¿Te atreves a contestar este crucigrama sobre los materiales metálicos?

Crucigrama: estructuras

¿Te atreves a contestar este crucigrama sobre el tema de las estructuras visto en clase?