Engineer

ENGINNERS ESP8266 NodeMCU Development Board

ENGINNERS-NodeMCU-Development-Board

Ang Internet of Things (IoT) ay naging trending field sa mundo ng teknolohiya. Binago nito ang paraan ng ating pagtatrabaho. Ang mga pisikal na bagay at ang digital na mundo ay konektado ngayon nang higit pa kaysa dati. Iniingatan ito, ang Espressif Systems (Isang Shanghai-based Semiconductor Company) ay naglabas ng isang kaibig-ibig, bite-sized na WiFi-enabled microcontroller - ESP8266, sa isang hindi kapani-paniwalang presyo! Para sa mas mababa sa $3, maaari nitong subaybayan at kontrolin ang mga bagay mula saanman sa mundo – perpekto para sa halos anumang proyekto ng IoT.

Ang development board ay nagbibigay ng ESP-12E module na naglalaman ng ESP8266 chip na mayroong Tensilica Xtensa® 32-bit LX106 RISC microprocessor na gumagana sa 80 hanggang 160 MHz adjustable clock frequency at sumusuporta sa RTOS.

ESP-12E Chip

  • Tensilica Xtensa® 32-bit LX106
  • 80 hanggang 160 MHz Clock Freq.
  • 128kB panloob na RAM
  • 4MB panlabas na flash
  • 802.11b/g/n Wi-Fi transceiverENGINNERS-NodeMCU-Development-Board-1

Mayroon ding 128 KB RAM at 4MB ng Flash memory (para sa programa at imbakan ng data) na sapat lamang upang makayanan ang malalaking string na bumubuo web mga pahina, data ng JSON/XML, at lahat ng ibinabato namin sa mga IoT device sa kasalukuyan. Ang ESP8266 ay Nagsasama ng 802.11b/g/n HT40 Wi-Fi transceiver, kaya hindi lamang ito makakonekta sa isang WiFi network at makipag-ugnayan sa Internet, ngunit maaari rin itong mag-set up ng sarili nitong network, na nagpapahintulot sa iba pang mga device na direktang kumonekta sa ito. Ginagawa nitong mas maraming nalalaman ang ESP8266 NodeMCU.

Kinakailangan ng Power

Bilang ang operating voltage range ng ESP8266 ay 3V hanggang 3.6V, ang board ay may kasamang LDO voltage regulator upang panatilihin ang voltage steady sa 3.3V. Mapagkakatiwalaan itong makapagbibigay ng hanggang 600mA, na dapat ay higit pa sa sapat kapag ang ESP8266 ay humihila ng hanggang 80mA sa panahon ng mga RF transmission. Ang output ng regulator ay nasira din sa isa sa mga gilid ng board at may label na 3V3. Ang pin na ito ay maaaring gamitin upang magbigay ng kapangyarihan sa mga panlabas na bahagi.

Kinakailangan ng Power

  • Ang Operating Voltage: 2.5V hanggang 3.6V
  • On-board na 3.3V 600mA regulator
  • 80mA Operating Current
  • 20 μA sa panahon ng Sleep ModeENGINNERS-NodeMCU-Development-Board-2

Ang power sa ESP8266 NodeMCU ay ibinibigay sa pamamagitan ng on-board na MicroB USB connector. Bilang kahalili, kung mayroon kang isang regulated 5V voltage source, ang VIN pin ay maaaring gamitin upang direktang ibigay ang ESP8266 at ang mga peripheral nito.

Babala: Ang ESP8266 ay nangangailangan ng 3.3V power supply at 3.3V logic level para sa komunikasyon. Ang mga GPIO pin ay hindi 5V-tolerant! Kung gusto mong i-interface ang board gamit ang 5V (o mas mataas) na mga bahagi, kakailanganin mong gumawa ng ilang level shifting.

Mga Peripheral at I/O

Ang ESP8266 NodeMCU ay may kabuuang 17 GPIO pin na nasira sa mga pin header sa magkabilang panig ng development board. Ang mga pin na ito ay maaaring italaga sa lahat ng uri ng mga peripheral na tungkulin, kabilang ang:

  • ADC channel – Isang 10-bit na ADC channel.
  • UART interface - UART interface ay ginagamit upang i-load ang code nang serial.
  • Mga output ng PWM - Mga PWM pin para sa pagdidilim ng mga LED o pagkontrol ng mga motor.
  • SPI, I2C at I2S interface – SPI at I2C interface para i-hook up ang lahat ng uri ng sensor at peripheral.
  • I2S interface – I2S interface kung gusto mong magdagdag ng tunog sa iyong proyekto.

Mga Multiplex na I/Os

  • 1 ADC channel
  • 2 UART interface
  • 4 na PWM na mga output
  • SPI, I2C at I2S interfaceENGINNERS-NodeMCU-Development-Board-3

Salamat sa tampok na pin multiplexing ng ESP8266 (Multiple peripheral na multiplexed sa isang GPIO pin). Ibig sabihin ang isang solong GPIO pin ay maaaring kumilos bilang PWM/UART/SPI.

On-board Switch at LED Indicator

Nagtatampok ang ESP8266 NodeMCU ng dalawang button. Ang isang minarkahan bilang RST na matatagpuan sa kaliwang sulok sa itaas ay ang I-reset na buton, na ginamit siyempre para i-reset ang ESP8266 chip. Ang iba pang FLASH button sa ibabang kaliwang sulok ay ang download button na ginagamit habang ina-upgrade ang firmware.

Mga Switch at Indicator

  • RST – I-reset ang ESP8266 chip
  • FLASH – Mag-download ng mga bagong program
  • Blue LED – User ProgrammableENGINNERS-NodeMCU-Development-Board-4

Ang board ay mayroon ding LED indicator na user programmable at nakakonekta sa D0 pin ng board.

Serial na Komunikasyon

Kasama sa board ang CP2102 USB-to-UART Bridge Controller mula sa Silicon Labs, na nagko-convert ng USB signal sa serial at nagbibigay-daan sa iyong computer na mag-program at makipag-ugnayan sa ESP8266 chip.

Serial na Komunikasyon

  • CP2102 USB-to-UART converter
  • 4.5 Mbps ang bilis ng komunikasyon
  • Suporta sa Flow ControlENGINNERS-NodeMCU-Development-Board-5

Kung mayroon kang mas lumang bersyon ng driver ng CP2102 na naka-install sa iyong PC, inirerekomenda namin ang pag-upgrade ngayon.
Link para sa pag-upgrade ng CP2102 Driver – https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

ESP8266 NodeMCU Pinout

Ang ESP8266 NodeMCU ay may kabuuang 30 pin na nag-interface dito sa labas ng mundo. Ang mga koneksyon ay ang mga sumusunod:ENGINNERS-NodeMCU-Development-Board-6

Para sa kapakanan ng pagiging simple, gagawa kami ng mga grupo ng mga pin na may katulad na mga pag-andar.

Mga Power Pin Mayroong apat na power pin viz. isang VIN pin at tatlong 3.3V pin. Maaaring gamitin ang VIN pin para direktang ibigay ang ESP8266 at ang mga peripheral nito, kung mayroon kang regulated 5V voltage pinagmulan. Ang 3.3V pin ay ang output ng on-board voltage regulator. Ang mga pin na ito ay maaaring gamitin upang magbigay ng kapangyarihan sa mga panlabas na bahagi.

Ang GND ay isang ground pin ng ESP8266 NodeMCU development board. Ang I2C Pins ay ginagamit para i-hook up ang lahat ng uri ng I2C sensor at peripheral sa iyong proyekto. Parehong sinusuportahan ang I2C Master at I2C Slave. Ang pag-andar ng interface ng I2C ay maaaring maisakatuparan sa programmatically, at ang dalas ng orasan ay 100 kHz sa maximum. Dapat tandaan na ang I2C clock frequency ay dapat na mas mataas kaysa sa pinakamabagal na clock frequency ng slave device.

Mga GPIO Pin Ang ESP8266 NodeMCU ay may 17 GPIO pin na maaaring italaga sa iba't ibang function tulad ng I2C, I2S, UART, PWM, IR Remote Control, LED Light at Button sa programmatically. Ang bawat digital na naka-enable na GPIO ay maaaring i-configure sa panloob na pull-up o pull-down, o itakda sa mataas na impedance. Kapag na-configure bilang isang input, maaari rin itong itakda sa edge-trigger o level-trigger upang makabuo ng mga abala sa CPU.

ADC Channel Ang NodeMCU ay naka-embed na may 10-bit precision SAR ADC. Ang dalawang function ay maaaring ipatupad gamit ang ADC viz. Pagsubok ng power supply voltage ng VDD3P3 pin at pagsubok ng input voltage ng TOUT pin. Gayunpaman, hindi sila maaaring ipatupad nang sabay-sabay.

Mga UART Pin Ang ESP8266 NodeMCU ay may 2 interface ng UART, ibig sabihin, ang UART0 at UART1, na nagbibigay ng asynchronous na komunikasyon (RS232 at RS485), at maaaring makipag-ugnayan sa hanggang 4.5 Mbps. UART0 (TXD0, RXD0, RST0 & CTS0 pins) ay maaaring gamitin para sa komunikasyon. Sinusuportahan nito ang kontrol ng likido. Gayunpaman, ang UART1 (TXD1 pin) ay nagtatampok lamang ng data transmit signal kaya, ito ay karaniwang ginagamit para sa pag-print ng log.

Mga SPI Pin Nagtatampok ang ESP8266 ng dalawang SPI (SPI at HSPI) sa slave at master mode. Sinusuportahan din ng mga SPI na ito ang sumusunod na pangkalahatang layunin na mga feature ng SPI:

  • 4 na timing mode ng paglipat ng format ng SPI
  • Hanggang 80 MHz at ang nahahati na mga orasan na 80 MHz
  • Hanggang 64-Byte FIFO

Mga Pin ng SDIO Nagtatampok ang ESP8266 ng Secure Digital Input/Output Interface (SDIO) na ginagamit upang direktang mag-interface ng mga SD card. Sinusuportahan ang 4-bit 25 MHz SDIO v1.1 at 4-bit 50 MHz SDIO v2.0.

Mga PWM Pin Ang board ay may 4 na channel ng Pulse Width Modulation (PWM). Ang output ng PWM ay maaaring ipatupad sa programmatically at ginagamit para sa pagmamaneho ng mga digital na motor at LED. Ang hanay ng dalas ng PWM ay nababagay mula 1000 μs hanggang 10000 μs, ibig sabihin, sa pagitan ng 100 Hz at 1 kHz.

Kontrolin ang mga Pins ay ginagamit upang kontrolin ang ESP8266. Kasama sa mga pin na ito ang Chip Enable pin (EN), Reset pin (RST) at WAKE pin.

  • EN pin – Ang ESP8266 chip ay pinagana kapag ang EN pin ay hinila ng HIGH. Kapag hinila LOW ang chip ay gumagana sa pinakamababang kapangyarihan.
  • RST pin - Ang RST pin ay ginagamit upang i-reset ang ESP8266 chip.
  • WAKE pin – Ginagamit ang wake pin para gisingin ang chip mula sa malalim na pagtulog.

ESP8266 Development Platform

Ngayon, lumipat tayo sa mga kawili-wiling bagay! Mayroong iba't ibang mga platform ng pag-unlad na maaaring magamit upang i-program ang ESP8266. Maaari kang sumama sa Espruino – JavaScript SDK at firmware na malapit na tumulad sa Node.js, o gumamit ng Mongoose OS – Isang operating system para sa mga IoT device (inirerekomendang platform ng Espressif Systems at Google Cloud IoT) o gumamit ng software development kit (SDK) na ibinigay ng Espressif o isa sa mga platform na nakalista sa WiKiPedia. Sa kabutihang palad, ang kamangha-manghang ESP8266 na komunidad ay nagsagawa ng pagpili ng IDE ng isang hakbang sa pamamagitan ng paglikha ng isang Arduino add-on. Kung nagsisimula ka pa lamang sa pagprograma ng ESP8266, ito ang kapaligiran na inirerekomenda namin simula, at ang isa na idodokumento namin sa tutorial na ito.
Ang ESP8266 add-on na ito para sa Arduino ay batay sa kamangha-manghang gawa ni Ivan Grokhotkov at ng iba pang komunidad ng ESP8266. Tingnan ang ESP8266 Arduino GitHub repository para sa higit pang impormasyon.

Pag-install ng ESP8266 Core sa Windows OS

Magpatuloy tayo sa pag-install ng ESP8266 Arduino core. Ang unang bagay ay ang pagkakaroon ng pinakabagong Arduino IDE (Arduino 1.6.4 o mas mataas) na naka-install sa iyong PC. Kung wala ito, inirerekomenda namin ang pag-upgrade ngayon.
Link para sa Arduino IDE – https://www.arduino.cc/en/software
Upang magsimula, kakailanganin naming i-update ang board manager gamit ang custom URL. Buksan ang Arduino IDE at pumunta sa File > Mga Kagustuhan. Pagkatapos, kopyahin sa ibaba URL sa Karagdagang Tagapamahala ng Lupon URLs text box na matatagpuan sa ibaba ng window: http://arduino.esp8266.com/stable/package_esp8266com_index.jsonENGINNERS-NodeMCU-Development-Board-7

Pindutin ang OK. Pagkatapos ay mag-navigate sa Board Manager sa pamamagitan ng pagpunta sa Tools > Boards > Boards Manager. Dapat mayroong ilang bagong mga entry bilang karagdagan sa mga karaniwang Arduino board. I-filter ang iyong paghahanap sa pamamagitan ng pag-type ng esp8266. Mag-click sa entry na iyon at piliin ang I-install.ENGINNERS-NodeMCU-Development-Board-8

Kasama sa mga kahulugan at tool ng board para sa ESP8266 ang isang buong bagong hanay ng gcc, g++, at iba pang makatwirang malaki, pinagsama-samang mga binary, kaya maaaring tumagal ng ilang minuto upang ma-download at mai-install (ang naka-archive file ay ~110MB). Kapag nakumpleto na ang pag-install, isang maliit na NA-INSTALL na teksto ang lalabas sa tabi ng entry. Maaari mo na ngayong isara ang Board Manager

Arduino Halample: Kumurap

Upang matiyak na maayos na naka-set up ang ESP8266 Arduino core at ang NodeMCU, ia-upload namin ang pinakasimpleng sketch sa lahat – Ang Blink! Gagamitin namin ang on-board na LED para sa pagsubok na ito. Gaya ng nabanggit kanina sa tutorial na ito, ang D0 pin ng board ay konektado sa on-board na Blue LED at ito ay user programmable. Perpekto! Bago tayo mag-upload ng sketch at paglalaro ng LED, kailangan nating tiyakin na ang board ay napili nang maayos sa Arduino IDE. Buksan ang Arduino IDE at piliin ang NodeMCU 0.9 (ESP-12 Module) na opsyon sa ilalim ng iyong Arduino IDE > Tools > Board menu.ENGINNERS-NodeMCU-Development-Board-9

Ngayon, isaksak ang iyong ESP8266 NodeMCU sa iyong computer sa pamamagitan ng micro-B USB cable. Kapag nakasaksak na ang board, dapat itong magtalaga ng natatanging COM port. Sa mga Windows machine, ito ay magiging katulad ng COM#, at sa mga Mac/Linux computer ay darating ito sa anyo ng /dev/tty.usbserial-XXXXXX. Piliin ang serial port na ito sa ilalim ng Arduino IDE > Tools > Port menu. Piliin din ang Bilis ng Pag-upload : 115200ENGINNERS-NodeMCU-Development-Board-10

Babala: Kailangang bigyan ng higit na pansin ang pagpili ng board, pagpili ng COM port at pagpili ng bilis ng pag-upload. Maaari kang makakuha ng espcomm_upload_mem error habang nag-a-upload ng mga bagong sketch, kung nabigong gawin ito.

Kapag tapos ka na, subukan ang example sketch sa ibaba.

void setup()
{pinMode(D0, OUTPUT);}void loop()
{digitalWrite(D0, HIGH);
pagkaantala(500);
digitalWrite(D0, LOW);
pagkaantala(500);
Kapag na-upload na ang code, magsisimulang mag-blink ang LED. Maaaring kailanganin mong i-tap ang RST button upang makuha ang iyong ESP8266 upang simulan ang pagpapatakbo ng sketch.ENGINNERS-NodeMCU-Development-Board-11

Mga Dokumento / Mga Mapagkukunan

ENGINNERS ESP8266 NodeMCU Development Board [pdf] Mga tagubilin
ESP8266 NodeMCU Development Board, ESP8266, NodeMCU Development Board

Mga sanggunian

Mag-iwan ng komento

Ang iyong email address ay hindi maipa-publish. Ang mga kinakailangang field ay minarkahan *