Sommario:

Per iniziare con Amazon AWS IoT ed ESP8266: 21 passaggi
Per iniziare con Amazon AWS IoT ed ESP8266: 21 passaggi

Video: Per iniziare con Amazon AWS IoT ed ESP8266: 21 passaggi

Video: Per iniziare con Amazon AWS IoT ed ESP8266: 21 passaggi
Video: Home Automation with Amazon AWS IoT Core & ESP32 2024, Luglio
Anonim
Introduzione ad Amazon AWS IoT ed ESP8266
Introduzione ad Amazon AWS IoT ed ESP8266

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

Una scheda NodeMCU basata su ESP8266
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

Schema pin
Schema pin

Passaggio 3: DHT11 - Sensore di umidità e temperatura

DHT11 - Sensore di umidità e temperatura
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

L'installazione guidata della mangusta
L'installazione guidata della mangusta
L'installazione guidata della mangusta
L'installazione guidata della mangusta
L'installazione guidata della mangusta
L'installazione guidata della mangusta

Passaggio 6: stato del dispositivo - Online

Stato del dispositivo - In linea
Stato del dispositivo - In linea

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

Dispositivo di provisioning su AWS IOT
Dispositivo di provisioning 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

Caricamento del codice di esempio nella scheda NodeMCU
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)

Servizi Web Amazon (GUI)
Servizi Web Amazon (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

AWS IOT Core
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

AWS IOT - Monitor
AWS IOT - Monitor

Una volta selezionato il core IOT, verrà visualizzata la pagina sopra, quindi selezionare il menu di test

Passaggio 14: AWS IOT - Abbonamenti

AWS IOT - Abbonamenti
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

Pubblicazione del messaggio predefinito
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

Pubblicazione delle informazioni sul pulsante premuto
Pubblicazione delle informazioni sul pulsante premuto

Passaggio 17: pubblicazione dei valori di temperatura e umidità sulla piattaforma AWS IOT

Pubblica i valori di temperatura e umidità sulla piattaforma AWS IOT
Pubblica i 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: