Sommario:

MQTT su schede Armtronix: 3 passaggi
MQTT su schede Armtronix: 3 passaggi

Video: MQTT su schede Armtronix: 3 passaggi

Video: MQTT su schede Armtronix: 3 passaggi
Video: MQTT с Raspberry Pi и Arduino 2024, Novembre
Anonim
MQTT su schede Armtronix
MQTT su schede Armtronix

In questo tutorial vorremmo mostrarti inizialmente come puoi utilizzare un sistema basato su Linux (Debian o Ubuntu) e installare Mosquitto (Mqtt Broker) su di esso, mostrarti anche come utilizzare il client Mqtt sul tuo telefono (Android)/basato su Linux sistema, invio e ricezione di messaggi tramite Mqtt. Dopo aver preso confidenza con questo, vorremmo mostrarti come puoi configurare e connettere la nostra scheda con questo broker Mqtt installato. Inoltre, vorrei mostrarti come aggiungere l'autenticazione al broker Mqtt e alcuni suggerimenti e trucchi di base per eseguire il debug. Quindi iniziamo ………..

Passaggio 1: installazione di Mqtt Broker:

Installazione di Mqtt Broker
Installazione di Mqtt Broker
Installazione di Mqtt Broker
Installazione di Mqtt Broker
Installazione di Mqtt Broker
Installazione di Mqtt Broker
Installazione di Mqtt Broker
Installazione di Mqtt Broker

Ci sono più broker Mqtt che puoi installare. Alcuni noti sono come menzionato di seguito. Alcuni di questi sono servizi basati su cloud.

  • AlveareMQ
  • zanzaranuvola
  • MQTT
  • Adafruit.io

Ti mostreremo come installare Mosquitto su un sistema basato su Linux (Ubuntu 18.04). Per fare ciò, aggiungi prima Mosquitto all'elenco dei sorgenti di Ubuntu. Una volta che Mosquitto sarà disponibile nei repository di Ubuntu, potrai installarlo con apt-get.

Basta aprire un terminale. Per aprire un terminale, vai nell'angolo in basso a sinistra del desktop di Ubuntu, fai clic su Mostra applicazione (griglia 3X3 punteggiata). Si aprirà una finestra. Lì cerchi Terminale. Clicca sul terminale dovresti essere in grado di vedere una finestra aperta come mostrato nelle immagini seguenti.

  • Mostra applicazione (Immagine 1).
  • Cerca Terminale (Immagine 2).
  • Finestra Terminale (Immagine 3).

Inserisci i seguenti comandi dopo aver aperto il Terminale

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa

sudo apt-get update

sudo apt-get install mosquitto

Puoi anche installare il client Mqtt. Il comando per farlo sarà

sudo apt-get install mosquitto-clients

Alcune immagini per il vostro riferimento

  • Aggiunta di ppa (Immagine 4).
  • Aggiornamento del repository (Immagine 5).
  • Installazione di Mosquitto (Immagine 6).
  • Installazione del client Mosquitto (Immagine 7).

Passaggio 2: test MQTT (Mosquitto)

Test MQTT (Mosquitto)
Test MQTT (Mosquitto)
Test MQTT (Mosquitto)
Test MQTT (Mosquitto)
Test MQTT (Mosquitto)
Test MQTT (Mosquitto)

Per testare mqtt tramite Ubuntu (stesso sistema o altro sistema) è necessario installare il client mqtt che è stato installato in precedenza con il comando sudo apt-get install mosquitto-clients. Nel caso in cui desideri testarlo utilizzando un telefono cellulare (Android), puoi installare l'app MyMqtt dal Play Store.

Mqtt lavora su qualcosa chiamato Topics. Per facilità di comprensione, considera questi argomenti come una cartella sul disco rigido di un computer. Trattiamo questo computer come un server (che nel mondo mqtt è un broker Mqtt). In questo server consideriamo di avere una cartella.

Nome della cartella: /Folder_one/

Consideriamo ora due persone da due sistemi diversi (PC/Laptop) che accedono a questo server per leggere file o per inviare/scaricare file o per eseguire entrambe le operazioni.

Chiameremo le due persone/sistema come Sistema X, Sistema Y (questi sono i client Mqtt nel mondo Mqtt).

Ora, diciamo che System X invia/scarica alcuni file (nome file: temperature) nella cartella "/Folder_one/", questo nel mondo mqtt possiamo chiamare questa pubblicazione (inviamo alcuni messaggi/payload invece di file).

Ora, supponiamo che System Y desideri ottenere/leggere questo file o qualsiasi nuovo file o aggiornare in questa cartella, la prima cosa di cui ha bisogno è conoscere il nome e il percorso della cartella, che nel nostro caso è "/Folder_one/". Quindi ora andrà in questa cartella e leggerà/riceverà quel file (nome file: temperatura). Conoscere il percorso/Argomento e verificare le modifiche nel file/nuovi file nel mondo Mqtt è un abbonamento a tale argomento.

Considerando l'esempio precedente, System X sta pubblicando su "/Folder_one" e System Y si è iscritto a "/Folder_one"

Si noti inoltre che System X può anche iscriversi a "/Folder_one" e System Y può anche pubblicare su "/Folder_one". Allo stesso modo anche il sistema Server (The Mqtt Broker) può pubblicare/sottoscrivere "/Folder_one" installando il client Mqtt su di esso come abbiamo fatto attualmente. L'altra cosa da ricordare è che per pubblicare o sottoscrivere un argomento sarà necessario conoscere l'indirizzo IP del Mqtt Broker.

Per prima cosa lo testeremo tramite il client Ubuntu che è installato sullo stesso sistema del broker. Apriremo due finestre di terminale, una delle quali pubblicherà e l'altra la sottoscriverà. Per l'esempio useremo /Folder_one come argomento. Prima di pubblicare/subordinare un argomento dovrai trovare l'indirizzo IP di Ubuntu. Per fare ciò, fai clic nell'angolo in alto a destra dello schermo, seleziona l'impostazione wifi, da lì sarai in grado di trovare l'indirizzo IP del sistema Ubuntu (attualmente l'IP del broker). Screenshort condiviso per riferimento (Immagine 8).

Oppure per trovare l'indirizzo IP del broker puoi trovare l'indirizzo IP installando net tools usando il seguente comando nel terminale

sudo apt install net-tools

Installazione di net-tools (Immagine 9). Dopodiché digita semplicemente il comando ipconfig otterrai un elenco di interfacce di rete con il mac e l'indirizzo IP

sudo ipconfig

L'indirizzo IP del mio sistema è 192.168.1.67 (Immagine 10)

Pubblicare

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Qui, mosquitto_pub è il comando, seguito dall'elemento identificatore del parametro -h che è l'indirizzo IP host/broker (nel nostro caso 192.168.1.67), seguito da -t che è il nome dell'argomento per l'editore (nel nostro caso /Folder_one), seguito da -m che indica il messaggio/payload da inviare che (nel nostro caso è pub_to_folderone).

Sottoscrivere

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Messaggio inviato dall'editore: pub_to_folderone

Esempio per la pubblicazione

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “hi test mqtt”

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “mqtt funzionante”

Esempio di risposta ricevuta al momento dell'iscrizione all'argomento

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Messaggio inviato dall'editore:

  • pub_to_folderone
  • ciao test mqtt
  • mqtt funzionante

Pub Sub in due finestre terminali separate affiancate (Immagine 11)

Testare Mqtt su Android (il mio mqtt)

Installa l'app mymqtt dal Play Store sul tuo telefono Android (Immagine 12)

Apri l'app e fai clic sull'angolo in alto a sinistra (Immagine 13, Immagine 14).

Fare clic su Impostazioni e inserire l'indirizzo IP del broker, la porta per impostazione predefinita sarà 1883. Attualmente non stiamo utilizzando il broker mqtt autenticato, quindi il nome utente e la password saranno vuoti. Basta salvarlo e fare nuovamente clic sull'angolo in alto a sinistra dell'app (< Impostazioni) il cassetto si riaprirà (Immagine 15).

Nella parte superiore del cassetto ti mostrerà l'indirizzo IP del broker e la porta a cui è connessa l'app (Immagine 16).

Ora aggiungi l'argomento a cui desideri iscriverti facendo clic su Iscriviti. Qui aggiungeremo l'argomento come /Folder_one (Immagine 17, Immagine 18).

Dopo aver fatto ciò, dal sistema Ubuntu usando il terminale pubblicheremo sull'argomento. Al momento della pubblicazione dovresti ottenere il payload/messaggio pubblicato su questa app mobile. Ad esempio, pubblicando il payload come "ARM -Automation Robotics & Mechatronics". Il comando è come accennato in precedenza.

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “ARM - Robotica e Meccatronica di automazione”

pubblicazione dal sistema Ubuntu (Immagine 19).

Ricevuto messaggio pubblicato sul dashboard (Immagine 20).

Ora pubblichiamo dal telefono Android (My mqtt) e iscriviti al sistema Ubuntu. Per questo esempio stiamo usando l'argomento “/mymqtt_to_pub”.

Per fare ciò, prima apri un terminale dal tuo sistema Ubuntu e iscriviti all'argomento "/mymqtt_to_pub" usando il seguente comando (Immagine 21)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

Ora vai nel drawer dell'app mymqtt e fai clic su pubblica. Aggiungi l'argomento di pubblicazione (nel nostro caso è "/mymqtt_to_pub") e invia un messaggio come se invieremo "ciao Ubuntu", premi il pulsante di invio (Immagine 22, Immagine 23).

Il messaggio dovrebbe apparire sulla finestra del terminale del sistema Ubuntu (Immagine 24).

Nota che sia il sistema Ubuntu che il telefono Android dovrebbero essere sulla stessa rete o la porta 1883 dovrebbe essere esposta e dovresti conoscere l'indirizzo IP del tuo router/gateway affinché mqtt funzioni. Se desideri aggiungere l'autenticazione al tuo broker mqtt, puoi farlo seguendo il link del blog sotto menzionato https://medium.com/@eranda/setting-up-authenticat… Segui dal secondo passaggio di questo blog. Abbiamo abilitato l'autenticazione del nostro broker e utilizzeremo il broker autenticato per le nostre schede.

Passaggio 3: lavorare con Armtronix Board e Mqtt

Lavorare con Armtronix Board & Mqtt
Lavorare con Armtronix Board & Mqtt
Lavorare con Armtronix Board & Mqtt
Lavorare con Armtronix Board & Mqtt
Lavorare con Armtronix Board & Mqtt
Lavorare con Armtronix Board & Mqtt

Attualmente per questo istruibile, stiamo utilizzando la nostra scheda Wifi Single Dimmer che utilizza Triac per tagliare l'onda sinusoidale e, a sua volta, attenuare la lampadina o controllare la velocità della ventola. Inoltre lo abbiamo collegato tramite il tipo di autenticazione mqtt.

Inizialmente abbiamo configurato la scheda. I passaggi per configurarlo sono come indicato di seguito.

Accendi la scheda, inizierà a ospitare un punto di accesso Wi-Fi.

Usando un telefono Android o un laptop connettiti a questo AP (Immagine 25).

Una volta connesso a questo AP, digitare 192.168.4.1 aprendo un browser (chrome/firefox) dal sistema/telefono connesso all'AP. Assicurati di non utilizzare la connessione dati (3G/4G).

Digitando l'IP, si aprirà una pagina web in cui inserire il seguente (Immagine 26).

  • SSID: nome dell'AP Wi-Fi.
  • Password: password SSID.
  • Modalità IoT Mqtt o Http (selezionare Mqtt).
  • Mqtt Broker IP (nel nostro caso è 192.168.1.67).
  • Nome utente e password Mqtt, poiché stiamo utilizzando il tipo di autenticazione, abbiamo usato Naren, xxxx
  • Mqtt publish topic: Questo sarà l'argomento su cui verrà pubblicato anche il forum, abbiamo usato /testpub.
  • Mqtt subscribe topic: questo sarà l'argomento su cui la scheda ascolta i comandi per attivare il triac, abbiamo usato /testsub.
  • Nome del dispositivo: è il nome che chiami ad Alexa per attivare la scheda, abbiamo usato corvi.

Dopo aver inserito i dettagli, premere il pulsante di invio, così facendo otterrai una schermata come mostrato nell'immagine 27, attendi un po' di tempo fino a quando la scheda smette di ospitare l'AP.

Si prega di notare che abbiamo collegato la nostra scheda tramite Uart al monitor seriale di Arduino IDE. Quindi sul lato sinistro vedrai i messaggi di debug che stampa tramite Uart (questo è solo per tuo riferimento).

Fatto ciò, puoi visualizzare la schermata di debug. La maggior parte dei dettagli sarà visibile lì. Dopodiché, si connetterà correttamente al broker nella schermata di debug (seriale) che puoi vedere.

Connesso al broker MQTT con autenticazione. Iscritto all'argomento 1.

Dopo averlo stampato, ora puoi iniziare a inviargli comandi tramite mqtt sull'argomento a cui è iscritto, ad esempio /testsub/

Per questa scheda i comandi sono:

  • R13_ON: Per accendere il triac al 100%.
  • R13_OFF: Per spegnere il triac a 0%.
  • Dimmer:xx: dove, xx è il valore di regolazione della luminosità e può essere variato da 0 a 99.
  • Reset: Per cancellare la configurazione della scheda.
  • Stato: stampa lo stato del dimmer della scheda sull'argomento di pubblicazione della scheda.

Per inviare questo comando da un sistema basato su Ubuntu in cui è installato il client mqtt, basta digitarlo come mostrato di seguito. Due parametri aggiuntivi vengono aggiunti qui a causa dell'autenticazione, ad esempio -u che è il nome utente e -P è la password, si prega di notare che questi fanno distinzione tra maiuscole e minuscole.

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_ON

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_OFF

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m Dimmer:50

Nota: 50 è il valore del dimmer

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_ON

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m Stato

Per lo stato più recente, lo stato viene stampato sull'argomento di pubblicazione della scheda che nel nostro caso è /testpub. Sulla nostra scheda qualsiasi modifica nel dispositivo viene stampata sull'argomento di pubblicazione della scheda. Ad esempio, se passiamo Dimmer:50 sull'argomento sottoscritto dalla bacheca piuttosto che eseguirlo fisicamente, la bacheca invierà un messaggio che indica il livello oscurato sull'argomento di pubblicazione. L'esempio è mostrato di seguito, Per iscriverti dal tuo sistema ubuntu all'argomento di pubblicazione della bacheca inserisci il seguente comando

mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t /testpub

il messaggio che riceviamo è

DimmerIS50

alcuni brevi schermate dello stesso sono sotto (Immagine 28, Immagine 29)

Consigliato: