MQTT
Message Queuing Telemetry Transport (MQTT) è un protocollo di messaggistica aperto per le comunicazioni M2M (machine to machine) che consente il trasferimento dei dati di tipo telemetrico sotto forma di messaggi da dispositivi a un server o a un piccolo broker di messaggi attraverso latenza elevata o reti vincolate. I dispositivi possono variare da sensori e attuatori a telefoni cellulari, sistemi incorporati su veicoli, laptop e computer desktop.
MQTT lavora all'architettura di pubblicazione/sottoscrizione. MQTT richiede un broker di messaggi e dispositivi di comunicazione. I dispositivi di comunicazione possono essere denominati client. Il broker e i client possono pubblicare e sottoscrivere un parametro denominato "topic". È possibile proteggere la comunicazione tramite MQTT utilizzando SSL.
MQTT Extension consente di connettere sensori e dispositivi elettronici di piccole dimensioni che possono comunicare con ThingWorx.
È possibile utilizzare qualsiasi broker standard per MQTT in base al requisito dell'organizzazione. Fare riferimento alla documentazione del prodotto del broker che si desidera installare per qualsiasi impostazione di controllo utente.
* 
In un sistema operativo Windows il broker viene eseguito come servizio dopo l'installazione.
Importazione di MQTT
* 
Il modello di supporto dell'estensione ThingWorx è stato modificato di recente. La maggior parte delle estensioni non è più disponibile nella pagina di download. Per ulteriori informazioni, vedere questo articolo.
Fare riferimento a Importazione di estensioni e importare il file MQTT_Extension.zip in ThingWorx. Quando viene installata l'estensione, nell'elenco Modelli di oggetto viene visualizzato quanto riportato di seguito:
MQTTConnection
Consente una connessione condivisa per gli oggetti MQTTSubscriber.
MQTTSubscriber
Consente la sottoscrizione a uno o più argomenti sul server MQTT. In Configurazione > Proprietà aggiungere le proprietà alla sezione delle mappature degli argomenti MQTT.
Quando si modifica un oggetto MQTTSubscriber, riavviare l'oggetto MQTTConnection associato per aggiornare.
MQTT
Consente di eseguire la configurazione precedente in un singolo oggetto.
Configurazione di MQTT
La sezione seguente descrive come configurare i parametri in MQTT se, dopo avere installato l'estensione in ThingWorx, si desidera stabilire la connessione con un broker.
1. Eseguire il broker installato sul computer.
2. In ThingWorx creare un nuovo Oggetto, selezionare MQTT come Modello di oggetto e fare clic su Salva.
3. Fare clic sulla vista Proprietà e avvisi. Viene visualizzata la schermata seguente:
Nell'immagine precedente i callout 1 e 2 indicano quanto segue:
Callout
Descrizione
1
L'icona verde indica che l'oggetto creato è connesso al broker. Viene visualizzata in rosso quando l'oggetto è disconnesso.
2
La proprietà isConnected è impostata su TRUE nel campo Valore quando viene stabilita la connessione tra l'oggetto e il broker. Il campo Valore è impostato su FALSE quando l'oggetto è disconnesso.
La proprietà è impostata su false quando il nodo singleton in un ambiente a disponibilità elevata ThingWorx presenta problemi di connettività con il broker. Anche se la proprietà è false, altri nodi continueranno comunque a pubblicare messaggi.
4. Fare clic su Aggiungi per aggiungere una proprietà.
5. Viene visualizzata la schermata seguente:
6. Immettere il nome della proprietà, il tipo di base e altri dettagli obbligatori.
7. Salvare le informazioni correlate alla proprietà.
8. Fare clic sulla vista Configurazione. Viene visualizzata la schermata seguente:
Nella tabella seguente sono descritti i diversi parametri individuati nella vista Configurazione:
JDBC Settings
Descrizione
clientIdFormat
Nome del client registrato con il broker MQTT.
* 
Deve essere univoco per un broker MQTT.
Il token {s} è per il nome del server di ThingWorx Platform. Assume il valore menzionato nella configurazione di Federation Subsystem per il nome del server.
Il token {t} è per il nome dell'oggetto corrente. Se si desidera che diverse piattaforme siano connesse a un unico broker e che gli oggetti abbiano lo stesso nome, si consiglia di specificare il nome del server in Federation Subsystem.
useSSL
Selezionare questa casella se il broker supporta connessioni sicure.
serverName
Nome host in cui il broker MQTT è in esecuzione.
* 
Lasciare vuoto il campo se il broker è in esecuzione sullo stesso computer di ThingWorx Platform.
serverPort
Porta per il broker MQTT. Il valore di default è 1883.
userId
Nome utente da connettere al broker.
Password
Password per userId.
Timeout
Tempo di attesa per il completamento di una richiesta di pubblicazione espresso in millisecondi. Il valore di default è 5000 mS.
ConnectTimeout
Tempo di l'attesa per la connessione tra ThingWorx Platform e il broker MQTT, espresso in millisecondi.
retryInterval
Intervallo di tempo, espresso in millisecondi, in cui vengono effettuati nuovi tentativi di connessione in caso di interruzione della connessione a un broker MQTT.
Il meccanismo di ripetizione dei tentativi funziona solo se la connessione è stata stabilita in un determinato momento e successivamente interrotta.
retryAttempts
Numero di tentativi di riconnessione eseguiti.
Ad esempio, se una connessione viene interrotta da disturbi di rete o a causa di altri problemi, il numero di tentativi effettuati per ristabilire la connessione viene specificato dal valore immesso in questo campo. Ogni nuovo tentativo è distinto dal parametro retryInterval sopra menzionato.
pingInterval
Tempo stabilito per il controllo periodico dello stato della connessione tra ThingWorx Platform e il broker MQTT, espresso in millisecondi.
Il valore di default è 45 secondi. Ogni 45 secondi viene inviato un messaggio ping al broker MQTT per verificare se è disponibile una risposta. La risposta del broker indica che la connessione è valida.
connectionIdleTimeout
Tempo di inattività per una connessione, espresso in millisecondi.
Una connessione inattiva oltre l'ora impostata indica che non vi sono comunicazioni di messaggi nel canale e l'oggetto è contrassegnato come disconnesso.
Quando non viene effettuata la sottoscrizione alle proprietà o le proprietà non vengono pubblicate, pingInterval continua da aggiornare l'orario dell'ultima attività in modo che l'oggetto non venga disconnesso.
qos
Questo valore imposta il livello di priorità di comunicazione tra il broker e i relativi client.
La tabella di configurazione AutoMapping include le impostazioni per la mappatura automatica delle proprietà per la pubblicazione o la sottoscrizione. Quando viene attivata la mappatura automatica, non è necessario specificare la tabella per Mappings. Qualsiasi proprietà creata nell'oggetto viene mappata automaticamente a un argomento. Il nome dell'argomento è stabilito dal parametro format riportato di seguito:
AutoMapping
Descrizione
format
Il formato del nome dell'argomento che corrisponde a una proprietà.
Il token {s} è per il nome del server, {t} è per il nome dell'oggetto e {p} è per il nome della proprietà.
enabled
È possibile selezionare la funzionalità di mappatura automatica.
9. Per mappare manualmente le proprietà dell'oggetto agli argomenti MQTT, fare clic su Aggiungi nella sezione Mappings.
Viene visualizzata la schermata seguente:
Nella tabella seguente sono elencate le opzioni di configurazione disponibili per ogni mappatura:
Subscribe
Sottoscrive la proprietà per ricevere le modifiche pubblicate sull'argomento specificato dal broker MQTT.
Publish
Pubblica le modifiche al valore della proprietà nel broker MQTT utilizzando l'argomento specificato.
Retain
Mantiene l'ultimo valore della proprietà pubblicato nel broker MQTT. Quando un nuovo dispositivo o un nuovo client effettua la sottoscrizione a un argomento con un messaggio mantenuto, il broker invia automaticamente un messaggio contenente l'ultimo valore pubblicato. Mantenere i valori dei messaggi può risultare utile quando un client richiede un valore iniziale. Anziché impostare un valore di segnaposto iniziale e attendere il messaggio successivo, viene inviato un valore mantenuto.
Nome
Nome della proprietà dell'oggetto a cui mappare il broker MQTT.
Argomento
Nome dell'argomento da pubblicare o sottoscrivere nel broker MQTT.
10. Immettere il nome della proprietà aggiunto al passo 6, il nome dell'argomento e scegliere Sottoscrivi, Pubblica o Mantieni. La proprietà pubblica o sottoscrive il nome dell'argomento immesso.
11. Fare clic su Aggiungi.
12. Nella vista Properties and Alerts fare clic su Imposta valore.
13. Viene visualizzata la schermata seguente:
Immettere il valore della proprietà nel campo e salvarlo.
14. Attenersi ai comandi di esecuzione specifici del broker installato sul computer in uso e verificare le attività di pubblicazione e sottoscrizione tra la proprietà dell'oggetto e il broker.
È stato utile?