Messaging Queuing Telemetry Protocol, o MQTT, è un protocollo di messaggistica leggero progettato per dispositivi e ambienti con larghezza di banda ridotta. È una soluzione veloce, facile da implementare ed efficiente dal punto di vista energetico per connettere e scambiare informazioni tra più dispositivi IoT. Richiede un broker/server MQTT e l'argomento a cui i messaggi vengono pubblicati e sottoscritti dai dispositivi o dagli utenti per inviare o ricevere le informazioni.

In questa guida, implementeremo il broker MQTT e lo strumento Node-RED su Raspberry Pi per connettere dispositivi IoT intelligenti fai-da-te abilitati per MQTT e utilizzarli per l'automazione domestica.

Cose di cui avrai bisogno

Per creare e distribuire un server MQTT con Node-RED, avrai bisogno di quanto segue:

  • Un Raspberry Pi Zero W o migliore. Si consiglia di utilizzare un Raspberry Pi 3 o 4 (se disponibile).
  • Una scheda microSD (8 GB o superiore).
  • Un lettore di schede microSD.
  • Un PC Linux, Mac o PC Windows.
  • Connessione Internet (Wi-Fi).
instagram viewer

Passaggio 1: installa Raspberry Pi OS Lite (64 bit)

Avrai bisogno della versione Lite a 64 bit di Raspberry Pi OS. Nel Imager Raspberry Pi strumento su un altro computer, fare clic su Scegli il sistema operativo > Sistema operativo Raspberry Pi (altro), quindi selezionare Raspberry Pi OS Lite (64 bit). Inoltre, ti consigliamo di utilizzare le impostazioni avanzate di Imager per abilitare SSH (abbiamo usato pi e lampone come nome utente e password per questa guida) e configurare la connessione Wi-Fi. Per maggiori dettagli, consulta la nostra guida su come installare un sistema operativo su un Raspberry Pi. Dopo aver scritto il sistema operativo sulla scheda, espellilo e inseriscilo nel tuo Raspberry Pi.

Passaggio 2: connettersi tramite SSH e aggiornare i pacchetti

Puoi connetterti al tuo Raspberry Pi tramite SSH usando PuTTY su Windows o Terminalon macOS e Linux. Tuttavia, dovresti conoscere l'IP del Raspberry Pi per connetterti tramite SSH. Per scoprirlo, puoi aprire le impostazioni DHCP del tuo router wireless o utilizzare la Fingapp sul tuo smartphone.

Immettere l'indirizzo IP in PuTTY e fare clic Collegare. Digita il tuo nome utente e password per accedere.

Sul terminale Linux o macOS, digita YourPiUsername@IPAddress e quindi digitare la password per accedere. Una volta connesso tramite SSH, eseguire il comando seguente per aggiornare l'elenco dei pacchetti e aggiornare i pacchetti.

sudo apt aggiornamento && sudo apt aggiornamento y

Passaggio 3: installare il broker MQTT

Per installare e abilitare il broker MQTT (Mosquitto), attenersi alla seguente procedura.

  1. Installa Mosquitto eseguendo il seguente comando nella finestra Terminale.
    sudo apt installare mosquitto mosquitto-clients -y
    Verrà avviata l'installazione di Mosquitto (broker MQTT) e dei servizi client.
  2. Dopo l'installazione, abilitare il servizio Mosquitto e verificare la versione MQTT utilizzando i seguenti comandi.
    sudosystemctlabilitarezanzara.servizio
    zanzara -v
  3. Creare un account utente per consentire l'accesso remoto autenticato utilizzando il comando seguente.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    Qui ravi è il nome utente (puoi usare quello che vuoi). Immettere la password quando richiesto. Annotare questo nome utente e password per un uso successivo.
  4. Apri il zanzara.conf file nell'editor nano utilizzando il comando seguente.
    sudo nano /etc/mosquitto.conf
    Incolla il codice seguente nell'editor nano.
    per_ascoltatore_impostazioni VERO
    file_pid /run/mosquitto/mosquitto.pid
    persistenza VERO
    posizione_persistenza /var/lib/mosquitto/
    log_dest file /var/log/mosquitto/mosquitto.log
    include_dir /etc/mosquitto/conf.d
    consentire_anonimo falso
    ascoltatore 1883
    file_password /etc/mosquitto/passwd
    Premere CTRL+X seguito da Y e accedere per salvare le modifiche.
  5. Riavvia il broker MQTT eseguendo il comando seguente.
    sudo systemctl riavvia mosquitto
  6. Controlla lo stato del broker MQTT per vedere se MQTT è in esecuzione.
    sudo systemctl status mosquitto
    Se vedi l'output sopra, MQTT è in esecuzione.

Passaggio 4: testare il broker MQTT

Per verificare se il broker MQTT funziona o meno, installa MQTTLens o un'app MQTT simile in Chrome o qualsiasi altro browser web e avviala. Immettere l'indirizzo IP del Raspberry Pi e il nome utente/password MQTT. Clic Crea connessione.

Inserisci qualsiasi argomento nel sottoscrivi campo e lo stesso argomento nel Pubblicare campo. Digita "Ciao" o qualsiasi altra cosa nel campo del messaggio e fai clic Pubblicare.

Se vedi il messaggio sotto gli abbonamenti, il broker MQTT funziona correttamente.

Passaggio 5: installare Node-RED

Con Node-RED puoi pubblicare messaggi o inviare e ricevere payload da o verso i tuoi dispositivi smart. Questo carico utile può essere utilizzato per attivare/disattivare dispositivi intelligenti o ricevere dati (come la temperatura) da un sensore. Puoi utilizzare il tuo browser web per creare tali flussi in Node-RED e controllare i tuoi dispositivi intelligenti.

Per installare Node-RED, eseguire il seguente comando nella finestra Terminale.

bash //raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

Questo scaricherà e installerà Node-RED sul tuo Raspberry Pi. Il completamento potrebbe richiedere del tempo. Una volta installato Node-RED, è necessario creare un file di impostazioni Node-RED eseguendo il comando seguente.

init admin rosso nodo

Quindi segui questi passaggi:

  1. premi il accedere chiave.
  2. Vuoi impostare la sicurezza dell'utente? Selezionare . Inserisci un nome utente e una password. Tienilo al sicuro poiché verrà utilizzato per accedere e gestire Node-RED tramite un'interfaccia web.
  3. Scegliere Accesso completo.
  4. È possibile aggiungere un altro utente o selezionare No procedere.
  5. Selezionare No quando viene chiesto di abilitare le funzionalità del progetto.
  6. Premere accedere.
  7. Digita una passphrase e tienila al sicuro.
  8. Scegli il tema predefinito > Monaco (predefinito).
  9. Selezionare No quando viene chiesto di caricare nodi esterni.

Una volta fatto, riavvia Node-RED.

riavvio rosso nodo

Ora puoi visitare Your-Raspberry-Pi-IP: 1880 in un browser web per aprire e accedere al pannello di amministrazione di Node-RED.

Ora puoi creare flussi in Node-RED. Di seguito è riportato un esempio di flusso Node-RED che utilizziamo per eseguire il nostro display a matrice WS2812B 8x32 che mostra varie informazioni sui sensori installati nella nostra casa in tempo reale.

Per iniziare, puoi anche costruisci un orologio intelligente fai-da-te utilizzando la matrice di punti MAX7219e collegalo al tuo server MQTT per visualizzare testo o messaggi su di esso.

Abilita la domotica utilizzando MQTT e Node-RED

Ora puoi creare flussi per controllare o monitorare i tuoi dispositivi domestici intelligenti abilitati per MQTT. Puoi anche costruire interruttori intelligenti Tasmota fai-da-te o sensori intelligenti basati su Arduino e altri dispositivi intelligenti con controllo MQTT e utilizzarli con questo server MQTT e Node-RED. Puoi creare flussi per la domotica in base a eventi, orari o payload ricevuti dal client MQTT del tuo smartphone.

Sul tuo smartphone Android, puoi installare MQTT Dash per connetterti al tuo broker MQTT e inviare o ricevere payload da o verso vari argomenti a cui i tuoi dispositivi intelligenti si abbonano o pubblicano.