Come costruire il primo connettore MQTT
  • 28 Aug 2024
  • 4 Minuti da leggere
  • Contributori

Come costruire il primo connettore MQTT


Sommario dell'articolo

Come costruire il primo connettore MQTT

Utilizzate questa guida per imparare a portare gli argomenti MQTT in Tulip.

In questa guida, imparerete:* Come impostare una fonte di dati MQTT in Tulip

Se disponete di un broker MQTT funzionante che desiderate collegare a Tulip, siete pronti a impostare una sorgente dati MQTT e a creare la vostra prima applicazione di monitoraggio della macchina.

Impostazione di una connessione MQTT

I connettori MQTT possono essere creati dalla pagina dei connettori o dalla pagina dell'origine dati macchina. Il processo di configurazione non differisce e una connessione creata in un luogo verrà visualizzata nell'altro.

Maggiori dettagli sulla creazione dei connettori sono disponibili qui: Come configurare un connettore

Configurazione come origine dati macchina

  1. Fare clic sull'opzione Macchine nella scheda Officina della barra dei menu.

image.png

  1. Quindi, fare clic su Origine dati macchina dal cassetto laterale sinistro.

image.png

  1. Quindi, fare clic su Crea origine dati macchina dalla pagina Origini dati macchina.

image.png

  1. Assegnare un nome all'origine dati, selezionare un Host connettore, selezionare MQTT e la versione MQTT desiderata.

image.png

  1. Aggiungere i dettagli della connessione per connettersi al broker.

image.png

Configurazione della connessione MQTT

Esecuzione su

Runs on rappresenta l'host del connettore che sarà responsabile della gestione della connessione al broker. Se il vostro broker non è accessibile a Internet, sarà necessario un Host connettore On-Prem per accedere al vostro broker MQTT. Prima di testare l'host connettore, verificare i seguenti requisiti di versione.

:::(Warning) (Versione dell'host connettore On Prem) Solo gli host connettore On Prem della versione 261 (LTS11) o superiore supportano le fonti di dati MQTT. Solo i dispositivi Edge con OS56 o superiore supportano le fonti di dati MQTT.

:::

MQTT vs. MQTTs

MQTTs è semplicemente MQTT, con un ulteriore livello di sicurezza. Quando si seleziona MQTTs, verrà utilizzato SSL/TLS per la comunicazione dal client al broker. Inoltre, MQTTs supporta chiavi private, certificati e token CA affidabili. Se si seleziona solo MQTT, è disponibile solo l'autenticazione tramite nome utente e password o nome utente per ID cliente.

ID cliente

L'ID cliente è il modo in cui il client Tulip si identifica con il broker MQTT. Al livello più semplice, viene spesso usato per l'autenticazione e il controllo degli accessi. Può essere impostato su un valore statico o su un valore casuale con il flag "Autogenerazione" invertito.

Mantenere in vita

Il keep alive è il tempo massimo, in secondi, in cui il client desidera mantenere aperta la comunicazione con il broker. Se in questo lasso di tempo non sono stati trasmessi messaggi dal broker al client, il client invierà un messaggio al broker indicando che è ancora vivo.

Informazioni sulla certificazione MQTT

Chiave privata

Aggiorna la proprietà della chiave nella configurazione di autenticazione di Node.js.

Chiavi private in formato PEM. Il formato PEM consente di criptare le chiavi private. Le chiavi crittografate saranno decifrate con options.passphrase. Le chiavi multiple che utilizzano algoritmi diversi possono essere fornite come array di stringhe o buffer di chiavi non crittografate, oppure come array di oggetti nella forma. La forma oggetto può essere presente solo in un array. object.passphrase è opzionale. Le chiavi crittografate saranno decifrate con object.passphrase, se fornito, o options.passphrase, se non è fornito.

Certificato

Aggiorna la proprietà cert nella configurazione dell'autenticazione di Node.js.

Catene di certificati in formato PEM. Per ogni chiave privata deve essere fornita una catena di certificati. Ogni catena di certificati deve essere costituita dal certificato in formato PEM per una chiave privata fornita, seguito dai certificati intermedi in formato PEM (se presenti), in ordine, senza includere la CA radice (la CA radice deve essere nota al peer, vedere ca). Quando si forniscono catene di certificati multiple, non è necessario che siano nello stesso ordine delle chiavi private in chiave. Se i certificati intermedi non vengono forniti, il peer non sarà in grado di convalidare il certificato e l'handshake fallirà.

CA affidabile

Aggiorna la proprietà ca nella configurazione dell'autenticazione di Node.js.

Si può scegliere di sovrascrivere i certificati CA attendibili. L'impostazione predefinita è quella di fidarsi delle note CA curate da Mozilla. Le CA di Mozilla sono completamente sostituite quando le CA sono specificate esplicitamente con questa opzione. Il valore può essere una stringa o un buffer, oppure un array di stringhe e/o buffer. Qualsiasi stringa o buffer può contenere più CA PEM concatenate insieme. Il certificato del peer deve essere concatenabile con una CA di cui si fida il server, affinché la connessione sia autenticata. Quando si utilizzano certificati non concatenabili a una CA nota, la CA del certificato deve essere specificata esplicitamente come attendibile, altrimenti la connessione non verrà autenticata. Se il peer utilizza un certificato che non corrisponde o non è concatenato a una delle CA predefinite, utilizzare l'opzione ca per fornire un certificato CA a cui il certificato del peer possa corrispondere o concatenarsi. Per i certificati autofirmati, il certificato è la propria CA e deve essere fornito. Per i certificati codificati PEM, i tipi supportati sono "TRUSTED CERTIFICATE", "X509 CERTIFICATE" e "CERTIFICATE". Vedere anche tls.rootCertificates.

Verifica della connessione

Premete Test per vedere se riuscite a connettervi al broker.

image.png

Se il test ha esito positivo, si è pronti a configurare una macchina. Fare clic su Salva, quindi andare alla pagina Tipi di macchine per impostare la prima categoria di macchine.


Avete trovato quello che cercavate?

Potete anche andare su community.tulip.co per postare la vostra domanda o vedere se altri hanno affrontato una domanda simile!


Questo articolo è stato utile?