Envío de un estado digital #
La parte de conexión a la red y el servidor es idéntica a la realizada en el proceso de suscripción (recibir datos por internet), y hay que tener en cuenta que se pueden combinar ambos procesos mediante múltiples temas.
En el apartado Wifi MQTT / Conexión, están los bloques antes mencionados y en Wifi MQTT / publica (envía) hay distintas opciones a la hora de enviar datos por MQTT. Uno de los más sencillos de usar es el siguiente:
Permite establecer la frecuencia de envío de datos por MQTT, de igual forma que se realiza al trabajar con el puerto serie. Pero además, se puede seleccionar que el dato se envíe solo si ha cambiado.
Hay otro bloque que es una ampliación del anterior en el que se puede seleccionar como de grande tiene que ser el cambio para que se publique:
El tema se puede meter en una variable tipo String, o mediante un bloque de texto:
Por ejemplo, en el siguiente bloque se indica que se envíe la lectura de la entrada analógica 39, solo si pasan mas de 2,5s y si se ha producido un cambio superior a 20 desde la última publicación:
Ejercicio 1: Realiza un programa en el se envíe por MQTT a la plataforma io.adafruit, el estado de la salida 15 (GPIO15) cada vez que esta cambie. Para cambiar el estado del GPIO 15 como salida, utiliza el pulsador que conectes al GPIO 2, que se utilizará como entrada. Además, usa como tema (feed en Adafruit) la palabra salida15.
Solución:
Crea un feed en io.adafruit denominado salida15 y en un panel (Dashboad) crea un visor en el que se puedan ver los datos recibidos y asóciale el tema anterior:
Programa:
Recuerda abrir el monitor serie cuando la placa termine de cargar el programa para asegurarte de que se establece correctamente la conexión al wifi y al servidor:
En el servidor deberás empezar a ver lo siguiente cada vez que pulses o sueltes DI2: