Sommario:
- Forniture
- Passaggio 1: Introduzione a MQTT
- Passaggio 2: Introduzione alla piattaforma IoT
- Passaggio 3: preparare l'editore MQTT
- Passaggio 4: nota a piè di pagina
- Passaggio 5: crediti e supporto
Video: Nozioni di base sull'IoT: connessione dell'IoT al cloud utilizzando il sistema operativo Mongoose: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Se sei una persona appassionata di armeggiare ed elettronica, il più delle volte ti imbatterai nel termine Internet of Things, solitamente abbreviato in IoT, e che si riferisce a un insieme di dispositivi che possono connettersi a Internet! Essendo io stesso una persona del genere, sono rimasto affascinato quando ho saputo che dispositivi così fantastici erano facilmente accessibili per me. Il solo pensiero di poter connettere i miei progetti a Internet usando un piccolo pezzo di hardware e solo pensando alle innumerevoli porte che avrebbe aperto per le mie idee di progetto mi aveva pompato.
Ma dire all'IoT di connettersi a Internet non è così semplice come acquistarlo dallo scaffale e accenderlo. E oltre a connettere il dispositivo a Internet, dobbiamo anche inviare alcuni dati utili a Internet. Questo Instructable si occupa della procedura necessaria per raggiungere l'obiettivo sopra indicato ed è pensato per lettori di qualsiasi livello di esperienza, dai principianti ai veterani che sono nuovi all'IoT.
In questo Instructable, ad esempio, mostrerò come tracciare il grafico delle letture del sensore di temperatura interno della scheda di sviluppo ESP32 che dovrebbe dare ai lettori una buona idea del processo.
Sebbene questo Instructable utilizzi ESP32 e il sistema operativo Mongoose, tuttavia la procedura può essere estesa a tutti gli IoT e i firmware presenti!
Forniture
Per essere in grado di implementare questo Instructable da solo, avrai bisogno solo di una quantità minima di hardware e sono:
- An Internet of Thing (IoT): ho usato un clone economico della scheda di sviluppo ESP32. Se hai intenzione di acquistare una nuova scheda di sviluppo ESP32, devi controllare la scheda ESP32 di DFRobot.
- Un cavo dati: usa un cavo necessario per il tuo IoT per il flashing, ecc.
- Una batteria (opzionale): acquistala solo se intendi alimentare il tuo IoT per lunghi periodi.
- Un mini tagliere (opzionale)
Suggerisco al lettore di utilizzare un IoT diverso da ESP32 in modo che possa veramente capire cosa viene fatto qui, invece di limitarsi semplicemente a imitarmi. Fidati di me, ti divertirai a implementare questo processo usando la tua mente in qualche altro IoT, ad esempio ESP8266 sarebbe una buona scelta.
Passaggio 1: Introduzione a MQTT
Cos'è MQTT?
"MQTT è un protocollo di messaggistica semplice, progettato per dispositivi vincolati con larghezza di banda ridotta. Quindi, è la soluzione perfetta per le applicazioni Internet of Things. MQTT consente di inviare comandi per controllare le uscite, leggere e pubblicare dati dai nodi dei sensori e molto altro. " (Da RandomNerdTutorials)
Come funziona MQTT?
Prima di andare sul tecnico, pensiamo prima al nostro mondo reale. Supponiamo che tu sia interessato a una collezione di carte di proprietà di un'amica di un tuo amico, ad esempio Laurel, che personalmente non conosci. Dal momento che sei molto esigente riguardo a quella collezione di carte, chiederai al tuo amico, supponiamo Tom, di chiedere se Laurel è disposta a venderla o meno. Mentre lo fai, chiederai a Tom di acquistare lui stesso la collezione di carte se Laurel è disposta a vendere, dal momento che non vuoi che qualcun altro metta le mani sulla collezione che desideri! Col passare del tempo, Tom e Laurel interagiscono e, di comune accordo, Laurel dà la sua collezione di carte a Tom in cambio di denaro. Dopo questo scambio, Tom tiene le carte con sé fino a quando non ti incontra di nuovo, che è quando finalmente ti dà la collezione di carte. È così che procede un normale scambio nella nostra vita quotidiana.
In MQTT, gli elementi di base coinvolti nello scambio sono l'editore (Laurel), un sottoscrittore (You) e il broker (Tom). Anche il suo flusso di lavoro è simile all'esempio del mondo reale sopra indicato, tranne per un'enorme differenza! In MQTT, lo scambio è avviato dal broker, ovvero Laurel sarebbe la prima a raggiungere Tom per dire che vuole vendere la sua collezione di carte. Se confrontiamo il funzionamento di MQTT con il nostro esempio del mondo reale, sarebbe il seguente:
- Laurel dice a Tom che vuole vendere la sua collezione di carte (dati o carico utile) e gli dà le carte.
- Tom prende quelle carte in suo possesso ed è aperto a offerte per la raccolta delle carte. Quando tu e Tom vi incontrate e lui scopre che siete interessati alle carte (si iscrive a un argomento). Tom poi ti dà le carte.
Poiché l'intero processo si basa sul broker e nessuna interazione diretta tra l'abbonato e l'editore, MQTT elimina il fastidio di sincronizzare sia l'editore che l'abbonato. La presenza di un broker intermedio è un vantaggio per i dispositivi con risorse limitate come IoT e microprocessori poiché la loro potenza di elaborazione è insufficiente per eseguire il normale trasferimento dei dati, il che comporterebbe spese generali aggiuntive come l'autenticazione, la crittografia, ecc. A parte questo, MQTT ha molte altre funzionalità come la leggerezza, la distribuzione uno-a-molti e così via, che lo rendono ideale per reti e client vincolati
Passaggio 2: Introduzione alla piattaforma IoT
Che cos'è una piattaforma IoT?
"Ad un livello elevato, una piattaforma Internet of Things (IoT) è il software di supporto che collega l'hardware edge, i punti di accesso e le reti di dati ad altre parti della catena del valore (che sono generalmente le applicazioni dell'utente finale). Piattaforme IoT in genere gestire le attività di gestione in corso e la visualizzazione dei dati, che consentono agli utenti di automatizzare il proprio ambiente." (Da Link-Labs)
In astratto, una piattaforma IoT funge da mezzo tra l'utente e gli agenti di raccolta dati che è responsabile della rappresentazione dei dati raccolti.
In questo Instructable, abbiamo in programma di inviare online le letture della temperatura del nostro ESP32. Il nostro ESP32 fungerà da editore MQTT e il broker MQTT sarà una piattaforma IoT di nostra scelta. Si noti che nel nostro progetto non esiste il ruolo di un abbonato MQTT poiché i dati vengono rappresentati dalla piattaforma stessa in prima persona. La piattaforma IoT sarà responsabile dell'archiviazione dei nostri dati pubblicati e della loro rappresentazione piacevole, qui, come grafico a linee. Utilizzerò Losant come piattaforma IoT qui poiché è gratuito e offre alcuni buoni modi per rappresentare i dati. Alcuni altri esempi di piattaforme IoT sono Google Cloud, Amazon AWS e Adafruit, Microsoft Azure ecc. Vorrei consigliare al lettore di fare riferimento alla documentazione della piattaforma IoT scelta.
Configurazione perdente:
- Accedi a Losant
- Crea un dispositivo (tipo autonomo)
- Aggiungere alcuni tipi di dati al dispositivo1. Nome: temperatura, tipo di dati: numero2. Nome: offset, tipo di dati: numero3. Nome: unità, tipo di dati: stringa
- Genera una chiave di accesso e annota l'ID del dispositivo e la chiave di accesso
- Creare un grafico1. Creare un dashboard.2. Aggiungi il blocco "Grafico serie temporale" utilizzando la variabile di temperatura e il dispositivo creato.
L'"ID dispositivo" ha lo scopo di fungere da impronta digitale univoca per un dispositivo. Le "chiavi di accesso", come suggerisce il nome, consentono all'IoT di pubblicare su Losant sotto l'identità del dispositivo.
Passaggio 3: preparare l'editore MQTT
Ora che abbiamo preparato la piattaforma IoT per ricevere e rappresentare i dati, dobbiamo preparare un editore MQTT che sia responsabile della raccolta e dell'invio dei dati alla piattaforma.
Lo schema della preparazione dell'editore MQTT è il seguente:
- Scrivi il codice: per istruire l'editore (IoT) su come raccogliere i dati, elaborarli e inviarli alla piattaforma IoT. Le istruzioni sono scritte in linguaggi di programmazione di alto livello leggibili dall'uomo che vengono normalmente indicati come codice.
- Flash del firmware: l'IoT non comprenderà prontamente queste istruzioni poiché inizialmente non conosce alcuna lingua. Per colmare questa barriera linguistica tra l'uomo e la macchina, il codice viene compilato in un insieme grezzo di istruzioni, fondamentalmente insiemi di valori esadecimali o binari specifici per le posizioni di memoria all'interno dell'IoT, noto come firmware che viene quindi flashato sull'IoT.
In questo Instructable, dal momento che sto usando il mio pratico ESP32, eseguirò il flashing del firmware del sistema operativo Mongoose, che accetta sia programmi scritti in C che JavaScript. Oltre alla compatibilità con JS, il sistema operativo Mongoose ha ancora molto da offrire, come aggiornamenti via etere, per modificare il tuo programma online e una dashboard dedicata per i dispositivi (mDash) ecc.
Ho sviluppato un'app open source per il sistema operativo Mongoose per questo Instructable. È una semplice app denominata losant-temp-sensor, che utilizza MQTT per inviare le letture approssimative della temperatura ambiente, basate sulle letture della temperatura interna dell'ESP32, a Losant (una piattaforma IoT gratuita). Si consiglia di leggere il codice dell'app per una migliore comprensione. Faremo lampeggiare questa app per questo Instructable.
Se sei un tipo avventuroso, puoi provare a raggiungere lo stesso obiettivo con il firmware Arduino-ESP32 che consente di utilizzare ESP32 come Arduino (con funzionalità WiFi).
Un rapido riepilogo per l'app lampeggiante con il sistema operativo Mongoose:
- Installa lo strumento mos per il tuo sistema operativo.
-
Apri lo strumento ed esegui i seguenti comandi:
- mos clone
- cd lossant-temp-sensor
- mos build --platform esp32
- più flash
- mos wifi "il tuo ssid wifi" "la tua password wifi" es. più wifi "Casa" "casa@123"
-
mos config-set temperature.basis=
temperatura.unit="
"es. mos config-set temperature.basis=33 \temperature.unit="celsius"
-
mos config-set device.id=
mqtt.client_id= mqtt.user= mqtt.pass=
Dopo aver eseguito correttamente il flashing, consentire al dispositivo di riavviarsi e quindi eseguire i seguenti comandi:
Dopo aver completato correttamente tutti questi passaggi, ti ritroverai con un ESP32 che invia periodicamente le letture della temperatura a Losant, dopo ogni 10 minuti. La pubblicazione riuscita è indicata dal LED blu, come mostrato nel video sopra.
Passaggio 4: nota a piè di pagina
Se sei in grado di replicare correttamente i passaggi precedenti, ora avrai un progetto funzionante con l'aiuto del quale puoi osservare l'andamento della temperatura all'interno della tua stanza, o ovunque tu abbia intenzione di posizionare il progetto. Dal momento che ho mantenuto questo Instructable il più generale possibile, quindi puoi usare il tuo IoT per raccogliere dati di ogni tipo e provare a ricavarne qualcosa di utile, oppure puoi farlo solo per armeggiare se tu' ho capito bene questo Instructable.
Per me, la parte migliore dell'IoT è il fatto che ci consente di raccogliere enormi quantità di dati, inconcludenti se presi da soli e convertirli in qualcosa di conclusivo. Questo colpisce davvero lo spirito della scienza. Per me è stato molto soddisfacente e illuminante notare la caduta della temperatura all'interno della mia stanza durante le ore di pioggia attraverso il mio grafico.
L'app lossant-temp-sensor è stata ottimizzata per il consumo energetico, poiché utilizza la funzione di sospensione profonda di ESP32, quindi puoi utilizzarla per lunghi periodi di tempo senza preoccuparti affatto della batteria. È possibile estendere ulteriormente l'efficienza energetica rimuovendo il LED sulla scheda di sviluppo. L'assorbimento attuale dell'intera configurazione è stato mostrato sopra.
L'obiettivo di questo Instructable, fin dall'inizio, era proprio quello di darti un'introduzione al mondo dell'IoT. Al termine di questo Instructable, avrai una buona presa sulle basi che puoi rafforzare ancora di più attraverso altre risorse online.
Anche se non sarai in grado di realizzare progetti complessi in questa fase, dovresti sempre tenere presente che se hai un mattone abbastanza forte e un modo per combinarli insieme, puoi realizzare qualsiasi struttura immaginabile, da semplici al complesso. Allo stesso modo, avere una buona conoscenza delle basi e sapere come applicarle correttamente ti consentirà di montare una moltitudine di aggeggi. Perciò datti una pacca sulla spalla per aver fatto il primo passo.
Passaggio 5: crediti e supporto
Questo Instructable è costituito da illustrazioni, ad es. quello che spiega lo scambio MQTT, che ho fatto personalmente. Queste illustrazioni sono state possibili solo grazie ai seguenti pacchetti SVG gratuiti:
- Infografica vettoriale creata da freepik - www.freepik.com
- Infografica vettoriale creata da starline - www.freepik.com
- Vettore di persone creato da pikisuperstar - www.freepik.com
- Vettore astratto creato da macrovector - www.freepik.com
- Vettore astratto creato da macrovector - www.freepik.com
- Infografica vettoriale creata da pikisuperstar - www.freepik.com
Questo Instructable è stato sponsorizzato da DFRobot. DFRobot ha una fantastica collezione di elettronica, quindi assicurati di dargli un'occhiata.
Se ritieni che ti sia piaciuto questo Instructable e desideri più Instructables come questo, allora puoi supportarmi su Patreon. Se non puoi andare così lontano, puoi seguirmi qui su Instructables.
Consigliato:
Guida alla connessione PLSD: connessione a Apple TV tramite AirPlay [non ufficiale]: 10 passaggi
Guida alla connessione PLSD: connessione a Apple TV tramite AirPlay [non ufficiale]: la seguente guida viene fornita per illustrare il processo di connessione a Apple TV della sala conferenze tramite AirPlay. Questa risorsa non ufficiale viene fornita a titolo di cortesia per l'amministrazione, il personale e gli ospiti autorizzati del Perkins Local School Distric
Nozioni di base sull'Animatronics: il servomotore: 8 passaggi
Nozioni di base sull'Animatronics - il Servomotore: che si tratti di un allegro display natalizio nella vetrina di un grande magazzino o di uno spaventoso scherzo di Halloween, nulla attira l'attenzione come un pupazzo animato. Queste animazioni controllate elettronicamente sono talvolta chiamate "animatronics"; e questo
Nozioni di base sull'elettronica: Diodo: 6 passaggi (con immagini)
Nozioni di base sull'elettronica: Diodo: se non ti piace leggere guarda il mio video su Youtube! L'ho reso più semplice lì. Anche un enorme grazie a www.JLCPCB.com per aver sponsorizzato questo progetto, puoi ordinare PCB a 2 strati (10 cm * 10 cm) solo per $ 2 dal loro sito web. Tempo di costruzione per PCB a 2 strati i
Nozioni di base sull'interfacciamento di Arduino TFT: 10 passaggi (con immagini)
Nozioni di base sull'interfacciamento di Arduino TFT: i touchscreen TFT sono la straordinaria interfaccia grafica che può essere utilizzata con microcontrollori come Atmel, PIC, STM, poiché ha un'ampia gamma di colori, una buona capacità grafica e una buona mappatura dei pixel. all'interfaccia TFT da 2,4 pollici
Pulsante porta virtuale utilizzando il sistema operativo Mongoose e XinaBox: 10 passaggi
Pulsante porta virtuale utilizzando il sistema operativo Mongoose e XinaBox: utilizzando Mongoose e alcuni xChip, abbiamo creato un pulsante porta virtuale. Invece di un pulsante fisico per attivare il personale, ora possono farlo da soli