ENGINNERS ESP8266 Scheda di sviluppo NodeMCU
L'Internet of Things (IoT) è stato un campo di tendenza nel mondo della tecnologia. Ha cambiato il nostro modo di lavorare. Gli oggetti fisici e il mondo digitale sono ora più che mai connessi. Tenendo presente questo, Espressif Systems (una società di semiconduttori con sede a Shanghai) ha rilasciato un adorabile microcontrollore abilitato per Wi-Fi – ESP8266, a un prezzo incredibile! Per meno di $ 3, può monitorare e controllare le cose da qualsiasi parte del mondo, perfetto per qualsiasi progetto IoT.
La scheda di sviluppo equipaggia il modulo ESP-12E contenente il chip ESP8266 con microprocessore RISC Tensilica Xtensa® LX32 a 106 bit che opera a una frequenza di clock regolabile da 80 a 160 MHz e supporta RTOS.
Chip ESP-12E
- Tensilica Xtensa® 32 bit LX106
- Frequenza di clock da 80 a 160 MHz.
- 128kB di RAM interna
- Flash esterno da 4 MB
- Ricetrasmettitore Wi-Fi 802.11b/g/n
C'è anche 128 KB di RAM e 4 MB di memoria Flash (per l'archiviazione di programmi e dati) quanto basta per far fronte alle grandi stringhe che compongono web pagine, dati JSON/XML e tutto ciò che diamo ai dispositivi IoT al giorno d'oggi. L'ESP8266 integra il ricetrasmettitore Wi-Fi 802.11b/g/n HT40, quindi non solo può connettersi a una rete Wi-Fi e interagire con Internet, ma può anche configurare una propria rete, consentendo ad altri dispositivi di connettersi direttamente a esso. Ciò rende l'ESP8266 NodeMCU ancora più versatile.
Requisiti di potenza
Come il voltagLa gamma di ESP8266 va da 3 V a 3.6 V, la scheda viene fornita con un LDO voltage regolatore per mantenere il voltage costante a 3.3 V. Può fornire in modo affidabile fino a 600 mA, che dovrebbe essere più che sufficiente quando ESP8266 assorbe fino a 80 mA durante le trasmissioni RF. Anche l'uscita del regolatore è suddivisa su uno dei lati della scheda ed è etichettata come 3V3. Questo pin può essere utilizzato per fornire alimentazione a componenti esterni.
Requisiti di potenza
- Volume di eserciziotage: da 2.5 V a 3.6 V
- Regolatore di bordo 3.3V 600mA
- Corrente di funzionamento 80 mA
- 20 μA durante la modalità di sospensione
L'alimentazione all'ESP8266 NodeMCU viene fornita tramite il connettore USB MicroB integrato. In alternativa, se si dispone di un regolatore 5V voltagLa fonte, il pin VIN può essere utilizzato per alimentare direttamente l'ESP8266 e le sue periferiche.
Avvertimento: L'ESP8266 richiede un'alimentazione da 3.3 V e livelli logici da 3.3 V per la comunicazione. I pin GPIO non sono tolleranti a 5V! Se vuoi interfacciare la scheda con componenti da 5V (o superiori), dovrai fare un po' di cambio di livello.
Periferiche e I/O
L'ESP8266 NodeMCU ha un totale di 17 pin GPIO suddivisi nelle intestazioni dei pin su entrambi i lati della scheda di sviluppo. Questi pin possono essere assegnati a tutti i tipi di compiti periferici, tra cui:
- Canale ADC – Un canale ADC a 10 bit.
- Interfaccia UART: l'interfaccia UART viene utilizzata per caricare il codice in serie.
- Uscite PWM: pin PWM per la regolazione della luminosità dei LED o il controllo dei motori.
- Interfaccia SPI, I2C e I2S – Interfaccia SPI e I2C per collegare tutti i tipi di sensori e periferiche.
- Interfaccia I2S – Interfaccia I2S se vuoi aggiungere suoni al tuo progetto.
I/O multiplexati
- 1 canali ADC
- 2 interfacce UART
- 4 uscite PWM
- Interfaccia SPI, I2C e I2S
Grazie alla funzione di multiplexing dei pin dell'ESP8266 (più periferiche multiplexate su un singolo pin GPIO). Ciò significa che un singolo pin GPIO può fungere da PWM/UART/SPI.
Interruttori a bordo e indicatore LED
L'ESP8266 NodeMCU è dotato di due pulsanti. Uno contrassegnato come RST situato nell'angolo in alto a sinistra è il pulsante Reset, utilizzato ovviamente per ripristinare il chip ESP8266. L'altro pulsante FLASH nell'angolo in basso a sinistra è il pulsante di download utilizzato durante l'aggiornamento del firmware.
Interruttori e indicatori
- RST – Ripristina il chip ESP8266
- FLASH – Scarica nuovi programmi
- LED blu – Programmabile dall'utente
La scheda ha anche un indicatore LED che è programmabile dall'utente ed è collegato al pin D0 della scheda.
Comunicazione seriale
La scheda include CP2102 USB-to-UART Bridge Controller di Silicon Labs, che converte il segnale USB in seriale e consente al computer di programmare e comunicare con il chip ESP8266.
Comunicazione seriale
- CP2102 Convertitore da USB a UART
- Velocità di comunicazione di 4.5 Mbps
- Supporto per il controllo del flusso
Se sul PC è installata una versione precedente del driver CP2102, si consiglia di eseguire l'aggiornamento ora.
Collegamento per l'aggiornamento del driver CP2102 – https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
Piedinatura del nodo ESP8266 NodeMCU
L'ESP8266 NodeMCU ha un totale di 30 pin che lo interfacciano con il mondo esterno. I collegamenti sono i seguenti:
Per semplicità creeremo gruppi di pin con funzionalità simili.
Perni di alimentazione Ci sono quattro pin di alimentazione vale a dire. un pin VIN e tre pin da 3.3 V. Il pin VIN può essere utilizzato per alimentare direttamente l'ESP8266 e le sue periferiche, se si dispone di un vol 5V regolatotage fonte. I pin da 3.3 V sono l'uscita di un voltage regolatore. Questi pin possono essere utilizzati per fornire alimentazione a componenti esterni.
GND è un pin di massa della scheda di sviluppo NodeMCU ESP8266. I pin I2C vengono utilizzati per collegare tutti i tipi di sensori e periferiche I2C nel tuo progetto. Sono supportati sia I2C Master che I2C Slave. La funzionalità dell'interfaccia I2C può essere realizzata in modo programmatico e la frequenza di clock è di 100 kHz al massimo. Va notato che la frequenza di clock I2C dovrebbe essere superiore alla frequenza di clock più lenta del dispositivo slave.
Pin GPIO ESP8266 NodeMCU ha 17 pin GPIO che possono essere assegnati a varie funzioni come I2C, I2S, UART, PWM, telecomando IR, luce LED e pulsante in modo programmatico. Ciascun GPIO abilitato per il digitale può essere configurato per pull-up o pull-down interni o impostato su un'impedenza elevata. Se configurato come ingresso, può anche essere impostato su edge-trigger o level-trigger per generare interrupt della CPU.
Canale ADC Il NodeMCU è integrato con un ADC SAR di precisione a 10 bit. Le due funzioni possono essere implementate utilizzando ADC vale a dire. Alimentazione di prova voltage del pin VDD3P3 e ingresso di test voltage del pin TOUT. Tuttavia, non possono essere implementati contemporaneamente.
Pin UART ESP8266 NodeMCU ha 2 interfacce UART, ovvero UART0 e UART1, che forniscono comunicazione asincrona (RS232 e RS485) e possono comunicare fino a 4.5 Mbps. UART0 (pin TXD0, RXD0, RST0 e CTS0) può essere utilizzato per la comunicazione. Supporta il controllo dei fluidi. Tuttavia, UART1 (pin TXD1) presenta solo il segnale di trasmissione dati, quindi viene solitamente utilizzato per la stampa del registro.
Pin SPI ESP8266 dispone di due SPI (SPI e HSPI) in modalità slave e master. Questi SPI supportano anche le seguenti funzionalità SPI generiche:
- 4 modalità di temporizzazione del trasferimento del formato SPI
- Fino a 80 MHz e clock divisi di 80 MHz
- FIFO fino a 64 byte
Pin SDIO ESP8266 è dotato di Secure Digital Input/Output Interface (SDIO) che viene utilizzato per interfacciare direttamente le schede SD. Sono supportati SDIO v4 a 25 bit 1.1 MHz e SDIO v4 a 50 bit 2.0 MHz.
Pin PWM La scheda dispone di 4 canali di Pulse Width Modulation (PWM). L'uscita PWM può essere implementata in modo programmatico e utilizzata per pilotare motori digitali e LED. La gamma di frequenza PWM è regolabile da 1000 μs a 10000 μs, ovvero tra 100 Hz e 1 kHz.
Pin di controllo sono usati per controllare l'ESP8266. Questi pin includono il pin Chip Enable (EN), il pin Reset (RST) e il pin WAKE.
- Pin EN – Il chip ESP8266 è abilitato quando il pin EN viene tirato ALTO. Quando tirato BASSO il chip lavora alla minima potenza.
- Pin RST: il pin RST viene utilizzato per ripristinare il chip ESP8266.
- WAKE pin: il pin Wake viene utilizzato per riattivare il chip dal sonno profondo.
Piattaforme di sviluppo ESP8266
Ora, passiamo alle cose interessanti! Ci sono una varietà di piattaforme di sviluppo che possono essere equipaggiate per programmare l'ESP8266. Puoi utilizzare Espruino – SDK JavaScript e firmware che emulano strettamente Node.js, o utilizzare Mongoose OS – Un sistema operativo per dispositivi IoT (piattaforma consigliata da Espressif Systems e Google Cloud IoT) o utilizzare un kit di sviluppo software (SDK) fornito da Espressif o una delle piattaforme elencate su WiKiPedia. Fortunatamente, la straordinaria comunità ESP8266 ha portato la selezione IDE un ulteriore passo avanti creando un componente aggiuntivo Arduino. Se hai appena iniziato a programmare ESP8266, questo è l'ambiente con cui ti consigliamo di iniziare e quello che documenteremo in questo tutorial.
Questo componente aggiuntivo ESP8266 per Arduino si basa sull'incredibile lavoro di Ivan Grokhotkov e del resto della comunità ESP8266. Per ulteriori informazioni, controlla il repository GitHub di Arduino ESP8266.
Installazione di ESP8266 Core su sistema operativo Windows
Procediamo con l'installazione del core Arduino ESP8266. La prima cosa è avere l'ultimo Arduino IDE (Arduino 1.6.4 o successivo) installato sul tuo PC. Se non ce l'hai, ti consigliamo di eseguire l'aggiornamento ora.
Collegamento per Arduino IDE – https://www.arduino.cc/en/software
Per iniziare, dovremo aggiornare il board manager con un'abitudine URL. Apri Arduino IDE e vai a File > Preferenze. Quindi, copia sotto URL nel Gestore del Consiglio Aggiuntivo URLs casella di testo situata nella parte inferiore della finestra: http://arduino.esp8266.com/stable/package_esp8266com_index.json
Premi OK. Quindi vai a Board Manager andando su Strumenti > Boards > Board Manager. Dovrebbero esserci un paio di nuove voci oltre alle schede Arduino standard. Filtra la tua ricerca digitando esp8266. Fare clic su quella voce e selezionare Installa.
Le definizioni e gli strumenti della scheda per ESP8266 includono un set completamente nuovo di gcc, g++ e altri binari compilati ragionevolmente grandi, quindi potrebbero essere necessari alcuni minuti per il download e l'installazione (l'archivio file è ~ 110 MB). Una volta completata l'installazione, accanto alla voce apparirà un piccolo testo INSTALLATO. Ora puoi chiudere il Board Manager
Arduino Esample: Sbattere le palpebre
Per assicurarci che il core Arduino ESP8266 e il NodeMCU siano impostati correttamente, caricheremo lo schizzo più semplice di tutti: The Blink! Utilizzeremo il LED di bordo per questo test. Come accennato in precedenza in questo tutorial, il pin D0 della scheda è collegato al LED blu integrato ed è programmabile dall'utente. Perfetto! Prima di caricare lo schizzo e giocare con i LED, dobbiamo assicurarci che la scheda sia selezionata correttamente nell'IDE di Arduino. Apri Arduino IDE e seleziona l'opzione NodeMCU 0.9 (ESP-12 Module) nel tuo Arduino IDE > Tools > Board menu.
Ora collega il tuo ESP8266 NodeMCU al tuo computer tramite un cavo USB micro-B. Una volta che la scheda è collegata, dovrebbe essere assegnata una porta COM univoca. Su macchine Windows, questo sarà qualcosa come COM#, e su computer Mac/Linux si presenterà sotto forma di /dev/tty.usbserial-XXXXXX. Seleziona questa porta seriale nel menu Arduino IDE > Tools > Port. Seleziona anche la velocità di caricamento: 115200
Avvertimento: È necessario prestare maggiore attenzione alla selezione della scheda, alla scelta della porta COM e alla selezione della velocità di caricamento. Se non riesci a farlo, potresti ricevere l'errore espcomm_upload_mem durante il caricamento di nuovi schizzi.
Una volta che hai finito, prova l'examplo schizzo qui sotto.
impostazione nulla()
{pinMode(D0, OUTPUT);}ciclo vuoto()
{Scrittura digitale(D0, ALTO);
ritardo(500);
digitalWrite(D0, BASSO);
ritardo(500);
Una volta caricato il codice, il LED inizierà a lampeggiare. Potrebbe essere necessario toccare il pulsante RST per far sì che il tuo ESP8266 inizi a eseguire lo schizzo.
Documenti / Risorse
![]() |
ENGINNERS ESP8266 Scheda di sviluppo NodeMCU [pdf] Istruzioni ESP8266 Scheda di sviluppo NodeMCU, ESP8266, Scheda di sviluppo NodeMCU |