Main Content

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l’originale in inglese.

Nozioni di base su MQTT

MQTT è un'architettura di pubblicazione/sottoscrizione sviluppata principalmente per connettere dispositivi con limiti di larghezza di banda e potenza su reti wireless. È un protocollo semplice e leggero che viene eseguito su socket TCP/IP o WebSocket. MQTT su WebSocket può essere protetto con SSL. L'architettura di pubblicazione/sottoscrizione consente di inviare messaggi ai dispositivi client senza che il dispositivo debba interrogare continuamente il server.

Il broker MQTT è il punto centrale della comunicazione ed è responsabile dell’invio di tutti i messaggi tra i mittenti e i legittimi destinatari. Un client è qualsiasi dispositivo che si connette al broker e può pubblicare o iscriversi ad argomenti per accedere alle informazioni. Un argomento contiene le informazioni di instradamento per il broker. Ogni client che desidera inviare messaggi li pubblica su un determinato argomento e ogni client che desidera ricevere messaggi si iscrive a un determinato argomento. Il broker consegna tutti i messaggi con l'argomento corrispondente ai client appropriati.

ThingSpeak™ ha un broker MQTT all'URL mqtt3.thingspeak.com e la porta 1883. Il broker ThingSpeak supporta sia la pubblicazione MQTT che la sottoscrizione MQTT, come mostrato nei seguenti diagrammi.

Pubblica MQTT

Questa figura descrive la struttura dell'argomento. Il broker riconosce una richiesta CONNECT corretta con CONNACK.

Iscrizione a MQTT

Questa figura descrive la struttura dell'argomento. Il broker riconosce una richiesta SUBSCRIBE corretta con SUBACK.

Crea un dispositivo MQTT ThingSpeak

L'accesso MQTT ai tuoi canali, comprese le credenziali, è gestito da un dispositivo MQTT ThingSpeak . Il tuo dispositivo è configurato con le credenziali necessarie affinché il tuo client MQTT possa comunicare con ThingSpeak e per autorizzare canali specifici. Utilizzare i seguenti passaggi per creare un dispositivo MQTT.

  1. Nel menu ThingSpeak fare clic su Devices > MQTT.

    Device menu

  2. Nella pagina Dispositivi MQTT, fare clic su Add a new device.

    Add device option

  3. Compila la finestra di dialogo Aggiungi un nuovo dispositivo:

    New device dialog

    1. Fornire un nome per il dispositivo.

    2. Fornire una descrizione facoltativa.

    3. Nella sezione Autorizza canali, scegli un canale dal menu elenco, quindi fai clic su Add Channel. Ripeti l'operazione finché non avrai tutti i canali che desideri collegare al dispositivo nell'elenco dei canali autorizzati. Imposta ciascuno per consentire la pubblicazione e consentire la sottoscrizione secondo necessità.

    4. Fare clic su Add Device.

    5. A questo punto, ThingSpeak genera un elenco di credenziali per il tuo dispositivo che include ID client, nome utente e password. Puoi visualizzare e copiare questi elementi da questa pagina oppure fare clic su Download Credentials per salvare le credenziali in un file locale. "Importante": Registra o salva le tue credenziali adesso, poiché non avrai un'altra opportunità per visualizzare o salvare la password.

    6. Fare clic su Done per completare la creazione del dispositivo.

Il tuo nuovo dispositivo ora appare nella pagina Dispositivi MQTT. Puoi modificare le impostazioni del tuo dispositivo e aggiungere canali facendo clic su Edit. Puoi utilizzare l'ID client, il nome utente e la password nel tuo client MQTT per accedere al tuo dispositivo ThingSpeak MQTT per pubblicare e iscriverti ai suoi canali.

Nota

Puoi avere fino a 100 dispositivi MQTT per utente, con un massimo di 10 canali autorizzati per dispositivo. Se hai bisogno di più dispositivi o canali, Contact Support.

Per informazioni sull'utilizzo di un client MQTT desktop, vedere Pubblica e iscriviti a un canale utilizzando il client MQTT desktop.

Reimpostazione password dispositivo. Se hai bisogno di reimpostare la password del tuo dispositivo in qualsiasi momento, puoi reimpostarla dalla pagina di modifica del dispositivo:

  1. Selezionare Devices > MQTT.

  2. Nell'elenco visualizzato dei tuoi dispositivi MQTT, per il dispositivo che desideri reimpostare, fai clic su Edit per visualizzarne i dettagli di configurazione.

  3. Nella sezione MQTT Credentials , fare clic sull'icona di rigenerazione per reimpostare la password. Le connessioni che utilizzano la vecchia password verranno disabilitate.

    MQTT device password reset icon

Risposta del server per le connessioni

Se la connessione ha esito positivo, il broker MQTT ThingSpeak risponde con un riconoscimento della connessione, CONNACK. Il broker MQTT risponde a una richiesta di sottoscrizione riuscita con un messaggio SUBACK e inoltra al client tutti i nuovi dati pubblicati sul canale o sul campo sottoscritto. Per ulteriori informazioni su questi messaggi, vedere la specifica MQTT v3.1.1 . È quindi possibile pubblicare messaggi negli argomenti utilizzando il modulo Publish to a Channel Feed o Publish to a Channel Field Feed.

Configurazione del client MQTT

ThingSpeak ha un broker MQTT all'URL mqtt3.thingspeak.com. Configura il tuo client MQTT per comunicare con il broker MQTT ThingSpeak in base a una delle seguenti opzioni:

Porta

Tipo di connessione

Crittografia

1883

TCP

Nessuno

8883

TCP

TLS/SSL

80

WebSocket

Nessuno

443

WebSocket

TLS/SSL

Quando configuri la connessione client, considera quanto segue:

  • Se il tuo hardware supporta la modalità di connessione socket SSL protetta, utilizza tale modalità per comunicare con il broker MQTT ThingSpeak ogni volta che è possibile.

  • ThingSpeak implementa la funzionalità di pubblicazione e sottoscrizione MQTT con QoS = 0. Questo protocollo "fire-and-forget" significa che il tuo cliente non riceve un riconoscimento quando pubblichi su un canale ThingSpeak .

  • Le connessioni MQTT scadono dopo un'ora di inattività.

  • Quando si utilizza una connessione WebSocket, il percorso richiesto è /mqtt.

    • Utilizzando la libreria Paho con Python® su Raspberry Pi®, il percorso MQTT predefinito è "/mqtt", ma puoi anche impostarlo con la riga di codice :

      client.ws_set_options("/mqtt")
    • Con la CLI HiveMQ MQTT, imposti il ​​percorso con l'opzione di comando:

      mqtt pub … -ws -ws:path /mqtt … 

Vedi anche

| | |

Argomenti complementari

Siti web esterni