Connettore MQTT v5
Panoramica
Sezione intitolata “Panoramica”Il connettore MQTT v5 abilita la messaggistica publish/subscribe utilizzando il protocollo MQTT 5.0, aggiungendo sottoscrizioni condivise, user properties e message expiry oltre a MQTT v3.
Tipi Connettore:
MqttV5Reader- Sottoscrivi a topic MQTT 5.0MqttV5Writer- Pubblica su topic MQTT 5.0
Per broker e client MQTT 3.1.1, utilizza il connettore MQTT v3.
MQTT v5 Reader
Sezione intitolata “MQTT v5 Reader”Sottoscrivi a un topic:
{ "type": "MqttV5Reader", "config": { "endpoint": "mqtt://localhost:1883", "topic": "sensors/temperature", "qos": 1, "clientId": "meddle-v5-reader" }}Con Autenticazione e TLS
Sezione intitolata “Con Autenticazione e TLS”{ "type": "MqttV5Reader", "config": { "endpoint": "mqtts://mqtt.example.com:8883", "topic": "factory/sensors/#", "qos": 1, "clientId": "meddle-v5-reader", "username": "mqtt_user", "password": "mqtt_password" }}Sottoscrizione Condivisa
Sezione intitolata “Sottoscrizione Condivisa”Distribuisci messaggi tra più reader utilizzando sharedGroup. Il connettore si sottoscrive a $share/<group>/<topic> e il broker bilancia il carico delle consegne tra i membri:
{ "type": "MqttV5Reader", "config": { "endpoint": "mqtt://broker.example.com:1883", "topic": "factory/events", "qos": 1, "clientId": "meddle-v5-reader-1", "sharedGroup": "meddle-workers" }}MQTT v5 Writer
Sezione intitolata “MQTT v5 Writer”Pubblica su un topic:
{ "type": "MqttV5Writer", "config": { "endpoint": "mqtt://localhost:1883", "topic": "data/output", "qos": 1, "clientId": "meddle-v5-writer" }}Messaggio Retained con Expiry e User Properties
Sezione intitolata “Messaggio Retained con Expiry e User Properties”{ "type": "MqttV5Writer", "config": { "endpoint": "mqtts://mqtt.example.com:8883", "topic": "devices/state", "qos": 1, "clientId": "meddle-v5-writer", "username": "mqtt_user", "password": "mqtt_password", "retain": true, "messageExpiry": 3600, "userProperties": { "source": "meddle", "schema": "v1" } }}Parametri di Configurazione
Sezione intitolata “Parametri di Configurazione”- endpoint: URL del broker con schema (
mqtt://host:portomqtts://host:port) - topic: Topic per sottoscrizione o pubblicazione (Reader supporta wildcard
+e#) - qos: Quality of Service:
0,1, o2 - clientId: (Opzionale) Identificatore client
- username: (Opzionale) Username MQTT
- password: (Opzionale) Password MQTT
- sharedGroup: (Reader) Gruppo di sottoscrizione condivisa per bilanciamento di carico
- userProperties: Metadati chiave/valore allegati ai messaggi
- retain: (Writer) Il broker memorizza l’ultimo messaggio e lo consegna ai nuovi sottoscrittori
- messageExpiry: (Writer) Intervallo di scadenza del messaggio in secondi
Livelli QoS
Sezione intitolata “Livelli QoS”- 0: Al massimo una volta (fire and forget)
- 1: Almeno una volta (consegna riconosciuta)
- 2: Esattamente una volta (consegna assicurata)
Differenze da MQTT v3
Sezione intitolata “Differenze da MQTT v3”- Sottoscrizioni condivise (
sharedGroup) consentono a più sottoscrittori di consumare un singolo topic con bilanciamento di carico lato broker. - User properties trasportano metadati chiave/valore arbitrari per messaggio.
- Message expiry elimina i messaggi non consegnati dopo l’intervallo configurato.
- Reason code su connect, subscribe e publish forniscono una semantica di errore più ricca gestita dal client paho sottostante.
Wildcard Topic (Solo Reader)
Sezione intitolata “Wildcard Topic (Solo Reader)”+- Wildcard di singolo livello (sensors/+/temperature)#- Wildcard multi-livello (sensors/#)