Tutorial Raspberry Pi - GPIO y MQTT (Parte 2)
Vamos a continuar el anterior tutorial, Tutorial raspberry pi - gpio y mqtt (parte 1). Haremos uso de un Broker online para MQTT y os voy a contar una forma de enviar datos periódicos desde la raspberry.
El broker que vamos a usar es CloudMQTT.com, que tiene un plan gratuito limitado a 10 conexiones que puede ser suficiente para pequeños proyectos. Para usarlo solo tenemos que acceder a la pestaña "Plans" y hacer click en "Try now for free" completamos el formulario y ya tenemos nuestra cuenta.
Accedemos a "Control Panel" y configuramos una nueva instancia haciendo click en "Create", aparece un formulario le ponemos un nombre, seleccionamos un centro de datos y usamos el plan gratuito "Cute Cat".
A continuación accedemos a los detalles de la instancia, aquí podemos ver datos sobre la conexión y gestionar los clientes que va a tener conectados.Creamos un usuario y contraseña para cada máquina, y en la parte de reglas le damos permisos de lectura y escritura a cada máquina para el topic "GPIO", y ya está todo listo por parte del broker.
Ahora solo es necesario ejecutar los comandos que usamos en el anterior tutorial pero cambiando el host y añadiendo otros parámetros como puerto de la conexión, usuario y contraseña creados anteriormente.
mosquitto_sub -h m20.cloudmqtt.com -p 15162 -t "GPIO" -u raspberry -P raspberry > /sys/class/gpio/gpio17/value mosquitto_pub -h m20.cloudmqtt.com -p 15162 -t "GPIO" -u ubuntu -P ubuntu -m "1"
Para mandar datos de forma periódica, por ejemplo mandar el valor que tiene el archivo "value" de un pin, una solución sería crear un script como el siguiente:
#!/bin/bash while true do cat /sys/class/gpio/gpio17/value | mosquitto_pub -t "GPIO/valor" -l -h m20.cloudmqtt.com -p 15162 -u raspberry -P raspberry sleep 1 done
Este script manda datos cada segundo, recuerda crear en CloudMQTT el topic "GPIO/valor" y darle permisos de escritura al usuario que usa la raspberry.
Estoy deseando ver vuestros proyectos usando MQTT, este protocolo permite ser usado desde muchos lenguajes de programación como Python, Java, C++, etc. También se puede usar un smartphone con Android, yo he probado la aplicación MyMQTT.
Y con termino, por ahora, mis tutoriales sobre MQTT.
IoT is coming...