Sommario:
- Forniture
- Passaggio 1: configurazione iniziale (a seconda del sistema operativo)
- Passaggio 2: configurazione della zanzara:
- Passaggio 3: concludi
Video: Comunicazione wireless SmartHome: le basi estreme di MQTT: 3 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
Nozioni di base MQTT:
** Farò una serie di domotica, seguirò i passaggi che ho seguito per imparare tutto ciò che ho fatto in futuro. Questo Instructable è la linea di base su come configurare MQTT da utilizzare nei miei futuri Instructables. Tuttavia, gli insegnamenti in questo contenuto saranno applicabili a qualsiasi progetto si voglia intraprendere.**
Internet delle cose:
L'Internet of Things sta conquistando il mondo, e specialmente in comunità come la nostra qui a Instructables. Da quando sono entrato a far parte di questa comunità, è stata trincerata con le persone che costruiscono
Dispositivi connessi e controllati tramite Internet. Quando si lavora con Internet of Things è difficile non trovare il protocollo MQTT. Questo è un protocollo di comunicazione come altri utilizzati oggi su Internet come HTTP o FTP, tuttavia il modo in cui funziona è diverso, il che lo rende ideale per le applicazioni Internet of Things.
Cos'è MQTT:
MQTT (Message Queuing Telemetry Transport è un protocollo di comunicazione leggero che utilizza un'architettura di pubblicazione/sottoscrizione. HTTP, che è ciò che la maggior parte di Internet utilizza, è costruito su un sistema di richiesta/risposta. Ciò significa che riceve una richiesta da un client e invia una risposta a quel client. MQTT ha anche un server (chiamato broker) e molti client. A differenza di HTTP, MQTT consente ai client di pubblicare o iscriversi a "argomenti" specifici. Ciò che consente una comunicazione più ampia attraverso un punto centralizzato, il broker. Ogni nodo può pubblicare su un argomento sul broker e qualsiasi nodo sottoscritto a quell'argomento riceverà il messaggio. Anche i client possono iscriversi a più argomenti e possono quindi ricevere più direttive o aggiornamenti.
L'intero sistema è guidato dagli eventi e consente di inviare messaggi dal broker a ciascun client sottoscritto. Quindi, piuttosto che HTTP, dove il client richiede le informazioni, il client riceve le informazioni direttamente dal broker al momento della ricezione. Ci sono anche servizi integrati che consentono varie garanzie, come le specifiche QOS. Una specifica QOS consente a un broker di determinare se un messaggio deve essere consegnato o meno una volta, almeno una volta o esattamente una volta. Ciò garantisce che i dati vengano consegnati nel modo richiesto a ciascun cliente. I clienti possono anche richiedere che i messaggi pubblicati sul loro argomento siano bufferizzati nel broker nel caso in cui vengano disconnessi da esso per qualsiasi motivo. Una volta tornato online, i dati verranno inviati al client.
Un argomento non è niente di speciale, è solo una varietà di stringhe combinate e separate da barre. Il formato nell'esempio che verrà utilizzato di seguito è il seguente: casa/camera da letto/plafoniera. Ogni barra viene posizionata dopo un argomento per indicare un argomento secondario. Quindi un messaggio potrebbe essere pubblicato a casa, dove lo riceveranno tutti i dispositivi della casa. Potrebbe essere pubblicato direttamente in casa/camera da letto, dove tutti i dispositivi nella camera da letto riceveranno il messaggio. E può scendere al dispositivo specifico come mostrato per primo casa/camera da letto/plafoniera dove solo la plafoniera della camera da letto riceverà il messaggio. Il modo in cui possiamo astrarre singoli dispositivi come questo fino a un intero ecosistema è estremamente utile, soprattutto quando si tratta di domotica. Esistono altri modi per suddividere gli argomenti e li approfondirò ulteriormente in Instructables futuri in cui l'applicazione ha più senso.
Forniture
È necessario solo uno dei seguenti:
Ubuntu:
Sottosistema Windows per Linux: https://ubuntu.com/wsl (Solo se non hai Linux/MacOS)
MacOS: richiede un MacBook
Questo è richiesto:
Mosquitto MQTT Broker - Scaricato utilizzando apt-get (Documentazione:
Passaggio 1: configurazione iniziale (a seconda del sistema operativo)
Mac OS/Linux:
Non è necessaria alcuna configurazione, basta aprire il terminale e passare a Mosquitto Setup!
Finestre:
Se sei su Windows, dovrai installare il sottosistema Windows per Linux. Questo è uno strumento super facile da usare ed estremamente prezioso che ti consente di eseguire un terminale Ubuntu all'interno di Windows. Non c'è bisogno di installare e avviare Ubuntu solo per testare lo sviluppo nel terminale!
Fasi di installazione:
1. Vai su Windows Store e cerca ubuntu
2. Scarica e installa il sottosistema Windows per Linux
3. Apri l'applicazione e segui le istruzioni per completare la configurazione e sei pronto per continuare!
Passaggio 2: configurazione della zanzara:
Quindi, come discusso nell'introduzione su MQTT, il protocollo richiede un broker (server). Questo broker è il punto base per tutte le connessioni stabilite a ciascun client. Tutti i messaggi vengono passati e messi in coda in questo broker. Ci sono molte opzioni tra cui scegliere per un broker e puoi trovarle online, ma quella che useremo è probabilmente la più comune: Mosquitto.
Mosquitto è un broker MQTT basato su Linux con un sacco di funzionalità. Non entrerò nello specifico di tale funzionalità in questo momento, ma alcuni requisiti di base che soddisfa sono l'autenticazione utente/password e il supporto della crittografia TLS, tutti utili nello sviluppo di dispositivi Internet of Things.
Passaggi:
Tutti questi passaggi dovrebbero essere completati in una finestra di terminale.
1. Installa i client Mosquitto e MQTT
sudo apt-get install mosquitto mosquitto-clients
2. Iscriviti a un argomento
mosquitto_sub -t "prova"
Ciò che fa è iscriversi a un argomento. Questo argomento è indicato da "-t" e il valore dell'argomento è "test". Questo valore dopo "-t" può essere qualsiasi cosa tu voglia salvare per alcune prenotazioni speciali.
3. Apri una nuova finestra di terminale e pubblica un messaggio sull'argomento "test"
mosquitto_pub -t "test" -m "Ciao mondo con MQTT!"
Questo pubblica un messaggio sull'argomento "test", consentendo all'altra nostra istanza di terminale di ricevere il messaggio sul lato dell'abbonamento. Il messaggio pubblicato è indicato da "-m" e il valore del messaggio è "Hello World With MQTT". Questo messaggio, proprio come l'argomento, può essere cambiato in quello che vuoi!
4. Vai alla prima finestra del terminale per vedere i tuoi risultati! Dovresti ricevere un messaggio che dice "Hello World With MQTT" visualizzato. Se non lo vedi, assicurati di aver digitato l'argomento giusto. Se lo hai completato con successo, continua a giocarci. Prova argomenti diversi, con argomenti secondari e messaggi diversi!
Passaggio 3: concludi
Questo è tutto! Una volta completato tutto, comprendi le basi di come funziona MQTT. Questo è un tutorial molto rudimentale che mostra solo il minimo indispensabile del protocollo MQTT. Future Instructables illustrerà in modo più approfondito come funziona il protocollo in pratica con l'Internet of Things, in particolare con i moduli ESP8266 che eseguono Arduino. La mia prima applicazione pratica sarà la caffettiera intelligente che ho attualmente nella mia stanza. Se desideri imparare a realizzare una caffettiera che può essere controllata sia dal telefono che da Alexa, assicurati di seguirmi per ulteriori tutorial.
Consigliato:
Comunicazione wireless LoRa da 3Km a 8Km con dispositivo E32 (sx1278/sx1276) a basso costo per Arduino, Esp8266 o Esp32: 15 passaggi
Comunicazione Wireless LoRa da 3Km a 8Km con dispositivo Low Cost E32 (sx1278/sx1276) per Arduino, Esp8266 o Esp32: creo una libreria per gestire EBYTE E32 basata sulla serie Semtech del dispositivo LoRa, dispositivo molto potente, semplice ed economico. Versione 3Km qui, versione 8Km qui Possono lavorare su una distanza da 3000 m a 8000 m e hanno molte funzioni e
Comunicazione crittografata wireless Arduino: 5 passaggi
Wireless Encrypted Communication Arduino: Ciao a tutti, in questo secondo articolo vi spiegherò come utilizzare il chip Atecc608a per proteggere la vostra comunicazione wireless. Per questo, userò NRF24L01+ per la parte Wireless e Arduino UNO. Il microchip ATECC608A è stato progettato da
Comunicazione wireless a lungo raggio, 1,8 km, da Arduino ad Arduino con l'HC-12: 6 passaggi (con immagini)
Comunicazione wireless a lungo raggio, 1,8 km, da Arduino ad Arduino con l'HC-12: in questo tutorial imparerai come comunicare tra Arduino su una lunga distanza fino a 1,8 km all'aperto. L'HC-12 è una porta seriale wireless modulo di comunicazione molto utile, estremamente potente e facile da usare. Per prima cosa partirai
Comunicazione wireless utilizzando il modulo ricetrasmettitore NRF24L01 per progetti basati su Arduino: 5 passaggi (con immagini)
Comunicazione wireless utilizzando il modulo ricetrasmettitore NRF24L01 per progetti basati su Arduino: questo è il mio secondo tutorial istruttivo su robot e microcontrollori. È davvero incredibile vedere il tuo robot vivo e funzionare come previsto e credimi sarà più divertente se controlli il tuo robot o altre cose wireless con velocità e
Come misurare correttamente il consumo energetico dei moduli di comunicazione wireless nell'era del basso consumo energetico?: 6 passaggi
Come misurare correttamente il consumo energetico dei moduli di comunicazione wireless nell'era del basso consumo energetico?: Il basso consumo energetico è un concetto estremamente importante nell'Internet delle cose. La maggior parte dei nodi IoT deve essere alimentata da batterie. Solo misurando correttamente il consumo energetico del modulo wireless possiamo stimare con precisione quanta batteria ho