Inĝeniero

ENGINNERS ESP8266 NodeMCU Evoluiga Estraro

ENGINNERS-NodeMCU-Evoluo-Estraro

La Interreto de Aĵoj (IoT) estis tendenca kampo en la mondo de teknologio. Ĝi ŝanĝis la manieron kiel ni laboras. Fizikaj objektoj kaj la cifereca mondo estas ligitaj nun pli ol iam. Tenante ĉi tion en menso, Espressif Systems (Ŝanhaja-bazita Semikonduktaĵo-Firmao) publikigis adoran, mord-grandan WiFi-ebligitan mikroregilon - ESP8266, je nekredebla prezo! Por malpli ol $ 3, ĝi povas kontroli kaj kontroli aferojn de ie ajn en la mondo - perfekta por preskaŭ ajna projekto de IoT.

La evolutabulo ekipas la ESP-12E-modulon enhavantan ESP8266-peceton kun Tensilica Xtensa® 32-bita LX106 RISC-mikroprocesoro, kiu funkcias ĉe 80 ĝis 160 MHz alĝustigebla horloĝfrekvenco kaj subtenas RTOS.

ESP-12E Blato

  • Tensilica Xtensa® 32-bita LX106
  • 80 ĝis 160 MHz Horloĝfrekvenco.
  • 128kB interna RAM
  • 4MB ekstera ekbrilo
  • 802.11b/g/n Wifi-elsendiloENGINNERS-NodeMCU-Evoluo-Estraro-1

Estas ankaŭ 128 KB RAM kaj 4MB da Flash-memoro (por programo kaj datumstokado) nur sufiĉa por trakti la grandajn ŝnurojn kiuj konsistigas. web paĝoj, JSON/XML-datumoj, kaj ĉio, kion ni ĵetas al IoT-aparatoj nuntempe. La ESP8266 Integras 802.11b/g/n HT40 Wi-Fi-dissendilo, do ĝi povas ne nur konektiĝi al WiFi-reto kaj interagi kun la Interreto, sed ĝi ankaŭ povas agordi propran reton, permesante al aliaj aparatoj konektiĝi rekte al. ĝi. Ĉi tio igas la ESP8266 NodeMCU eĉ pli diverstalenta.

Potenca Postulo

Kiel la operacia voltagLa gamo de ESP8266 estas 3V ĝis 3.6V, la tabulo venas kun LDO-voltage reguligisto konservi la voltage stabila ĉe 3.3V. Ĝi povas fidinde provizi ĝis 600mA, kio devus esti pli ol sufiĉa kiam ESP8266 tiras tiom multe kiom 80mA dum RF-dissendoj. La eligo de la reguligisto ankaŭ estas rompita al unu el la flankoj de la tabulo kaj etikedita kiel 3V3. Ĉi tiu pinglo povas esti uzata por provizi potencon al eksteraj komponantoj.

Potenca Postulo

  • Funkcianta Voltage: 2.5V ĝis 3.6V
  • Enŝipe 3.3V 600mA reguligisto
  • 80mA Funkcia Kurento
  • 20 μA dum Dorma ReĝimoENGINNERS-NodeMCU-Evoluo-Estraro-2

Potenco al la ESP8266 NodeMCU estas provizita per la enkonstruita MicroB USB-konektilo. Alternative, se vi havas reguligitan 5V voltagFonto, la VIN-stifto povas esti uzata por rekte provizi la ESP8266 kaj ĝiajn ekstercentrajn.

Averto: La ESP8266 postulas 3.3V elektroprovizon kaj 3.3V logika niveloj por komunikado. La GPIO-pingloj ne estas 5V-toleremaj! Se vi volas interligi la tabulon kun 5V (aŭ pli altaj) komponantoj, vi devos fari iom da niveloŝanĝo.

Ekstercentraloj kaj I/O

La ESP8266 NodeMCU havas entute 17 GPIO-pinglojn rompitajn al la pinglaj kaplinioj ambaŭflanke de la evolutabulo. Ĉi tiuj pingloj povas esti asignitaj al ĉiuj specoj de ekstercentraj devoj, inkluzive de:

  • ADC-kanalo - 10-bita ADC-kanalo.
  • UART-interfaco - UART-interfaco estas uzata por ŝarĝi kodon serie.
  • PWM-produktaĵoj - PWM-stiftoj por malheligi LED-ojn aŭ kontroli motorojn.
  • SPI, I2C & I2S-interfaco - SPI kaj I2C-interfaco por konekti ĉiajn sensilojn kaj ekstercentrajn.
  • I2S-interfaco - I2S-interfaco se vi volas aldoni sonon al via projekto.

Multeksitaj I/Oj

  • 1 ADC-kanaloj
  • 2 UART-interfacoj
  • 4 PWM eliroj
  • SPI, I2C & I2S-interfacoENGINNERS-NodeMCU-Evoluo-Estraro-3

Dank'al la ESP8266-stifto-multiplexa funkcio (Multoblaj periferioj multipleksitaj sur ununura GPIO-stifto). Tio signifas, ke ununura GPIO-stifto povas funkcii kiel PWM/UART/SPI.

Surŝipe Ŝaltiloj & LED Indikilo

La ESP8266 NodeMCU havas du butonojn. Unu markita kiel RST situanta sur la supra maldekstra angulo estas la Restarigi butonon, uzata kompreneble por restarigi la ESP8266-peceton. La alia FLASH-butono sur la malsupra maldekstra angulo estas la elŝuta butono uzata dum ĝisdatigado de firmvaro.

Ŝaltiloj & Indikiloj

  • RST - Restarigi la ESP8266-peceton
  • FLASH - Elŝutu novajn programojn
  • Blua LED - Uzanto ProgrameblaENGINNERS-NodeMCU-Evoluo-Estraro-4

La tabulo ankaŭ havas LED-indikilon kiu estas uzanto programebla kaj estas konektita al la D0-stifto de la estraro.

Seria Komunikado

La tabulo inkluzivas CP2102 USB-al-UART Bridge Controller de Silicon Labs, kiu konvertas USB-signalon al serialo kaj permesas vian komputilon programi kaj komuniki per la ESP8266-peceto.

Seria Komunikado

  • CP2102 USB-al-UART-konvertilo
  • 4.5 Mbps komunika rapideco
  • Subteno de FlukontroloENGINNERS-NodeMCU-Evoluo-Estraro-5

Se vi havas pli malnovan version de CP2102-ŝoforo instalita en via komputilo, ni rekomendas ĝisdatigi nun.
Ligo por ĝisdatigi CP2102-ŝoforon - https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

ESP8266 NodeMCU Pinout

La ESP8266 NodeMCU havas entute 30 pinglojn kiuj interfacas ĝin al la ekstera mondo. La konektoj estas kiel sekvas:ENGINNERS-NodeMCU-Evoluo-Estraro-6

Por simpleco, ni faros grupojn de pingloj kun similaj funkcioj.

Potencaj Stiftoj Estas kvar potencstiftoj viz. unu VIN-stifto & tri 3.3V-stiftoj. La VIN-stifto povas esti uzata por rekte provizi la ESP8266 kaj ĝiajn ekstercentrajn, se vi havas reguligitan 5V vol.tage fonto. La 3.3V pingloj estas la eligo de surŝipa voltage reguligisto. Ĉi tiuj pingloj povas esti uzataj por provizi potencon al eksteraj komponantoj.

GND estas grunda pinglo de ESP8266 NodeMCU-disvolva tabulo. I2C-pingloj estas uzataj por ligi ĉiajn I2C-sensilojn kaj ekstercentrajn en via projekto. Kaj I2C Majstro kaj I2C Slave estas subtenataj. I2C-interfacfunkcieco povas esti realigita programe, kaj la horloĝfrekvenco estas 100 kHz maksimume. Oni devas rimarki, ke I2C-horloĝfrekvenco devus esti pli alta ol la plej malrapida horloĝfrekvenco de la sklava aparato.

GPIO-pingloj ESP8266 NodeMCU havas 17 GPIO-stiftojn, kiuj povas esti asignitaj al diversaj funkcioj kiel I2C, I2S, UART, PWM, IR Remote Control, LED-Lumo kaj Butono programe. Ĉiu cifereca ebligita GPIO povas esti agordita al interna tirsupren aŭ tirmalsupren, aŭ agordi al alta impedanco. Kiam ĝi estas agordita kiel enigo, ĝi ankaŭ povas esti agordita al rando-ellasilo aŭ nivel-eksigilo por generi CPU-interrompojn.

ADC-Kanalo La NodeMCU estas enigita kun 10-bita precizeca SAR ADC. La du funkcioj povas esti efektivigitaj uzante ADC-viz. Testa nutrado voltage de VDD3P3 pinglo kaj testa enigo voltage de TOUT pinglo. Tamen, ili ne povas esti efektivigitaj samtempe.

UART-pingloj ESP8266 NodeMCU havas 2 UART-interfacojn, te UART0 kaj UART1, kiuj disponigas nesinkronan komunikadon (RS232 kaj RS485), kaj povas komuniki je ĝis 4.5 Mbps. UART0 (TXD0, RXD0, RST0 & CTS0 pingloj) povas esti uzata por komunikado. Ĝi subtenas fluidan kontrolon. Tamen, UART1 (TXD1-stifto) prezentas nur datumojn elsendas signalon, do ĝi estas kutime uzata por presi protokolon.

SPI-pingloj ESP8266 havas du SPIojn (SPI kaj HSPI) en sklava kaj majstra reĝimoj. Tiuj SPIoj ankaŭ subtenas la sekvajn ĝeneraluzeblajn SPI-ecojn:

  • 4 temporeĝimoj de la SPI-formattransigo
  • Ĝis 80 MHz kaj la dividitaj horloĝoj de 80 MHz
  • Ĝis 64-bajtaj FIFO

SDIO-pingloj ESP8266 prezentas Secure Digital Input/Output Interface (SDIO) kiu estas uzata por rekte interfacigi SD-kartojn. 4-bita 25 MHz SDIO v1.1 kaj 4-bita 50 MHz SDIO v2.0 estas subtenataj.

PWM-pingloj La tabulo havas 4 kanalojn de Pulse Width Modulation (PWM). La PWM-eligo povas esti efektivigita programe kaj uzata por stiri ciferecajn motorojn kaj LED-ojn. PWM-frekvenca gamo estas alĝustigebla de 1000 μs ĝis 10000 μs, te, inter 100 Hz kaj 1 kHz.

Kontrolaj Stiftoj estas uzataj por kontroli ESP8266. Ĉi tiuj pingloj inkluzivas Chip Enable pin (EN), Reset pin (RST) kaj WAKE pinglo.

  • EN-stifto - La ESP8266-peceto estas ebligita kiam EN-stifto estas tirita ALTE. Kiam tirita MALALTE la blato funkcias ĉe minimuma potenco.
  • RST-stifto - RST-stifto estas uzata por restarigi la ESP8266-peceton.
  • WAKE pinglo - Vekpinglo estas uzata por veki la blaton el profunda dormo.

ESP8266 Evoluaj Platformoj

Nun, ni transiru al la interesaj aferoj! Estas diversaj evoluaj platformoj, kiuj povas esti ekipitaj por programi la ESP8266. Vi povas iri kun Espruino - JavaScript SDK kaj firmvaro proksime imitanta Node.js, aŭ uzi Mongoose OS - Operaciumon por IoT-aparatoj (rekomendita platformo de Espressif Systems kaj Google Cloud IoT) aŭ uzi programaron disvolvan ilaron (SDK) provizitan de Espressif. aŭ unu el la platformoj listigitaj en ViKiPedia. Feliĉe, la mirinda ESP8266-komunumo prenis la IDE-elekton paŝon plu kreante Arduino-aldonaĵon. Se vi ĵus komencas programi la ESP8266, ĉi tiu estas la medio, per kiu ni rekomendas komenci, kaj tiu, kiun ni dokumentos en ĉi tiu lernilo.
Ĉi tiu ESP8266-aldonaĵo por Arduino baziĝas sur la mirinda laboro de Ivan Grokhotkov kaj la resto de la ESP8266-komunumo. Rigardu la ESP8266 Arduino GitHub-deponejon por pliaj informoj.

Instalante la ESP8266 Kernon sur Windows OS

Ni daŭrigu kun instalado de ESP8266 Arduino-kerno. La unua afero estas havi la plej novan Arduino IDE (Arduino 1.6.4 aŭ pli alta) instalita sur via komputilo. Se ne havas ĝin, ni rekomendas ĝisdatigi nun.
Ligo por Arduino IDE - https://www.arduino.cc/en/software
Por komenci, ni devos ĝisdatigi la estraron per kutimo URL. Malfermu Arduino IDE kaj iru al File > Preferoj. Poste kopiu sube URL en la Aldonan Estraran Administranton URLs tekstkesto situanta malsupre de la fenestro: http://arduino.esp8266.com/stable/package_esp8266com_index.jsonENGINNERS-NodeMCU-Evoluo-Estraro-7

Premu OK. Poste navigu al la Estraro-Administranto irante al Iloj > Tabuloj > Tabuloj-Administranto. Devus ekzisti kelkaj novaj enskriboj aldone al la normaj Arduino-tabuloj. Filtru vian serĉon tajpante esp8266. Alklaku tiun eniron kaj elektu Instali.ENGINNERS-NodeMCU-Evoluo-Estraro-8

La tabuldifinoj kaj iloj por la ESP8266 inkluzivas tute novan aron de gcc, g++, kaj aliaj sufiĉe grandaj, kompilitaj binaroj, do eble bezonos kelkajn minutojn por elŝuti kaj instali (la arkivita file estas ~110MB). Post kiam la instalado finiĝis, malgranda INSTALITA teksto aperos apud la eniro. Vi nun povas fermi la Estraran Administranton

Arduino Eksample: Palpebrumi

Por certigi, ke ESP8266 Arduino-kerno kaj la NodeMCU estas taŭge instalitaj, ni alŝutos la plej simplan skizon el ĉiuj - The Blink! Ni uzos la enkonstruitan LED por ĉi tiu provo. Kiel menciite pli frue en ĉi tiu lernilo, D0-pinglo de la tabulo estas konektita al enkonstruita Blua LED kaj estas programebla por la uzanto. Perfekta! Antaŭ ol ni alŝutu skizon kaj ludas per LED, ni devas certigi, ke la tabulo estas ĝuste elektita en Arduino IDE. Malfermu Arduino IDE kaj elektu NodeMCU 0.9 (ESP-12 Modulo) opcion sub via Arduino IDE > Iloj > Tabulo menuo.ENGINNERS-NodeMCU-Evoluo-Estraro-9

Nun, konektu vian ESP8266 NodeMCU en vian komputilon per mikro-B USB-kablo. Post kiam la tabulo estas enŝovita, ĝi devus esti asignita unika COM-haveno. Sur Vindozaj maŝinoj, ĉi tio estos io kiel COM#, kaj en Mac/Linukso-komputiloj ĝi venos en la formo de /dev/tty.usbserial-XXXXXX. Elektu ĉi tiun serian havenon sub la menuo Arduino IDE > Iloj > Haveno. Ankaŭ elektu la Alŝutan Rapidon: 115200ENGINNERS-NodeMCU-Evoluo-Estraro-10

Averto: Pli da atento devas esti donita al elektado de tabulo, elektante COM-havenon kaj elektante Alŝutan rapidon. Vi povas ricevi espcomm_upload_mem-eraron dum alŝuto de novaj skizoj, se vi ne sukcesas fari tion.

Post kiam vi finos, provu la eksample skizo malsupre.

malplena agordo ()
{pinMode(D0, ELIGRO);}malplena buklo()
{ciferecaSkribu(D0, ALTA);
malfruo(500);
digitalWrite (D0, LOW);
malfruo(500);
Post kiam la kodo estas alŝutita, LED komencos palpebrumi. Vi eble bezonos frapeti la RST-butonon por ke via ESP8266 komencu ruli la skizon.ENGINNERS-NodeMCU-Evoluo-Estraro-11

Dokumentoj/Rimedoj

ENGINNERS ESP8266 NodeMCU Evoluiga Estraro [pdf] Instrukcioj
ESP8266 NodeMCU Development Board, ESP8266, NodeMCU Development Board

Referencoj

Lasu komenton

Via retadreso ne estos publikigita. Bezonataj kampoj estas markitaj *