Inženir

INŽENIRJI ESP8266 NodeMCU razvojna plošča

INŽENIRJI-NodeMCU-Razvojna-plošča

Internet stvari (IoT) je trendovsko področje v svetu tehnologije. Spremenil je način našega dela. Fizični objekti in digitalni svet sta zdaj povezana bolj kot kdaj koli prej. Ob upoštevanju tega je Espressif Systems (Šanghajsko podjetje Semiconductor Company) izdalo prikupen mikrokrmilnik z omogočenim WiFi-jem v velikosti grižljaja – ESP8266, po neverjetni ceni! Za manj kot 3 USD lahko spremlja in nadzoruje stvari od koder koli na svetu – kot nalašč za skoraj vsak IoT projekt.

Razvojna plošča je opremljena z modulom ESP-12E, ki vsebuje čip ESP8266 z 32-bitnim RISC mikroprocesorjem Tensilica Xtensa® LX106, ki deluje pri 80 do 160 MHz nastavljivi taktni frekvenci in podpira RTOS.

Čip ESP-12E

  • Tensilica Xtensa® 32-bit LX106
  • 80 do 160 MHz taktna frekvenca
  • 128 kB notranjega RAM-a
  • 4 MB zunanje bliskavice
  • 802.11b/g/n oddajnik-sprejemnik Wi-FiINŽENIRJI-NodeMCU-Razvojna-plošča-1

Na voljo je tudi 128 KB RAM-a in 4 MB bliskovnega pomnilnika (za shranjevanje programov in podatkov), kar je ravno dovolj za obvladovanje velikih nizov, ki sestavljajo web strani, podatki JSON/XML in vse, kar dandanes dodajamo napravam IoT. ESP8266 vključuje oddajnik-sprejemnik 802.11b/g/n HT40 Wi-Fi, tako da se ne more samo povezati z omrežjem WiFi in komunicirati z internetom, ampak lahko tudi vzpostavi lastno omrežje, ki drugim napravam omogoča neposredno povezavo z to. Zaradi tega je ESP8266 NodeMCU še bolj vsestranski.

Zahteva po moči

Kot operativni voltagRazpon ESP8266 je od 3 V do 3.6 V, plošča ima LDO voltage regulator za ohranjanje voltage stalno pri 3.3 V. Zanesljivo lahko napaja do 600 mA, kar bi moralo biti več kot dovolj, ko ESP8266 potegne kar 80 mA med RF prenosi. Izhod regulatorja je prav tako razdeljen na eno od strani plošče in označen kot 3V3. Ta zatič se lahko uporablja za napajanje zunanjih komponent.

Zahteva po moči

  • Delovna zvezatage: 2.5 V do 3.6 V
  • Vgrajen regulator 3.3 V 600 mA
  • 80mA delovni tok
  • 20 μA med načinom mirovanjaINŽENIRJI-NodeMCU-Razvojna-plošča-2

Napajanje ESP8266 NodeMCU se napaja prek vgrajenega priključka MicroB USB. Druga možnost je, če imate reguliran 5V voltagV viru se lahko zatič VIN uporabi za neposredno napajanje ESP8266 in njegovih zunanjih naprav.

Opozorilo: ESP8266 potrebuje 3.3 V napajanje in 3.3 V logične ravni za komunikacijo. Zatiči GPIO niso tolerantni na 5 V! Če želite ploščo povezati s 5V (ali višjimi) komponentami, boste morali nekaj spremeniti.

Zunanje naprave in V/I

ESP8266 NodeMCU ima skupno 17 zatičev GPIO, ki so razdeljeni na glave zatičev na obeh straneh razvojne plošče. Te zatiče je mogoče dodeliti vsem vrstam perifernih nalog, vključno z:

  • Kanal ADC – 10-bitni kanal ADC.
  • Vmesnik UART – vmesnik UART se uporablja za zaporedno nalaganje kode.
  • PWM izhodi – PWM zatiči za zatemnitev LED ali krmiljenje motorjev.
  • Vmesnik SPI, I2C & I2S – vmesnik SPI in I2C za priklop vseh vrst senzorjev in zunanjih naprav.
  • Vmesnik I2S – vmesnik I2S, če želite svojemu projektu dodati zvok.

Multipleksirani V/I

  • 1 ADC kanali
  • 2 UART vmesnika
  • 4 PWM izhodi
  • SPI, I2C & I2S vmesnikINŽENIRJI-NodeMCU-Razvojna-plošča-3

Zahvaljujoč funkciji multipleksiranja pinov ESP8266 (več perifernih naprav je multipleksiranih na en pin GPIO). To pomeni, da lahko en sam GPIO pin deluje kot PWM/UART/SPI.

Vgrajena stikala in LED indikator

ESP8266 NodeMCU ima dva gumba. Eden, označen kot RST, ki se nahaja v zgornjem levem kotu, je gumb za ponastavitev, ki se seveda uporablja za ponastavitev čipa ESP8266. Drugi gumb FLASH v spodnjem levem kotu je gumb za prenos, ki se uporablja med nadgradnjo vdelane programske opreme.

Stikala in indikatorji

  • RST – Ponastavite čip ESP8266
  • FLASH – Prenesite nove programe
  • Modra LED – nastavljiv uporabnikINŽENIRJI-NodeMCU-Razvojna-plošča-4

Plošča ima tudi LED indikator, ki ga lahko programira uporabnik in je povezan s priključkom D0 na plošči.

Serijska komunikacija

Plošča vključuje CP2102 USB-to-UART Bridge Controller iz Silicon Labs, ki pretvori signal USB v serijski in omogoča vašemu računalniku programiranje in komunikacijo s čipom ESP8266.

Serijska komunikacija

  • Pretvornik CP2102 USB-UART
  • Komunikacijska hitrost 4.5 Mbps
  • Podpora za nadzor pretokaINŽENIRJI-NodeMCU-Razvojna-plošča-5

Če imate v računalniku nameščeno starejšo različico gonilnika CP2102, priporočamo, da nadgradite zdaj.
Povezava za nadgradnjo gonilnika CP2102 – https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

Pinout ESP8266 NodeMCU

ESP8266 NodeMCU ima skupno 30 zatičev, ki ga povezujejo z zunanjim svetom. Povezave so naslednje:INŽENIRJI-NodeMCU-Razvojna-plošča-6

Zaradi enostavnosti bomo izdelali skupine žebljičkov s podobnimi funkcionalnostmi.

Power Pins Obstajajo štirje napajalni zatiči, tj. en zatič VIN in trije zatiči 3.3 V. Zatič VIN lahko uporabite za neposredno napajanje ESP8266 in njegovih zunanjih naprav, če imate regulirano napetost 5 Vtage vir. Zatiči 3.3 V so izhod vgrajene voltage regulator. Ti zatiči se lahko uporabljajo za napajanje zunanjih komponent.

GND je ozemljitveni zatič razvojne plošče ESP8266 NodeMCU. Zatiči I2C se uporabljajo za priključitev vseh vrst I2C senzorjev in perifernih naprav v vaš projekt. Podprta sta oba I2C Master in I2C Slave. Funkcionalnost vmesnika I2C je mogoče realizirati programsko, urna frekvenca pa je največ 100 kHz. Upoštevati je treba, da mora biti taktna frekvenca I2C višja od najpočasnejše taktne frekvence podrejene naprave.

Zatiči GPIO ESP8266 NodeMCU ima 17 GPIO pinov, ki jih je mogoče programsko dodeliti različnim funkcijam, kot so I2C, I2S, UART, PWM, IR daljinski upravljalnik, LED lučka in gumb. Vsak digitalno omogočen GPIO je mogoče konfigurirati za notranji pull-up ali pull-down ali nastaviti na visoko impedanco. Ko je konfiguriran kot vhod, ga je mogoče nastaviti tudi na proženje roba ali sprožitev nivoja za generiranje prekinitev procesorja.

kanal ADC NodeMCU je vdelan z 10-bitnim natančnim SAR ADC. Dve funkciji je mogoče izvesti z uporabo ADC, tj. Testiranje napajalnika voltage nožice VDD3P3 in voltage od zatiča TOUT. Vendar jih ni mogoče izvajati hkrati.

Zatiči UART ESP8266 NodeMCU ima 2 UART vmesnika, to sta UART0 in UART1, ki omogočata asinhrono komunikacijo (RS232 in RS485), in lahko komunicirata do 4.5 Mbps. UART0 (zatiči TXD0, RXD0, RST0 in CTS0) se lahko uporabljajo za komunikacijo. Podpira nadzor tekočine. Vendar UART1 (pin TXD1) vsebuje samo signal za prenos podatkov, zato se običajno uporablja za tiskanje dnevnika.

SPI zatiči ESP8266 ima dva SPI-ja (SPI in HSPI) v podrejenem in glavnem načinu. Ti SPI podpirajo tudi naslednje splošne funkcije SPI:

  • 4 časovni načini prenosa formata SPI
  • Do 80 MHz in deljene ure 80 MHz
  • Do 64-bajtnega FIFO

SDIO zatiči ESP8266 ima vmesnik Secure Digital Input/Output Interface (SDIO), ki se uporablja za neposredno povezovanje kartic SD. Podprta sta 4-bitni 25 MHz SDIO v1.1 in 4-bitni 50 MHz SDIO v2.0.

PWM zatiči Plošča ima 4 kanale pulzno širinske modulacije (PWM). Izhod PWM je mogoče implementirati programsko in uporabiti za pogon digitalnih motorjev in LED. Frekvenčno območje PWM je nastavljivo od 1000 μs do 10000 μs, torej med 100 Hz in 1 kHz.

Kontrolni zatiči se uporabljajo za nadzor ESP8266. Ti zatiči vključujejo zatič za omogočanje čipa (EN), zatič za ponastavitev (RST) in zatič WAKE.

  • Zatič EN – čip ESP8266 je omogočen, ko je zatič EN povlečen VISOK. Ko je povlečen LOW, čip deluje z minimalno močjo.
  • RST pin – RST pin se uporablja za ponastavitev čipa ESP8266.
  • WAKE pin – Wake pin se uporablja za prebujanje čipa iz stanja globokega spanja.

Razvojne platforme ESP8266

Zdaj pa preidimo na zanimive stvari! Obstajajo različne razvojne platforme, ki jih je mogoče opremiti za programiranje ESP8266. Lahko uporabite Espruino – JavaScript SDK in vdelano programsko opremo, ki natančno posnema Node.js, ali uporabite Mongoose OS – operacijski sistem za naprave IoT (priporočeno platformo Espressif Systems in Google Cloud IoT) ali uporabite komplet za razvoj programske opreme (SDK), ki ga zagotavlja Espressif ali eno od platform, navedenih na WiKiPedia. Na srečo je neverjetna skupnost ESP8266 naredila izbiro IDE še korak dlje z ustvarjanjem dodatka Arduino. Če šele začenjate programirati ESP8266, je to okolje, ki ga priporočamo za začetek, in tisto, ki ga bomo dokumentirali v tej vadnici.
Ta dodatek ESP8266 za Arduino temelji na neverjetnem delu Ivana Grokhotkova in preostale skupnosti ESP8266. Za več informacij si oglejte repozitorij ESP8266 Arduino GitHub.

Namestitev ESP8266 Core v OS Windows

Nadaljujemo z namestitvijo jedra Arduino ESP8266. Prva stvar je, da imate v računalniku nameščen najnovejši Arduino IDE (Arduino 1.6.4 ali novejši). Če ga nimate, priporočamo nadgradnjo zdaj.
Povezava za Arduino IDE – https://www.arduino.cc/en/software
Za začetek bomo morali posodobiti upravitelja plošče s prilagojeno URL. Odprite Arduino IDE in pojdite na File > Nastavitve. Nato kopirajte spodaj URL v dodatnega vodjo odbora URLbesedilno polje na dnu okna: http://arduino.esp8266.com/stable/package_esp8266com_index.jsonINŽENIRJI-NodeMCU-Razvojna-plošča-7

Pritisnite OK. Nato se pomaknite do upravitelja plošč tako, da izberete Orodja > Table > Upravitelj plošč. Poleg standardnih plošč Arduino bi moralo biti nekaj novih vnosov. Filtrirajte iskanje tako, da vnesete esp8266. Kliknite ta vnos in izberite Namesti.INŽENIRJI-NodeMCU-Razvojna-plošča-8

Definicije plošče in orodja za ESP8266 vključujejo popolnoma nov niz gcc, g++ in drugih razmeroma velikih, prevedenih binarnih datotek, tako da lahko traja nekaj minut, da prenesete in namestite (arhivirano file je ~110 MB). Ko je namestitev končana, se poleg vnosa prikaže majhno besedilo NAMEŠČENO. Zdaj lahko zaprete Board Manager

Arduino Example: Utripaj

Da zagotovimo, da sta jedro ESP8266 Arduino in NodeMCU pravilno nastavljena, bomo naložili najpreprostejšo skico od vseh – The Blink! Za ta preizkus bomo uporabili vgrajeno LED. Kot smo že omenili v tej vadnici, je nožica D0 na plošči povezana z modro LED na plošči in jo uporabnik programira. Popoln! Preden se lotimo nalaganja skice in igranja z LED, se moramo prepričati, da je plošča pravilno izbrana v Arduino IDE. Odprite Arduino IDE in v meniju Arduino IDE > Orodja > Plošča izberite možnost NodeMCU 0.9 (ESP-12 Module).INŽENIRJI-NodeMCU-Razvojna-plošča-9

Zdaj priključite svoj ESP8266 NodeMCU v računalnik prek kabla micro-B USB. Ko je plošča priključena, ji je treba dodeliti edinstvena vrata COM. Na računalnikih z operacijskim sistemom Windows bo to nekaj takega kot COM#, na računalnikih Mac/Linux pa bo na voljo v obliki /dev/tty.usbserial-XXXXXX. Izberite ta serijska vrata v meniju Arduino IDE > Orodja > Vrata. Izberite tudi hitrost nalaganja: 115200INŽENIRJI-NodeMCU-Razvojna-plošča-10

Opozorilo: Več pozornosti je treba posvetiti izbiri plošče, izbiri vrat COM in izbiri hitrosti nalaganja. Med nalaganjem novih skic se lahko pojavi napaka espcomm_upload_mem, če tega ne storite.

Ko končate, poskusite example skico spodaj.

praznina nastavitev()
{pinMode(D0, OUTPUT);}nizna zanka()
{digitalWrite(D0, HIGH);
zamuda (500);
digitalWrite(D0, LOW);
zamuda (500);
Ko je koda naložena, začne LED utripati. Morda se boste morali dotakniti gumba RST, da bo vaš ESP8266 začel izvajati skico.INŽENIRJI-NodeMCU-Razvojna-plošča-11

Dokumenti / Viri

INŽENIRJI ESP8266 NodeMCU razvojna plošča [pdfNavodila
Razvojna plošča ESP8266 NodeMCU, ESP8266, razvojna plošča NodeMCU

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *