MQTT

MQTT (Message Queue Telemetry Transport) es un protocolo que se usa para la conexión de dispositivos Machine-to-Machine (M2M). Este protocolo es muy empleado dentro del Internet de las cosas, por los pocos recursos que necesita, por su bajo consumo y por utilizar poco ancho de banda, además de por permitir cifrar las comunicaciones.

La arquitectura es de tipo estrella. Existe un nodo central (broker) y el resto de nodos se comunican entre si a través de él. La comunicación entre dichos nodos puede ser uno a uno, o uno a muchos.

La comunicación se basa en unos “topics” (temas) que el cliente que publica el mensaje crea y los nodos que deseen recibirlo deben subscribirse a él. Un “topic” se representa mediante una cadena y tiene una estructura jerárquica y cada jerarquía se separa con '/'.

Por ejemplo, “casa/planta1/salon/temperatura” o “casa2/jardin/arduino/humedad”.

Existen unos comodines(+ #) para usar cuando queremos recibir todos los topics de un área determinada.

Instalación

http://domology.es/instalacion-configuracion-mqtt/

El símbolo + se sustituye por cualquier nivel. Por ejemplo casa/+/temperatura (El símbolo + se sustituirá por cada nivel que tenga como nivel superior casa y como nivel inferior temperatura). Indica que nos queremos suscribir a todos los topics de temperatura que cuelgan del topic casa.

El símbolo # sustituye a todo lo que este por debajo. Por ejemplo casa/# indica que queremos todos los mensajes que se envíen a cualquier nivel dentro del topic casa.

Referencias

http://www.ermesh.com/aprender-protocolo-mqtt-parte-1/

http://www.ermesh.com/protocolo-mqtt-conexion-cliente-broker/

https://programarfacil.com/esp8266/mqtt-esp8266-raspberry-pi/

https://ricveal.com/blog/primeros-pasos-mqtt/

https://ricveal.com/blog/mqtt-mosquitto-seguridad/

https://programarfacil.com/esp8266/mqtt-esp8266-raspberry-pi/

https://kr0no.me/post/2017/01/reprogramar-sonoff-switch-mqtt