# IoT-Wifi-MQTT-ADAFRUIT-ARDUINOBLOCKS

En ARDUINOBLOCKS seleccionamos Comunicaciones -IoT.MQTT y el bloque de Iniciar ESP01

[![ada11.png](https://libros.catedu.es/uploads/images/gallery/2022-08/scaled-1680-/ada11.png)](https://libros.catedu.es/uploads/images/gallery/2022-08/ada11.png)

Con estos datos:

- Definir RX al pin D5 y TX al pin D3 a 9600 baudios como lo hemos visto anteriormente
- El nombre de nuestra red wifi y su contraseña
- El broker será el servidor de **adafruit io.adafruit.com**
- El puerto, será el **1883** tal y como hemos visto anteriormente
- Como cliente ID puedes poner cualquier cosa
- Usuario : el usuario de nombre de usuario de adafruit, que en mi caso es javierquintana
- La clave lo tienes aquí

[![ada9.png](https://libros.catedu.es/uploads/images/gallery/2022-08/scaled-1680-/ada9.png)](https://libros.catedu.es/uploads/images/gallery/2022-08/ada9.png)

Así tiene que quedar:

[![bloquearduinoblockswifi.png](https://libros.catedu.es/uploads/images/gallery/2022-08/scaled-1680-/bloquearduinoblockswifi.png)](https://libros.catedu.es/uploads/images/gallery/2022-08/bloquearduinoblockswifi.png)

El programa buble hacemos:

- Creamos un buble que se ejecute cada 10 segundos, luego explicamos el por qué.
- Leemos el sensor de humedad y temperatura y lo almacenamos en una variable tipo numérica **Hum** y **Temp**
- Las variables Hum y Temp las **publicamos** en el tema asociado a tu usuario y a tu feed
- Creamos **una variable texto LED-TXT**
- Nos **suscribimos** al feed led y lo almacenamos en la varieble texto creada
- Si la variable texto tiene la palabra encendido pues encendemos el led, apagamos en caso contrario

[![ada12.png](https://libros.catedu.es/uploads/images/gallery/2022-08/scaled-1680-/ada12.png)](https://libros.catedu.es/uploads/images/gallery/2022-08/ada12.png)

Lo grabamos en el Arduino con la placa TDR-STEAM y el ESP01 conectado como hemos definido anteriormente y si entramos en nuestro panel, veremos que visualiza la temperatura y humedad de ese momento. Si tenemos un poco de paciencia, pues sólo nos hace caso cada 10 segundos, actuamos sobre el switch y vemos que enciende o apaga el led.

#### <span style="color: #169179;">**¿Por qué cada 10 segundos?**</span>

Si entramos en nuestro perfil contratado, el plan gratuito permite **sólo 30 datos por minuto**, si **no tocamos** el switch de encender el led, podríamos bajar esos 10 segundos a 4 segundos pues 2 gauges temperatura y humedad \* (60/4) = 30 datos por minuto pero en el momento que toquemos el switch te penalizará a esperarte pues te has pasado de 30 datos por minuto.

Para poder accionar sobre el switch, subimos esos 4 segundos a 10, esto nos da 2 gauges temperatura y humedad \* (60/10) = 12 datos por minuto, luego podemos accionar el switch 30-12=18 veces por minuto.

Puedes bajar de 10 pero cuanto más bajes, menos puedes tocar el switch, tú mismo.

{{@5685}}