MQTT (transporte de telemetría de cola de mensaje) es un cliente servidor publicar/suscribir protocolo de transporte de mensajería. Este protocolo es ampliamente utilizado en el ámbito de Internet para la comunicación entre máquina a máquina por sus siguientes características
- l peso de vuelo,
- abrir, y
- diseñado para ser fácil de implementar.
Por lo tanto, estas características son ideales para el propósito de IoT como queremos transmitir sobre todo Estado de una máquina a otra. Fue desarrollado originalmente por IBM y es ahora un estándar abierto.
Nota: Si no estás familiarizado con el módulo MCU de nodo, te solicito que mira que mi video antes de empezar con el MCU nodo antes de entrar en MQTT
De trabajo de protocolo de transporte MQTT
Este protocolo es fácil de aplicar y también muy fácil de entender. Se compone básicamente de uno y varios clientes donde los clientes pueden tratarse como nuestro teléfono inteligente, sensores, etc. y todos ellos comunican con el servidor que se conoce como corredor.
En el presente Protocolo, cada cliente necesita para conectarse a cualquier dirección del corredor que se conoce como el tema a ser suscrito en MQTT. En broker solo pueden ser varios temas y clientes también pueden suscribirse a varios temas del mismo corredor.
Primero vamos a ver este proceso en el diagrama de bloques que va a ser fácil para que usted pueda entender. Segunda imagen muestra el diagrama de bloques. Básicamente aquí tenemos uno y 3 clientes suscritos al tema "temperatura".
Así que tan pronto como el cliente (Sensor de temperatura) publica o actualiza el valor de temperatura para el corredor, que todos los clientes (teléfono inteligente) suscrito a ese tema recibirá el valor de temperatura actualizada. Esto se muestra en la tercera imagen. Eso es todo. Podemos hacer mucho con este simple protocolo. Podemos incluso suscribirse a los temas de cualquier otra persona si sabemos el nombre de usuario y contraseña del agente.
Puesta en práctica
Vamos a hacer un proyecto sobre "control de inicio electrodomésticos a través de Internet a través de MQTT". Yo se manifestarán este control de Radio y luz de mi habitación.
Cosas necesarias para hacer esto:
- ESP8266 12e desarrollo Junta
- Relé de 6V
- x2 Transistor BC547
- x2 330 ohm Resistor
- x2 cables de conexión
- Protoboard
Corredor de
En primer lugar necesitamos a un corredor MQTT. Hay que muchos broker para MQTT pero he utilizado a agente MQTT Adafruit. Su simple y su interfaz de usuario también es grande. Le encanta utilizar ese agente. Para utilizar el corredor de Adafruit MQTT, en primer lugar usted necesita hacer una cuenta en Adafruit.io. Llene los detalles básicos y estás listo para utilizar ese agente.
Que goto dashboard. Mi consola se muestra en la imagen 5.
Hay muchas opciones en la esquina derecha de la página para editar los bloques, añadir nuevos bloques, conseguir la llave, etc..
Ahora vamos a empezar con hacer un nuevo botón en el salpicadero. Para eso, haga clic en el 2 º botón i.e."Create un nuevo bloque". Se le mostrará esta ventana (imagen 6).
Hay número de bloques que se agregará en esta ventana como botón de alternar, botón, deslizador etc.. En nuestro proyecto utilizaremos el primer bloque es decir, botón de alternar. Haga clic en crear botón y que se consigue siguiendo opciones (imagen 7).
Que usted tiene que proporcionar alimentación que debe ser único porque esta alimentación nombre llamo nada pero el tema que los clientes se suscribe. Tengo nombre de la alimentación como en off. Que haga clic en el botón crear. Y haga clic en el frente del botón elige de su nombre de alimentación. Que haga clic en el siguiente paso (imagen 8).
Que tenemos que ofrecer qué cuerda que se enviará cuando el botón está encendido y apagado. Por lo tanto, he escrito 1 para encendido y 0 para apagado (imagen 9).
Eso es todo. Se hacen con el lado del corredor. No hay complejidad, nada. Sólo simple y gran interfaz de usuario y es por eso que como corredor de adafruit. Incluso puede arrastrar y cambiar el tamaño del bloque según su necesidad (imagen 10).
Titular de cuenta en Adafruit IO tendrá su clave única que también se llama como contraseña para la suscripción. Puede obtener su clave haciendo clic en el tercer botón en la esquina derecha. Es una clave en forma de icono en el botón (imagen 11).
Cliente
Estaremos en primer lugar usando dos clientes en nuestro proyecto es la Junta de desarrollo ESP866 12e y otro es nuestro teléfono inteligente. En primer lugar usted necesita descargar la biblioteca de cliente MQTT por Adafruit. Puede descargar la biblioteca desde aquí.
Ejemplo ahora abierto en el IDE de Arduino el nombre de "mqtt_esp8266". Solo tienes que cambiar el nombre ssid, contraseña para acceso a internet y también proporcionar a su agente de usuario y contraseña (clave de AIO). Y de solo subir el programa porque en el bosquejo de ejemplo, ha suscrito ya al onoff de tema así que no hay necesidad de cambiar nada en esta. Que el monitor serial abierto y dashboard adafruit de lado a lado (imagen 12).
Como MQTT es muy ligero, la respuesta que podemos observar es alrededor en par de milisegundos. Es realmente rápido! Como puede ver en el monitor serie, cada vez que mueva el interruptor muestra la respuesta como "GOT 1" o "GOT 0". Y al lado está publicando también valor de contador en el tema denominado fotocélula.
Otro cliente es nuestro teléfono inteligente. Para eso necesitas descargar una aplicación de cliente MQTT. He descargado esta aplicación en mi dispositivo android. Sólo proporcionan 4 información.
Agente de enlace, aquí está (io.adafruit.com)
Puerto, (1883)
Username (nombre de usuario se ha registrado al mismo tiempo que su cuenta)
Contraseña (clave que se puede llegar haciendo clic en el icono de llave en el tablero de mandos)
Después de llenar esta información sólo suscribirse a cualquiera de lo tema y enviar ya sea 0 o 1 para activar el botón de encendido o apagado. Y sí!, ahora se puede alternar el botón desde cualquier lugar en el planeta tierra como siempre que se encuentre en área de cobertura de su proveedor de servicio de Internet.
#techiesms