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: