Esempio pratico per la trasmissione di stati di attivazione
Box-2-box tramite MQTT con Web-IO 4.0
con CloudMQTT come broker
Queste istruzioni passo dopo passo spiegano l’installazione dell’esercizio box-2-box del Web-IO 4.0 digitale mediante l’Internet delle cose.
Nel funzionamento box-2-box collegate due Web-IO, in modo tale che i segnali di azionamento, situati alle entrate di un apparecchio, vengano trasmessi tramite MQTT alle uscite dell’altro apparecchio. Con il CloudMQTT viene utilizzato come broker un fornitore commerciale gratuito di piccole applicazioni.
Per farsi un’idea sul tema MQTT vi consigliamo la pagina "Comunicazione nell’Internet delle cose."
Struttura del sistema MQTT
Per sincronizzare le entrate e le uscite, i due Web-IO si scambiano notizie mediante MQTT. Per far questo ogni Web-IO pubblica presso il broker gli stati delle sue entrate come publisher.
Allo stesso tempo vengono ricevuti gli stati di entrata dell’altro apparecchio sotto forma di subscription. Se un apparecchio riceve una modifica di stato ad un’entrata dell’altro apparecchio, esso adatta lo stato della sua rispettiva uscita.
Parte 1: Installazione del broker MQTT
Per installare un sistema di comunicazione MQTT avete bisogno innanzitutto di un broker. Esso funge da centrale delle notizie e coordina il flusso di comunicazione tra i partecipanti.
In queste istruzioni viene utilizzato il broker pubblico gratuito per piccole applicazioni CloudMQTT. Per l’impiego produttivo potete scegliere fra una vasta gamma di altre aziende. In alternativa potete gestire broker MQTT vostri tramite soluzioni software commerciali e gratuite in internet o intranet. Sono disponibili anche dispositivi hardware chiavi in mano, p. es di IBM. Potete trovare un elenco completo alla pagina "Risorse MQTT".
Per l’autenticazione dal broker ogni Web-IO richiede un nome utente e una password. Per garantire che nessun altro apparecchio collegato al broker lasci messaggi per i topic degli apparecchi, vengono create autorizzazioni di accesso ACL.
Riassunto della configurazione del broker | ||
---|---|---|
Web-IO 1 | Web-IO 2 | |
Nome utente | webio1 | webio1 |
Password | Super$icher123 | Super$icher123 |
Accesso di scrittura a | webio1/in/# | webio2/in/# |
Accesso di lettura a | webio2/in/# | webio1/in/# |
[info] Utilizzando le wildcard + e # non è più necessario riportare esplicitamente i diritti per ogni singolo topic. Il + rappresenta tutti gli elementi in un livello di ripartizione, mentre # definisce l’intera gerarchia al di sotto di un livello. |
Creare un account broker
Con il pacchetto "CuteCat", CloudMQTT offre un broker online gratuito per max. 10 apparecchi.
1 Aprite la pagina www.cloudmqtt.com e selezionate il punto del menu "Plans".
2 Scegliete il piano gratuito CuteCat e seguite le istruzioni sullo schermo.
Creare istanza broker
Dopo il login nel pannello di controllo potete creare un nuovo broker.
1 Scegliete il datacenter Amazon in Irlanda nonché
2 il piano gratuito CuteCat.
Configurare broker per applicazione box-to-box
Mediante la pagina di dettaglio potete eseguire le impostazioni necessarie del vostro broker per l’applicazione box-2-box Web-IO.
1 Cliccate su dettagli accanto all’istanza broker
1 Create gli utenti webio1 e webio2, rispettivamente con la 2 password Super$icher123.
Assegnare diritti d’accessoCreate ora l’Access Control List (ACL). In questo modo definite per ogni utente 1 i diritti 2 con cui può scrivere su 3 un topic.
Annotare dati di collegamentoCome ultimo passo scrollate nuovamente in alto nella pagina dei Dettagli e annotate i dati di collegamento per il vostro broker.
Avete bisogno dell’indirizzo del server 1 e della porta 2 .
Parte 2: Installazione del Web-IO
Impostazioni di base MQTT
Aprite l’interfaccia web del primo Web-IO come descritto nelle istruzioni per l’uso. Quindi eseguite il login con l’utente amministratore.
1 Selezionate nell’area di configurazione la voce di menu Vie di comunicazione >> MQTT.
Indicare i dati di collegamento per il broker MQTT.
1 Attivare il MQTT.
2 Inserire il nome utente per il primo Web-IO.
3 Inserire la rispettiva password.
4 Infine indicare il nome dell’host e la
5 porta del broker MQTT.
6 Affinché l’applicazione box-2-box funzioni, dovete autorizzare le uscite per MQTT.
Dopo aver cliccato sull’interfaccia Applica l’apparecchio indica con un segno di spunta verde che le modifiche sono state effettuate.
Configurare azioni per le entrate
Mediante un’azione si definisce come il Web-IO reagisce ad un trigger. Oltre ai dati generali "Definizione" e "Stato di attivazione", un’azione è costituita da un trigger e da una procedura che viene eseguita in caso di comparsa del trigger.
In caso di modifica di stato ad un’entrata di un apparecchio, l’altro apparecchio deve essere informato tramite MQTT. Per ogni entrata viene creata anche un’azione che esegue un publish MQTT in caso di cambio di stato.
1 Selezionate nell’area di configurazione la voce di menu Azioni.
2 Cliccare ora sull’interfaccia Aggiungi.
Dati generali
1 Attivare l’azione e assegnare un nome significativo In questo modo potrete identificare più facilmente l’azione sulla pagina del riepilogo e nel menu.
Dati attraverso il trigger
2 Come trigger selezionate qui Input.
3 Selezionate ora la prima entrata, ovvero Input0.
4 Scegliete per in caso di cambio a il valore ON.
Dati sulla procedura eseguita
5 Selezionare come azione Publish MQTT.
6 I messaggi per la prima uscita del primo apparecchio vengono pubblicati sotto al topic "webio1/in/0".
7 Indicare in Testo Topic "ON" come contenuto del messaggio che viene pubblicato alla comparsa del trigger.
8 Indicare in Topic Clear Text il contenuto del messaggio che viene inviato quando non è più disponibile il trigger. Per esempio quando l’uscita viene messa in OFF
9 Il messaggio deve essere inviato solo una volta alla comparsa dell’evento. Per cui scegliete qui "Eseguire l’azione solo una volta".
Creare infine un’azione con i rispettivi valori per Input1 (topic: webio/in/1).
Impostare azioni per le uscite
Dati generali
1 Attivare l’azione e assegnare un nome significativo
Dati attraverso il trigger
2 Selezionare qui Subscribe MQTT
3 Il Topic è "webio2/in/0" per la prima entrata sul secondo apparecchio
4 Topic Text definisce il contenuto del messaggio ricevuto, in questo caso "ON".
Dati sulla procedura eseguita
5 Come azione viene selezionato "Attivare output"
6 Si dovrebbe attivare un output locale
7 L’ output che viene attivato è output 0
8 Lo stato in cui si effettua l’attivazione è ON
Creare adesso le tre azioni mancanti per "output0 disattivata", "output1 attivata" e "output1 disattivata":
Titolo | Topic | Testo Topic | Azione | Stato |
---|---|---|---|---|
Output0 disattivata | webio2/in0 | OFF | Attivare output0 | OFF |
Output1 attiva | webio2/in1 | ON | Attivare output1 | ON |
Output1 disattivata | webio2/in1 | OFF | Attivare output1 | OFF |
Chi vuole risparmiarsi due azioni, potrebbe pensare magari di inviare il messaggio "TOGGLE" in caso di cambio di stato e di selezionare "COMMUTARE" come azione, invece di indicare esplicitamente il cambio di stato.
Noi però vi sconsigliamo questa procedura. Nel Web-IO la qualità del servizio MQTT è fissata a QoS1. Ciò significa che i messaggi vengono inviati ripetutamente finché la controparte ha confermato la ricezione.
Se una conferma si perde per un errore di trasmissione, il messaggio Toggle viene inviato un’altra volta e la controparte viene attivata un’altra volta. I due apparecchi non sono più sincronizzati in questo caso.
Configurare il secondo Web-IO
Nell’ultimo passaggio trasferite la configurazione al secondo Web-IO. In questo caso non dimenticate di modificare utente e topic!
Azioni per le uscite
Titolo | Topic | Testo Topic | Azione | Stato |
---|---|---|---|---|
Output0 attivato | webio2/in0 | ON | Attivare output0 | ON |
Output0 disattivata | webio2/in0 | OFF | Attivare output0 | OFF |
Output1 attiva | webio2/in1 | ON | Attivare output1 | ON |
Output1 disattivata | webio2/in1 | OFF | Attivare output1 | OFF |
Azioni per le entrate
Titolo | Topic | Testo Topic | Testo Clear Topic | in caso di cambio a |
---|---|---|---|---|
Attivare l’input0 | webio2/in0 | ON | OFF | ON |
Attivare l’input1 | webio2/in0 | OFF | OFF | OFF |
Provate voi stessi
Vorreste provare il MQTT? Il nostro Web-IO digitale è l’accesso ideale al cosmo IoT. Richiedete semplicemente un campione del Web-IO digitale. Se il campione viene restituito entro 30 giorni, dovete pagare solo i costi per la rispedizione (Germania). Se desiderate tenere l’apparecchio di prova, pagate semplicemente la fattura allegata.
Domande sul Web-IO digitale con MQTT?
Il signor Thiel sarà lieto di assistervi.
Telefono: +49 202/2680-110 (Lun-Ven. 8-17)
E-mail: f.thiel@wut.de