Sommario:
- Passaggio 1: una scheda NodeMCU basata su ESP8266
- Passaggio 2: diagramma dei pin
- Passaggio 3: DHT11 - Sensore di umidità e temperatura
- Passaggio 4: introduzione al sistema operativo Mongoose
- Passaggio 5: l'installazione guidata della mangusta
- Passaggio 6: stato del dispositivo - Online
- Passaggio 7: provisioning del dispositivo su AWS IOT
- Passaggio 8: caricamento del codice di esempio nella scheda NodeMCU
- Passaggio 9: iniziare con l'account AWS
- Passaggio 10: Utilità della riga di comando dell'AWS CLI (opzionale)
- Passaggio 11: Amazon Web Services (GUI)
- Passaggio 12: AWS IOT Core
- Passaggio 13: AWS IOT - Monitoraggio
- Passaggio 14: AWS IOT - Abbonamenti
- Passaggio 15: pubblicazione del messaggio predefinito
- Passaggio 16: pubblicazione delle informazioni sul pulsante premuto
- Passaggio 17: pubblicazione dei valori di temperatura e umidità sulla piattaforma AWS IOT
- Passaggio 18: Compito
Video: Per iniziare con Amazon AWS IoT ed ESP8266: 21 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Questo progetto mostra come prendere il modulo ESP8266 e collegarlo direttamente ad AWS IOT utilizzando Mongoose OS. Mongoose OS è un sistema operativo open source per microcontrollori che enfatizza la connettività cloud. È stato sviluppato da Cesanta, una società di software embedded con sede a Dublino e alla fine del progetto dovresti essere in grado di misurare i valori di temperatura e umidità dal sensore di temperatura DHT11 e pubblicarlo sulla piattaforma AWS IOT
Per questo progetto avremo bisogno di:
Una scheda NodeMCU basata su ESP8266
Sensore di temperatura DHT 11
Lo strumento di flashing del sistema operativo Mongoose
Un cavo USB per collegare la scheda NodeMCU al computer
Cavi di collegamento
Account AWS che intendi utilizzare
Passaggio 1: una scheda NodeMCU basata su ESP8266
ESP8266 è il nome di un micro controller progettato da Espressif Systems. Lo stesso ESP8266 è una soluzione di rete Wi-Fi autonoma che offre come bridge dal micro controller esistente al Wi-Fi ed è anche in grado di eseguire applicazioni autonome. Questo modulo viene fornito con un connettore USB integrato e un ricco assortimento di pin-out. Con un cavo micro USB, puoi collegare il devkit NodeMCU al tuo laptop e flasharlo senza problemi, proprio come Arduino
Specifiche
• Tensione: 3,3V.
• Wi-Fi Direct (P2P), soft-AP.
• Consumo di corrente: 10uA~170mA.
• Memoria flash collegabile: 16 MB max (512 K normale).
• Stack di protocollo TCP/IP integrato.
• Processore: Tensilica L106 32 bit.
• Velocità del processore: 80~160MHz.
• RAM: 32K + 80K.
• GPIO: 17 (multiplexati con altre funzioni).
• Da analogico a digitale: 1 ingresso con risoluzione di 1024 passi.
• Potenza di uscita +19,5dBm in modalità 802.11b
• Supporto 802.11: b/g/n.
• Connessioni TCP simultanee massime: 5
Passaggio 2: diagramma dei pin
Passaggio 3: DHT11 - Sensore di umidità e temperatura
Il DHT11 è un sensore digitale di temperatura e umidità di base a basso costo. Utilizza un sensore di umidità capacitivo e un termistore per misurare l'aria circostante e sputa un segnale digitale sul pin dati (non sono necessari pin di ingresso analogico). È abbastanza semplice da usare, ma richiede un'attenta tempistica per acquisire i dati. L'unico vero svantaggio di questo sensore è che puoi ottenere nuovi dati da esso solo una volta ogni 2 secondi
Caratteristiche
Compensazione della temperatura su tutto il range
Misurazione dell'umidità relativa e della temperatura
Segnale digitale calibrato
Eccezionale stabilità a lungo termine
Componenti aggiuntivi non necessari
Lunga distanza di trasmissione
Basso consumo energetico
Processo di comunicazione (singolo filo bidirezionale)
La cosa interessante di questo modulo è il protocollo che usa per trasferire i dati. Tutte le letture del sensore vengono inviate utilizzando un bus a filo singolo che riduce i costi e allunga la distanza. Per inviare dati su un bus devi descrivere il modo in cui i dati verranno trasferiti, in modo che trasmettitore e ricevitore possano capire cosa si dice. Questo è ciò che fa un protocollo. Descrive il modo in cui i dati vengono trasmessi. Su DHT-11 il bus dati a 1 filo è collegato a VCC con un resistore. Quindi, se non si verifica nulla, la tensione sul bus è uguale a VCC. Il formato di comunicazione può essere separato in tre fasi
1) Richiesta
2) Risposta
3) Lettura dei dati
Passaggio 4: introduzione al sistema operativo Mongoose
Mongoose OS è un sistema operativo open source per piccoli sistemi embedded. È progettato per funzionare su dispositivi come i microcontrollori, che sono spesso vincolati da una memoria dell'ordine di decine di kilobyte, mentre espone un'interfaccia di programmazione che fornisce l'accesso alle API moderne normalmente presenti su dispositivi più potenti. Un dispositivo che esegue il sistema operativo Mongoose ha accesso alle funzionalità del sistema operativo come file system e rete, oltre a software di livello superiore come un motore JavaScript e API di accesso al cloud.
Strumento di flashing del sistema operativo Mongoose
Lo strumento di flashing viene utilizzato per eseguire il flashing del sistema operativo Mongoose in ESP8266. Innanzitutto, prendi una delle schede supportate, come ESP8266 NodeMCU, e collegala al tuo computer, quindi segui questi passaggi:
Passare alla pagina Web di download del sistema operativo Mongoose e scaricare lo strumento Mos. (Ma in questo progetto, useremo la versione precedente di Mongoose OS)
Eseguire il file di installazione di Mos (Mongoose OS) e seguire la procedura guidata di installazione:
Passaggio 5: l'installazione guidata della mangusta
Passaggio 6: stato del dispositivo - Online
Dopo aver completato i tre passaggi, riceverai il messaggio indicato di seguito e lo stato del dispositivo diventa online. Ora il nostro modulo ESP8266 è in grado di comunicare con qualsiasi dispositivo remoto
Passaggio 7: provisioning del dispositivo su AWS IOT
Prima di poter inviare eventi ad AWS, dobbiamo essere in grado di stabilire una connessione sicura ad AWS IOT. Per fare ciò, è necessario fornire all'ESP i certificati AWS. Nella procedura guidata di configurazione del sistema operativo Mongoose, scegli il menu Configurazione dispositivo, quindi Scegli la regione AWS appropriata e la policy AWS per il tuo ambiente AWS. Fai clic sul pulsante Fornisci con AWS IOT. Il dispositivo sarà configurato con le informazioni corrette per connettersi al servizio AWS. I certificati verranno installati automaticamente.
Nota:
L'utente può selezionare la regione AWS e la policy AWS appropriate. Nel nostro scenario, abbiamo selezionato la regione AWS come ap-southeast-1 e la policy AWS come mos-default
Dopo il completamento del dispositivo di provisioning su AWS IOT, ora il modulo Wi-Fi esp8266 può essere in grado di comunicare con AWS -IOT
Passaggio 8: caricamento del codice di esempio nella scheda NodeMCU
Dopo aver eseguito l'installazione guidata di Mongoose, se fai clic sul menu dei file del dispositivo, c'è un file chiamato init.js. All'interno di quel file c'è un codice di esempio. Se fai clic sul pulsante Salva + Riavvia, il codice di esempio verrà caricato e il l'output può essere visualizzato dai registri del dispositivo
Passaggio 9: iniziare con l'account AWS
Cos'è AWS?
Amazon Web Services (AWS) è un provider di servizi cloud di Amazon, che fornisce servizi sotto forma di blocchi predefiniti, questi blocchi possono essere utilizzati per creare e distribuire qualsiasi tipo di applicazione nel cloud. Questi servizi o elementi costitutivi sono progettati per funzionare tra loro e danno luogo ad applicazioni sofisticate e altamente scalabili.
Come impostare?
Esistono due modi per configurare i servizi AWS
Utilizzo dell'utilità della riga di comando dell'AWS CLI
Utilizzo della GUI di AWS
Passaggio 10: Utilità della riga di comando dell'AWS CLI (opzionale)
Per prima cosa dobbiamo installare AWS CLI. AWS CLI è uno strumento a riga di comando che fornisce comandi per l'interazione con i servizi AWS. Ti consente di utilizzare la funzionalità fornita dalla Console di gestione AWS dal terminale. Mongoose utilizza questo strumento per eseguire il provisioning del dispositivo IOT su AWS IOT. L'AWS CLI necessita delle tue credenziali per potersi connettere ad AWS. Per configurare esegui aws configure dalla riga di comando e inserisci le tue informazioni di accesso (le tue credenziali). In parole semplici, puoi accedere e gestire Amazon Web Services tramite un'interfaccia utente basata sul Web semplice e intuitiva. Se la tua preoccupazione è accedere ad alcune delle funzionalità utilizzando il telefono cellulare, l'app per dispositivi mobili della Console AWS ti consente di visualizzare rapidamente le risorse in movimento.
Passaggio 11: Amazon Web Services (GUI)
Dopo il provisioning con AWS, possiamo accedere alla console di gestione AWS, nella scheda servizi abbiamo diverse categorie. Prima di iniziare a esplorare le funzionalità di questa console, devi creare un account su AWS. Le persone che non dispongono di un account possono visitare il sito Web AWS e creare un account gratuito. Devi inserire i dettagli della tua carta di credito/debito. AWS non ti addebiterà durante l'abbonamento gratuito a condizione che utilizzi i servizi secondo i limiti specificati.
Passaggio 12: AWS IOT Core
Dopo il login, verrai indirizzato alla pagina seguente e sotto Internet of things seleziona il core IOT
Passaggio 13: AWS IOT - Monitoraggio
Una volta selezionato il core IOT, verrà visualizzata la pagina sopra, quindi selezionare il menu di test
Passaggio 14: AWS IOT - Abbonamenti
Dopo aver selezionato il menu Test verrai indirizzato a Abbonamenti. Nell'argomento abbonamento specifica l'argomento appropriato che stai utilizzando e fai clic sul pulsante Iscriviti all'argomento
Passaggio 15: pubblicazione del messaggio predefinito
Dopodiché verrai indirizzato alla pagina sopra. Se fai clic su Pubblica su argomento, avremo il messaggio di esempio che verrà visualizzato qui per impostazione predefinita
Nota: se si desidera scrivere un nuovo codice e caricarlo nella scheda NodeMCU (il codice che scriviamo dovrebbe essere caricato nel file manager del dispositivo > file init.js, quindi è necessario includere il nome dell'argomento nel codice. Dopo aver incluso il nome dell'argomento, devi utilizzare lo stesso nome dell'argomento nella sezione abbonamenti per poter pubblicare l'output
Passaggio 16: pubblicazione delle informazioni sul pulsante premuto
Passaggio 17: pubblicazione dei valori di temperatura e umidità sulla piattaforma AWS IOT
Passaggio 18: Compito
Collegare il circuito come mostrato di seguito
Flash il sistema operativo mangusta sul modulo ESP8266
Dispositivo di provisioning su AWS IOT
Caricare il codice di programmazione nella scheda NodeMCU
Controllare l'output nei log del dispositivo (vedi figura 9)
Accedi all'account AWS
Selezionare il sottomenu IOT core
Selezionare l'opzione Test dalla sezione client MQTT
Specificare l'argomento appropriato negli abbonamenti
Fare clic sul pulsante Pubblica su argomento
Assicurarsi che ogni volta che si preme il pulsante del flash vengano visualizzati i valori di temperatura e umidità come messaggi
Consigliato:
Un modo estremamente semplice per iniziare con l'automazione domestica utilizzando i moduli fai-da-te: 6 passaggi
Un modo estremamente semplice per iniziare con l'automazione domestica utilizzando i moduli fai-da-te: sono rimasto piacevolmente sorpreso quando ho deciso di provare ad aggiungere alcuni sensori fai-da-te all'assistente domestico. L'utilizzo di ESPHome è estremamente semplice e in questo post impareremo come controllare un pin GPIO e anche ottenere temperatura e amp; dati di umidità da un n
Per iniziare con la fotocamera M5StickV AI + IOT: 6 passaggi (con immagini)
Per iniziare con la fotocamera M5StickV AI + IOT: breve panoramicaLa M5StickV è una minuscola fotocamera AI + IOT delle dimensioni di quasi 2 monete, il prezzo è di circa $ 27,00 che per alcuni potrebbe sembrare costoso per una fotocamera così piccola ma ne contiene alcune specifiche decenti. La fotocamera è alimentata da incredibl
Per iniziare con NodeMCU ESP8266 su Arduino IDE: 6 passaggi
Introduzione con NodeMCU ESP8266 su Arduino IDE: PanoramicaIn questo tutorial imparerai come utilizzare NodeMCU su Arduino IDE. Cosa impareraiInformazioni generali su NodeMCUCome installare schede basate su ESP8266 su Arduino IDECome programmare NodeMCU su Arduino IDEIntroduzione alle schede che possono essere Usato
Come iniziare con IDE per NRF51822, ARM® KEIL MDK V5 + ST-Link: 6 passaggi
Come iniziare con IDE per NRF51822, ARM® KEIL MDK V5 + ST-Link: PanoramicaQuando ho iniziato a sviluppare un'applicazione nRF51822 per il mio progetto hobby, ho scoperto che non c'erano informazioni organizzate su questo argomento. Qui, quindi, vorrei annotare ciò che ho passato. Questo descrive ciò che mi fa fatica a mettere in atto
Semplici trucchi per iniziare con l'elettronica: 6 passaggi
Semplici trucchi per iniziare con l'elettronica: l'entusiasmo per l'elettronica può iniziare con l'accensione di un led con una batteria. In queste istruzioni spiegherò come è possibile creare alcuni strumenti e componenti di test elettronici interessanti da parti facilmente disponibili. Nota che questi strumenti sono f