Contenuto principale

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 larghezza di banda e consumi limitati tramite reti wireless. Si tratta di un protocollo semplice e leggero che funziona tramite socket TCP/IP o WebSocket. MQTT su WebSocket può essere protetto con SSL. L'architettura publish/subscribe consente di inviare messaggi ai dispositivi client senza che il dispositivo debba interrogare continuamente il server.

Il broker MQTT è il punto centrale della comunicazione e si occupa di inviare tutti i messaggi tra i mittenti e i legittimi destinatari. Un client è qualsiasi dispositivo che si connette al broker e può pubblicare o sottoscrivere argomenti per accedere alle informazioni. Un argomento contiene le informazioni di routing per il broker. Ogni client che desidera inviare messaggi li pubblica su un argomento specifico, mentre ogni client che desidera ricevere messaggi si iscrive a un argomento specifico. Il broker consegna tutti i messaggi con l'argomento corrispondente ai client appropriati.

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

Pubblicazione MQTT

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

Iscriviti 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 dispositivo è configurato con le credenziali necessarie affinché il client MQTT possa comunicare con ThingSpeak e autorizzare canali specifici. Per creare un dispositivo MQTT, attenersi alla seguente procedura.

  1. Nel menu ThingSpeak clicca 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, seleziona un canale dal menu elenco, quindi fai clic su Add Channel. Ripetere questa operazione finché tutti i canali che si desidera collegare al dispositivo non sono presenti nell'elenco dei canali autorizzati. Imposta ciascuna opzione per consentire la pubblicazione e la sottoscrizione, a seconda delle necessità.

    4. Clicca Add Device.

    5. A questo punto, ThingSpeak genera un elenco di credenziali per il tuo dispositivo che include ID client, nome utente e password. È possibile 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 subito le tue credenziali, poiché non avrai più la possibilità di 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 cliccando su Edit. Puoi utilizzare l'ID client, il nome utente e la password nel tuo client MQTT per accedere al tuo dispositivo MQTT ThingSpeak per pubblicare e iscriverti ai suoi canali.

Nota

È possibile 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, contatta l'assistenza.

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 in qualsiasi momento hai bisogno di reimpostare la password del tuo dispositivo, puoi farlo dalla pagina di modifica del dispositivo:

  1. Seleziona Devices > MQTT.

  2. Nell'elenco visualizzato dei 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 riesce, il broker MQTT ThingSpeak risponde con una conferma di connessione, CONNACK. Il broker MQTT risponde a una richiesta di sottoscrizione andata a buon fine con un messaggio SUBACK e inoltra al client tutti i nuovi dati pubblicati sul canale o sul campo sottoscritto. Per saperne di più su questi messaggi, vedere la specifica MQTT v3.1.1. È quindi possibile pubblicare messaggi negli argomenti utilizzando il formato 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, tieni presente quanto segue:

  • Se l'hardware supporta la modalità di connessione socket SSL sicura, utilizzare tale modalità per comunicare con il broker MQTT ThingSpeak ogniqualvolta possibile.

  • ThingSpeak implementa la funzionalità di pubblicazione e sottoscrizione MQTT con QoS = 0. Questo protocollo "fire-and-forget" significa che il tuo client non riceve alcuna conferma 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 è anche possibile impostarlo con la riga di codice:

      client.ws_set_options("/mqtt")
    • Con HiveMQ MQTT CLI, si imposta il percorso con l'opzione comando:

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

Vedi anche

| | |

Argomenti

Siti web esterni