Ingenieur

INGENIEURS ESP8266 NodeMCU Ontwikkelingsraad

INGENIEURS-NodeMCU-Ontwikkelingsraad

Die Internet van Dinge (IoT) was 'n gewilde veld in die wêreld van tegnologie. Dit het die manier waarop ons werk verander. Fisiese voorwerpe en die digitale wêreld is nou meer as ooit met mekaar verbind. As u dit in gedagte hou, het Espressif Systems ('n Sjanghai-gebaseerde halfgeleiermaatskappy) 'n pragtige, bytgrootte WiFi-geaktiveerde mikrobeheerder vrygestel - ESP8266, teen 'n ongelooflike prys! Vir minder as $3 kan dit dinge van enige plek in die wêreld monitor en beheer – perfek vir omtrent enige IoT-projek.

Die ontwikkelingsbord rus die ESP-12E-module toe wat ESP8266-skyfie bevat met Tensilica Xtensa® 32-bis LX106 RISC-mikroverwerker wat teen 80 tot 160 MHz verstelbare klokfrekwensie werk en RTOS ondersteun.

ESP-12E-skyfie

  • Tensilica Xtensa® 32-bis LX106
  • 80 tot 160 MHz klok frekw.
  • 128kB interne RAM
  • 4MB eksterne flits
  • 802.11b/g/n Wi-Fi-senderontvangerINGENIEURS-NodeMCU-Ontwikkelingsraad-1

Daar is ook 128 KB RAM en 4 MB Flash-geheue (vir program- en databerging) net genoeg om die groot snare waaruit bestaan, die hoof te bied. web bladsye, JSON/XML-data, en alles wat ons deesdae na IoT-toestelle gooi. Die ESP8266 integreer 802.11b/g/n HT40 Wi-Fi-senderontvanger, sodat dit nie net aan 'n WiFi-netwerk kan koppel en met die internet kan kommunikeer nie, maar dit kan ook 'n netwerk van sy eie opstel, sodat ander toestelle direk kan koppel aan Dit. Dit maak die ESP8266 NodeMCU selfs meer veelsydig.

Kragvereiste

Soos die bedryfsvoltagDie reeks van ESP8266 is 3V tot 3.6V, die bord kom met 'n LDO voltage reguleerder om die voltage bestendig op 3.3V. Dit kan betroubaar tot 600mA lewer, wat meer as genoeg behoort te wees wanneer ESP8266 soveel as 80mA trek tydens RF-uitsendings. Die uitset van die reguleerder word ook na een van die kante van die bord uitgebreek en as 3V3 gemerk. Hierdie pen kan gebruik word om krag aan eksterne komponente te verskaf.

Kragvereiste

  • Bedryfsvoltage: 2.5V tot 3.6V
  • Aan boord 3.3V 600mA reguleerder
  • 80mA bedryfsstroom
  • 20 μA tydens slaapmodusINGENIEURS-NodeMCU-Ontwikkelingsraad-2

Krag na die ESP8266 NodeMCU word voorsien via die aanboord MicroB USB-aansluiting. Alternatiewelik, as jy 'n gereguleerde 5V voltagMet die bron kan die VIN-pen gebruik word om die ESP8266 en sy randapparatuur direk te voorsien.

Waarskuwing: Die ESP8266 benodig 'n 3.3V kragtoevoer en 3.3V logika vlakke vir kommunikasie. Die GPIO-penne is nie 5V-verdraagsaam nie! As jy die bord met 5V (of hoër) komponente wil koppel, sal jy 'n mate van vlakverskuiwing moet doen.

Randapparatuur en I/O

Die ESP8266 NodeMCU het altesaam 17 GPIO-penne wat uitgebreek is na die penkoppe aan beide kante van die ontwikkelingsbord. Hierdie penne kan aan allerhande perifere pligte toegewys word, insluitend:

  • ADC-kanaal – 'n 10-bis ADC-kanaal.
  • UART-koppelvlak – UART-koppelvlak word gebruik om kode serieel te laai.
  • PWM-uitsette – PWM-penne om LED's te verdof of motors te beheer.
  • SPI, I2C & I2S koppelvlak – SPI en I2C koppelvlak om allerhande sensors en randapparatuur aan te koppel.
  • I2S-koppelvlak – I2S-koppelvlak as jy klank by jou projek wil voeg.

Vermenigvuldigde I/O's

  • 1 ADC-kanale
  • 2 UART-koppelvlakke
  • 4 PWM uitsette
  • SPI, I2C en I2S koppelvlakINGENIEURS-NodeMCU-Ontwikkelingsraad-3

Danksy die ESP8266 se pen-multipleksfunksie (veelvuldige randapparatuur gemultipleks op 'n enkele GPIO-pen). Dit beteken dat 'n enkele GPIO-pen as PWM/UART/SPI kan optree.

Aan boord skakelaars en LED-aanwyser

Die ESP8266 NodeMCU beskik oor twee knoppies. Een gemerk as RST geleë in die boonste linkerhoek is die Reset-knoppie, wat natuurlik gebruik word om die ESP8266-skyfie terug te stel. Die ander FLASH-knoppie in die onderste linkerhoek is die aflaai-knoppie wat gebruik word tydens die opgradering van firmware.

Skakelaars en aanwysers

  • RST – Stel die ESP8266-skyfie terug
  • FLASH – Laai nuwe programme af
  • Blou LED – Gebruiker programmeerbaarINGENIEURS-NodeMCU-Ontwikkelingsraad-4

Die bord het ook 'n LED-aanwyser wat deur die gebruiker programmeerbaar is en aan die D0-pen van die bord gekoppel is.

Seriële kommunikasie

Die bord bevat CP2102 USB-na-UART-brugbeheerder van Silicon Labs, wat USB-sein na serie omskakel en jou rekenaar toelaat om te programmeer en met die ESP8266-skyfie te kommunikeer.

Seriële kommunikasie

  • CP2102 USB-na-UART-omskakelaar
  • 4.5 Mbps kommunikasie spoed
  • VloeibeheerondersteuningINGENIEURS-NodeMCU-Ontwikkelingsraad-5

As jy 'n ouer weergawe van CP2102-bestuurder op jou rekenaar geïnstalleer het, beveel ons aan dat jy nou opgradeer.
Skakel vir die opgradering van CP2102-bestuurder – https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

ESP8266 NodeMCU Pinout

Die ESP8266 NodeMCU het altesaam 30 penne wat dit met die buitewêreld koppel. Die verbindings is soos volg:INGENIEURS-NodeMCU-Ontwikkelingsraad-6

Ter wille van eenvoud sal ons groepe penne met soortgelyke funksies maak.

Kragpenne Daar is vier kragpenne nl. een VIN-pen en drie 3.3V-penne. Die VIN-pen kan gebruik word om die ESP8266 en sy randapparatuur direk te voorsien, as jy 'n gereguleerde 5V vol hettage bron. Die 3.3V penne is die uitset van 'n aan boord voltage reguleerder. Hierdie penne kan gebruik word om krag aan eksterne komponente te verskaf.

GND is 'n grondpen van ESP8266 NodeMCU-ontwikkelingsbord. I2C-penne word gebruik om allerhande I2C-sensors en randapparatuur in jou projek aan te sluit. Beide I2C Master en I2C Slave word ondersteun. I2C-koppelvlakfunksionaliteit kan programmaties gerealiseer word, en die klokfrekwensie is hoogstens 100 kHz. Daar moet kennis geneem word dat die I2C-klokfrekwensie hoër moet wees as die stadigste klokfrekwensie van die slaaftoestel.

GPIO-penne ESP8266 NodeMCU het 17 GPIO-penne wat programmaties aan verskeie funksies soos I2C, I2S, UART, PWM, IR-afstandbeheer, LED-lig en -knoppie toegewys kan word. Elke digitale geaktiveerde GPIO kan gekonfigureer word vir interne optrek of aftrek, of op hoë impedansie gestel word. Wanneer dit as 'n inset gekonfigureer is, kan dit ook op rand-sneller of vlak-sneller gestel word om SVE-onderbrekings te genereer.

ADC-kanaal Die NodeMCU is ingebed met 'n 10-bis presisie SAR ADC. Die twee funksies kan geïmplementeer word deur gebruik te maak van ADC nl. Toets kragtoevoer voltage van VDD3P3 pen en toetsingang voltage van TOUT pen. Hulle kan egter nie terselfdertyd geïmplementeer word nie.

UART-spelde ESP8266 NodeMCU het 2 UART-koppelvlakke, dws UART0 en UART1, wat asinchrone kommunikasie (RS232 en RS485) verskaf en teen tot 4.5 Mbps kan kommunikeer. UART0 (TXD0, RXD0, RST0 & CTS0 penne) kan vir kommunikasie gebruik word. Dit ondersteun vloeistofbeheer. UART1 (TXD1-pen) het egter slegs data-oordragsein, dus word dit gewoonlik gebruik vir die druk van logboeke.

SPI-penne ESP8266 beskik oor twee SPI's (SPI en HSPI) in slaaf- en meestermodusse. Hierdie SPI's ondersteun ook die volgende algemene-doel SPI-kenmerke:

  • 4 tydsberekeningmodusse van die SPI-formaatoordrag
  • Tot 80 MHz en die verdeelde horlosies van 80 MHz
  • Tot 64-grepe EIEU

SDIO-penne ESP8266 beskik oor Secure Digital Input/Output Interface (SDIO) wat gebruik word om SD-kaarte direk te koppel. 4-bis 25 MHz SDIO v1.1 en 4-bis 50 MHz SDIO v2.0 word ondersteun.

PWM-penne Die bord het 4 kanale van Pulse Width Modulation (PWM). Die PWM-uitset kan programmaties geïmplementeer word en gebruik word vir die aandryf van digitale motors en LED's. PWM-frekwensiereeks is verstelbaar van 1000 μs tot 10000 μs, dit wil sê tussen 100 Hz en 1 kHz.

Beheerspelde word gebruik om ESP8266 te beheer. Hierdie penne sluit Chip Enable pen (EN), Reset pen (RST) en WAKE pen in.

  • EN-pen – Die ESP8266-skyfie is geaktiveer wanneer EN-pen HOOG getrek word. Wanneer LAAG getrek word, werk die skyfie teen minimum krag.
  • RST-pen – RST-pen word gebruik om die ESP8266-skyfie terug te stel.
  • WAKE-pen – Wake-pen word gebruik om die skyfie uit diepe slaap wakker te maak.

ESP8266 Ontwikkelingsplatforms

Kom ons gaan nou aan na die interessante dinge! Daar is 'n verskeidenheid ontwikkelingsplatforms wat toegerus kan word om die ESP8266 te programmeer. Jy kan gebruik maak van Espruino – JavaScript SDK en firmware wat Node.js noukeurig naboots, of Mongoose OS gebruik – 'n Bedryfstelsel vir IoT-toestelle (aanbeveel platform deur Espressif Systems en Google Cloud IoT) of 'n sagteware-ontwikkelingskit (SDK) gebruik wat deur Espressif verskaf word of een van die platforms wat op WikiPedia gelys is. Gelukkig het die wonderlike ESP8266-gemeenskap die IDE-keuse 'n stap verder geneem deur 'n Arduino-byvoeging te skep. As jy net begin om die ESP8266 te programmeer, is dit die omgewing wat ons aanbeveel om mee te begin, en die een wat ons in hierdie tutoriaal sal dokumenteer.
Hierdie ESP8266-byvoeging vir Arduino is gebaseer op die wonderlike werk deur Ivan Grokhotkov en die res van die ESP8266-gemeenskap. Kyk na die ESP8266 Arduino GitHub-bewaarplek vir meer inligting.

Installeer die ESP8266 Core op Windows OS

Kom ons gaan voort met die installering van ESP8266 Arduino-kern. Die eerste ding is om die nuutste Arduino IDE (Arduino 1.6.4 of hoër) op jou rekenaar te installeer. As jy dit nie het nie, beveel ons aan dat jy nou opgradeer.
Skakel vir Arduino IDE – https://www.arduino.cc/en/software
Om te begin, sal ons die direksiebestuurder moet opdateer met 'n pasgemaakte URL. Maak Arduino IDE oop en gaan na File > Voorkeure. Kopieer dan hieronder URL in die Addisionele Raadsbestuurder URLse tekskassie aan die onderkant van die venster: http://arduino.esp8266.com/stable/package_esp8266com_index.jsonINGENIEURS-NodeMCU-Ontwikkelingsraad-7

Druk OK. Gaan dan na die Raadsbestuurder deur na Tools > Boards > Boards Manager te gaan. Daar behoort 'n paar nuwe inskrywings bykomend tot die standaard Arduino-borde te wees. Filtreer jou soektog deur esp8266 te tik. Klik op daardie inskrywing en kies Installeer.INGENIEURS-NodeMCU-Ontwikkelingsraad-8

Die borddefinisies en gereedskap vir die ESP8266 bevat 'n hele nuwe stel gcc, g++ en ander redelik groot, saamgestelde binaries, so dit kan 'n paar minute neem om af te laai en te installeer (die argief file is ~110MB). Sodra die installasie voltooi is, sal 'n klein GEINSTALLEERDE teks langs die inskrywing verskyn. Jy kan nou die Raadsbestuurder sluit

Arduino Example: Blink

Om seker te maak dat ESP8266 Arduino-kern en die NodeMCU behoorlik opgestel is, sal ons die eenvoudigste skets van almal oplaai – The Blink! Ons sal die aanboord-LED vir hierdie toets gebruik. Soos vroeër in hierdie tutoriaal genoem, is D0-pen van die bord gekoppel aan die blou LED aan boord en is dit deur die gebruiker programmeerbaar. Perfek! Voordat ons begin om sketse op te laai en met LED te speel, moet ons seker maak dat die bord behoorlik gekies is in Arduino IDE. Maak Arduino IDE oop en kies NodeMCU 0.9 (ESP-12 Module) opsie onder jou Arduino IDE > Tools > Board-kieslys.INGENIEURS-NodeMCU-Ontwikkelingsraad-9

Sluit nou jou ESP8266 NodeMCU aan by jou rekenaar via mikro-B USB-kabel. Sodra die bord ingeprop is, moet 'n unieke COM-poort daaraan toegeken word. Op Windows-masjiene sal dit iets soos COM# wees, en op Mac/Linux-rekenaars sal dit in die vorm van /dev/tty.usbserial-XXXXXX kom. Kies hierdie seriële poort onder die Arduino IDE> Tools> Port-kieslys. Kies ook die oplaaispoed: 115200INGENIEURS-NodeMCU-Ontwikkelingsraad-10

Waarskuwing: Meer aandag moet gegee word aan die keuse van bord, die keuse van COM-poort en die kies van oplaaispoed. Jy kan dalk espcomm_upload_mem-fout kry terwyl jy nuwe sketse oplaai, as jy dit nie doen nie.

Sodra jy klaar is, probeer die exampdie skets hieronder.

nietige opstelling()
{pinMode(D0, UITVOER);}leeg lus()
{digitalWrite(D0, HIGH);
vertraging(500);
digitaleSkryf(D0, LAAG);
vertraging(500);
Sodra die kode opgelaai is, sal LED begin flikker. Jy sal dalk die RST-knoppie moet tik om jou ESP8266 te kry om die skets te begin uitvoer.INGENIEURS-NodeMCU-Ontwikkelingsraad-11

Dokumente / Hulpbronne

INGENIEURS ESP8266 NodeMCU Ontwikkelingsraad [pdf] Instruksies
ESP8266 NodeMCU Development Board, ESP8266, NodeMCU Development Board

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *