INGENIEURS ESP8266 NodeMCU-ontwikkelingsbord
Het Internet of Things (IoT) is een trending veld in de wereld van technologie. Het heeft de manier waarop we werken veranderd. Fysieke objecten en de digitale wereld zijn nu meer dan ooit met elkaar verbonden. Met dit in gedachten heeft Espressif Systems (A in Shanghai gevestigde Semiconductor Company) een schattige, hapklare wifi-enabled microcontroller uitgebracht - ESP8266, voor een ongelooflijke prijs! Voor minder dan $ 3 kan het dingen overal ter wereld bewaken en besturen - perfect voor zowat elk IoT-project.
Het ontwikkelbord rust de ESP-12E-module met ESP8266-chip uit met een Tensilica Xtensa® 32-bit LX106 RISC-microprocessor die werkt op een instelbare klokfrequentie van 80 tot 160 MHz en RTOS ondersteunt.
ESP-12E-chip
- Tensilica Xtensa® 32-bits LX106
- 80 tot 160 MHz Klokfreq.
- 128 kB intern RAM-geheugen
- 4 MB externe flitser
- 802.11b/g/n wifi-transceiver
Er is ook 128 KB RAM en 4 MB Flash-geheugen (voor programma- en gegevensopslag) net genoeg om de grote reeksen waaruit web pagina's, JSON/XML-gegevens en alles wat we tegenwoordig naar IoT-apparaten gooien. De ESP8266 integreert 802.11b/g/n HT40 wifi-transceiver, zodat hij niet alleen verbinding kan maken met een wifi-netwerk en interactie met internet, maar hij kan ook een eigen netwerk opzetten, waardoor andere apparaten rechtstreeks verbinding kunnen maken met het. Dit maakt de ESP8266 NodeMCU nog veelzijdiger.
Vermogensvereiste
Als de operationele voltagHet bereik van ESP8266 is 3V tot 3.6V, het bord wordt geleverd met een LDO-voltagde regelaar om de vol . te houdentage stabiel op 3.3 V. Het kan op betrouwbare wijze tot 600 mA leveren, wat meer dan genoeg zou moeten zijn wanneer ESP8266 maar liefst 80 mA trekt tijdens RF-transmissies. De uitgang van de regelaar is ook uitgebroken naar een van de zijkanten van het bord en gelabeld als 3V3. Deze pin kan worden gebruikt om externe componenten van stroom te voorzien.
Vermogensvereiste
- Bedrijfsvolumetage: 2.5V tot 3.6V
- Aan boord 3.3V 600mA regelaar
- 80mA bedrijfsstroom
- 20 μA tijdens slaapmodus
De stroom naar de ESP8266 NodeMCU wordt geleverd via de ingebouwde MicroB USB-connector. Als alternatief, als u een gereguleerde 5V voltagAls bron kan de VIN-pin worden gebruikt om de ESP8266 en zijn randapparatuur rechtstreeks te voeden.
Waarschuwing: De ESP8266 vereist een voeding van 3.3 V en logische niveaus van 3.3 V voor communicatie. De GPIO-pinnen zijn niet 5V-tolerant! Als je het bord wilt koppelen met componenten van 5V (of hoger), moet je wat niveauverschuivingen doen.
Randapparatuur en I/O
De ESP8266 NodeMCU heeft in totaal 17 GPIO-pinnen die zijn uitgebroken in de pin-headers aan beide zijden van het ontwikkelbord. Deze pinnen kunnen worden toegewezen aan allerlei randtaken, waaronder:
- ADC-kanaal – Een 10-bit ADC-kanaal.
- UART-interface - UART-interface wordt gebruikt om code serieel te laden.
- PWM-uitgangen - PWM-pinnen voor het dimmen van LED's of het aansturen van motoren.
- SPI, I2C & I2S interface – SPI en I2C interface om allerlei sensoren en randapparatuur aan te sluiten.
- I2S-interface – I2S-interface als u geluid aan uw project wilt toevoegen.
Multiplex I/O's
- 1 ADC-kanalen
- 2 UART-interfaces
- 4 PWM-uitgangen
- SPI, I2C & I2S-interface
Dankzij de pin-multiplexfunctie van de ESP8266 (meerdere randapparatuur gemultiplext op een enkele GPIO-pin). Dit betekent dat een enkele GPIO-pin kan fungeren als PWM/UART/SPI.
Ingebouwde schakelaars & LED-indicator
De ESP8266 NodeMCU heeft twee knoppen. Een gemarkeerd als RST in de linkerbovenhoek is de Reset-knop, die natuurlijk wordt gebruikt om de ESP8266-chip te resetten. De andere FLASH-knop in de linkerbenedenhoek is de downloadknop die wordt gebruikt tijdens het upgraden van de firmware.
Schakelaars & Indicatoren
- RST – Reset de ESP8266-chip
- FLASH – Nieuwe programma's downloaden
- Blauwe LED – Programmeerbaar door de gebruiker
Het bord heeft ook een LED-indicator die door de gebruiker kan worden geprogrammeerd en is verbonden met de D0-pin van het bord.
Seriële communicatie
Het bord bevat de CP2102 USB-naar-UART Bridge Controller van Silicon Labs, die het USB-signaal omzet in serieel en uw computer in staat stelt om te programmeren en te communiceren met de ESP8266-chip.
Seriële communicatie
- CP2102 USB-naar-UART-converter
- 4.5 Mbps communicatiesnelheid
- Ondersteuning voor stroomregeling
Als u een oudere versie van het CP2102-stuurprogramma op uw pc hebt geïnstalleerd, raden we u aan nu te upgraden.
Link voor het upgraden van CP2102 Driver – https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
ESP8266 NodeMCU-pinout
De ESP8266 NodeMCU heeft in totaal 30 pinnen die hem verbinden met de buitenwereld. De aansluitingen zijn als volgt:
Voor de eenvoud zullen we groepen pinnen maken met vergelijkbare functionaliteiten.
Stroompinnen Er zijn vier stroompinnen nl. één VIN-pin en drie 3.3V-pinnen. De VIN-pin kan worden gebruikt om de ESP8266 en zijn randapparatuur rechtstreeks te voeden, als u een gereguleerde 5V-vol heefttage bron. De 3.3V pinnen zijn de output van een on-board voltage regelaar. Deze pinnen kunnen worden gebruikt om externe componenten van stroom te voorzien.
GND is een aardingspin van ESP8266 NodeMCU-ontwikkelbord. I2C-pinnen worden gebruikt om allerlei I2C-sensoren en randapparatuur in uw project aan te sluiten. Zowel I2C Master als I2C Slave worden ondersteund. I2C-interfacefunctionaliteit kan programmatisch worden gerealiseerd en de klokfrequentie is maximaal 100 kHz. Opgemerkt moet worden dat de I2C-klokfrequentie hoger moet zijn dan de langzaamste klokfrequentie van het slave-apparaat.
GPIO-pinnen ESP8266 NodeMCU heeft 17 GPIO-pinnen die programmatisch kunnen worden toegewezen aan verschillende functies, zoals I2C, I2S, UART, PWM, IR-afstandsbediening, LED-licht en knop. Elke digitaal geactiveerde GPIO kan worden geconfigureerd voor interne pull-up of pull-down, of worden ingesteld op hoge impedantie. Indien geconfigureerd als een ingang, kan deze ook worden ingesteld op edge-trigger of level-trigger om CPU-interrupts te genereren.
ADC-kanaal De NodeMCU is ingebed met een 10-bits precisie SAR ADC. De twee functies kunnen worden geïmplementeerd met behulp van ADC, namelijk. Test voeding voltage van VDD3P3-pin en testingang voltage van TOUT-pin. Ze kunnen echter niet tegelijkertijd worden uitgevoerd.
UART-pinnen ESP8266 NodeMCU heeft 2 UART-interfaces, namelijk UART0 en UART1, die asynchrone communicatie bieden (RS232 en RS485), en kunnen communiceren tot 4.5 Mbps. UART0 (TXD0, RXD0, RST0 & CTS0 pinnen) kunnen worden gebruikt voor communicatie. Het ondersteunt vloeistofcontrole. UART1 (TXD1-pin) heeft echter alleen een gegevensoverdrachtssignaal, dus het wordt meestal gebruikt voor het afdrukken van logboeken.
SPI-pinnen ESP8266 heeft twee SPI's (SPI en HSPI) in slave- en mastermodus. Deze SPI's ondersteunen ook de volgende algemene SPI-functies:
- 4 timingmodi van de overdracht van het SPI-formaat
- Tot 80 MHz en de verdeelde klokken van 80 MHz
- Tot 64-Byte FIFO
SDIO-pinnen ESP8266 beschikt over Secure Digital Input/Output Interface (SDIO) die wordt gebruikt om SD-kaarten rechtstreeks te koppelen. 4-bit 25 MHz SDIO v1.1 en 4-bit 50 MHz SDIO v2.0 worden ondersteund.
PWM-pinnen Het bord heeft 4 kanalen van Pulse Width Modulation (PWM). De PWM-uitgang kan programmatisch worden geïmplementeerd en worden gebruikt voor het aansturen van digitale motoren en LED's. Het PWM-frequentiebereik is instelbaar van 1000 s tot 10000 μs, dwz tussen 100 Hz en 1 kHz.
Controle pinnen worden gebruikt om ESP8266 te bedienen. Deze pinnen omvatten Chip Enable-pin (EN), Reset-pin (RST) en WAKE-pin.
- EN-pin – De ESP8266-chip wordt ingeschakeld wanneer de EN-pin HOOG wordt getrokken. Als hij LAAG wordt getrokken, werkt de chip op minimaal vermogen.
- RST-pin – RST-pin wordt gebruikt om de ESP8266-chip te resetten.
- WAKE-pin - Wake-pin wordt gebruikt om de chip uit de diepe slaap te halen.
ESP8266-ontwikkelingsplatforms
Laten we nu verder gaan met de interessante dingen! Er zijn verschillende ontwikkelplatforms die kunnen worden uitgerust om de ESP8266 te programmeren. Je kunt gaan met Espruino - JavaScript SDK en firmware die Node.js nauw emuleert, of Mongoose OS gebruiken - een besturingssysteem voor IoT-apparaten (aanbevolen platform door Espressif Systems en Google Cloud IoT) of een software development kit (SDK) gebruiken die wordt geleverd door Espressif of een van de platforms vermeld op WiKiPedia. Gelukkig ging de geweldige ESP8266-community nog een stap verder in de IDE-selectie door een Arduino-add-on te maken. Als je net begint met het programmeren van de ESP8266, raden we je aan om met deze omgeving te beginnen, en die zullen we in deze tutorial documenteren.
Deze ESP8266-add-on voor Arduino is gebaseerd op het geweldige werk van Ivan Grokhotkov en de rest van de ESP8266-gemeenschap. Bekijk de ESP8266 Arduino GitHub-repository voor meer informatie.
De ESP8266 Core installeren op Windows OS
Laten we doorgaan met het installeren van de Arduino-kern ESP8266. Het eerste is dat de nieuwste Arduino IDE (Arduino 1.6.4 of hoger) op uw pc is geïnstalleerd. Als je het niet hebt, raden we je aan nu te upgraden.
Link voor Arduino IDE – https://www.arduino.cc/en/software
Om te beginnen moeten we de boardmanager updaten met een custom URL. Open Arduino IDE en ga naar File > Voorkeuren. Kopieer dan hieronder URL in de Extra Board Manager URLs tekstvak aan de onderkant van het venster: http://arduino.esp8266.com/stable/package_esp8266com_index.json
Druk op OK. Navigeer vervolgens naar de Board Manager door naar Tools > Boards > Boards Manager te gaan. Er zouden een paar nieuwe items moeten zijn naast de standaard Arduino-boards. Filter uw zoekopdracht door esp8266 te typen. Klik op dat item en selecteer Installeren.
De borddefinities en tools voor de ESP8266 bevatten een hele nieuwe set gcc, g++ en andere redelijk grote, gecompileerde binaries, dus het kan een paar minuten duren om te downloaden en te installeren (de gearchiveerde file is ~110 MB). Zodra de installatie is voltooid, verschijnt er een kleine GENSTALLEERDE tekst naast het item. U kunt de Board Manager nu sluiten
Arduino bijvample: Knipperen
Om ervoor te zorgen dat ESP8266 Arduino-kern en de NodeMCU correct zijn ingesteld, uploaden we de eenvoudigste schets van allemaal - The Blink! Voor deze test gebruiken we de on-board LED. Zoals eerder in deze tutorial vermeld, is de D0-pin van het bord verbonden met de ingebouwde blauwe LED en kan deze door de gebruiker worden geprogrammeerd. Perfect! Voordat we schetsen en spelen met LED gaan uploaden, moeten we ervoor zorgen dat het bord correct is geselecteerd in Arduino IDE. Open Arduino IDE en selecteer NodeMCU 0.9 (ESP-12 Module) optie onder je Arduino IDE > Tools > Board menu.
Sluit nu uw ESP8266 NodeMCU aan op uw computer via een micro-B USB-kabel. Zodra het bord is aangesloten, moet het een unieke COM-poort krijgen. Op Windows-machines zal dit zoiets zijn als COM#, en op Mac/Linux-computers zal het komen in de vorm van /dev/tty.usbserial-XXXXXX. Selecteer deze seriële poort onder het menu Arduino IDE > Tools > Port. Selecteer ook de uploadsnelheid: 115200
Waarschuwing: Er moet meer aandacht worden besteed aan het selecteren van het bord, het kiezen van de COM-poort en het selecteren van uploadsnelheid. U kunt een espcomm_upload_mem-fout krijgen tijdens het uploaden van nieuwe schetsen, als u dit niet doet.
Als je klaar bent, probeer dan de exampde onderstaande schets.
lege setup()
{pinMode(D0, OUTPUT);}ongeldige lus()
{digitalWrite(D0, HOOG);
vertraging(500);
digitalWrite(D0, LAAG);
vertraging(500);
Zodra de code is geüpload, begint de LED te knipperen. Mogelijk moet u op de RST-knop tikken om uw ESP8266 te laten beginnen met het uitvoeren van de schets.
Documenten / Bronnen
![]() |
INGENIEURS ESP8266 NodeMCU-ontwikkelingsbord [pdf] Instructies ESP8266 NodeMCU-ontwikkelbord, ESP8266, NodeMCU-ontwikkelbord |