Paso 3: Comprensión MQTT y trabajo con MQTT con Edison
MQTT es un protocolo de comunicación editor-suscriptor basado en peso ligero para la comunicación máquina a máquina y cosas a cosas. Da una flexibilidad muy deseada en el marco de la IoT. Generalmente máquinas y cosas comunicarán a través de HTTP en Internet. Los paquetes HTTP tienen su propia cabecera que aumenta la longitud de paquete. Paquetes MQTT por otro lado sólo incrusta datos en paquetes TCP/UDP y consumen por lo tanto menos bytes que finalmente se traduce en mayor velocidad de comunicación con menor latencia. También presenta calidad de Service(QoS) en el protocolo mucho deseado confiabilidad. Inherentemente el protocolo es no seguro, pero si se aplica sobre SSL , proporciona una comunicación segura.
Si usted es un perfeccionista y geek, este documento de especificación de protocolo es un buen lugar para conocer los detalles de los protocolos. Para aquellos que sólo quieren una rápida comprensión de lo mecanismo más que el esqueleto,este artículo es un buen marcador y recurso de la lectura.
Así que en Resumen MQTT conecta dos dispositivos distintos a través de un corredor. Uno de estos dispositivos es una editorial que cualquiera puede publicar información del sensor o control de datos en el corredor en un canal en particular, el otro es un suscriptor que suscribirse a ese canal. Cada vez que hay algún dato disponible en el canal, suscriptor obtiene los datos de forma asincrónica. Ambos estos pares finales se llaman clientes (sí, incluso el editor se llama cliente).
Mosquitto es uno del más popular corredor de código abierto que también proporciona herramientas de cliente y por lo tanto es una gran opción. Es extremadamente ligero y compatible con linux.
Para la instalación de Mosquitto, todo lo que tienes que hacer es iniciar sesión en su tablero de Edison a través de SSH usando un software como masilla.
Si desea conocer los detalles de trabajar con Edison con masilla, puede comprobar el tutorial vinculado.
Una vez que se haya registrado en el tablero de Edison a través de la masilla, tienes que seguir algunos pasos sencillos para instalar Mosquito.
1. descargar
tipo comando en la shell y presione Entrar.
wget http://mosquitto.org/files/source/mosquitto-1.3.5...
2. untar
tar xzf mosquitto-1.3.5.tar.gz
[Nota, si usted está en directorio de tarjeta SD (/media/sdcard) y desea que se instale allí, es necesario utilizar los comandos siguientes para untar
tar xzf mosquitto-1.3.5.tar.gz--no-mismo-propietario
]
3. Instale
CD mosquitto-1.3.5
hacer WITH_SRV = no añadir usuario mosquitto
Eso es simplemente todo. MQTT corredor y cliente herramientas están instaladas y corredor corriendo en el Edison. Después de reiniciar, el corredor se inicia automáticamente. Mosquito también ofrece un broker online test.mosquito.org para prueba rápida de protocolo pub-sub.
Para la prueba en línea MQTT, abrir otra masilla de sesión e iniciar sesión en la Junta a través de SSH. Ahora el tipo siguiente comando en la ventana.
mosquitto_sub -h test.mosquitto.org -p 1883 -t CHANNEL_NAME
puede utilizar cualquier nombre significativo canal como YOUR_NAME/SOME_CHANNEL_NAME. Usar un nombre de canal como "Rupam/Edison/ControlSignal" como mi nombre de canal. Puede utilizar cualquier formato que desee.
Al ejecutar el comando anterior, se espera un proceso de recepción de comando.
Ahora abrir otra sesión y ejecutar el siguiente comando
test.mosquitto.org -h mosquitto_pub -p 1883-t SOME_COMMAND de CHANNEL_NAME-m ''''
(No olviden usar doble cita al especificar el comando)
Esto va a publicar "SOME_COMMAND" en su canal y verá los datos en la ventana de suscriptor. Usted puede ingresar los comandos diferentes y puede ver aparecen en suscriptor.
Para comprobar si su agente local está funcionando o no, simplemente reemplace test.mosquitto.org con YOUR_EDISON_IP_ADDRESS en windows pub y sub. No olvides terminar a espera cliente de sub pulsando ctrl + c.
Esta es la misma IP con la que se haya registrado en Edison a través de la masilla.
Okey. Ahora tenemos Edison tablero MQTT listo y funcionando. Tiempo para hacer hack hardware.