MQTT

MQTT son las siglas de «Message Queuing Telemetry Transport», un protocolo ligero de mensajería entre dispositivos M2M, orientado a dispositivos de pocos recursos como pueden ser placas Arduino con sensores, Node MCU, Sonoff.

MQTT usa el protocolo de transporte TCP, y tiene varios puertos reservados:

1883: MQTT, no encriptado 

8883: MQTT, encriptado 

8884: MQTT, encriptado, necesario certificado por parte del cliente 

8080: MQTT sobre WebSockets, no encriptado 

8081: MQTT sobre WebSockets, encriptado 

Funcionamiento de MQTT

Conozcamos los componentes y acciones clave de MQTT.

  • Client: un dispositivo que puede publicar mensajes, suscribirse para recibir mensajes, o ambos.
  • Broker: el broker es el servidor que acepta mensajes publicados por clientes y los difunde entre los clientes suscritos.
  • Publicar: cuando un cliente envía un mensaje al broker.
  • Topic: los mensajes deben estar etiquetados con algún topic o tema. Los clientes se suscriben a topic específicos, de manera que solo reciben los mensajes publicados con dichos topic. Un topic puede a su vez contener subtopic.

El broker debe (o suele) tener una dirección IP estática conocida, dado que los clientes deben saber a quién enviar los mensajes y de quién recibirlos.

HARDWARE

BROKER : Mosquitto en una Raspberry Pi 3B+

Sensores:

Sonoff 

Sonoff Basic

Sonoff 4Ch Pro

Node MCU

SOFTWARE:

Instalación de mosquitto