12
ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี ้คัดลอกมาจากเว็บไซต์ หลายแห่ง (ดูอ้างอิงตอนท้าย ) ห้ามนาไปใช้อ้างอิงต่อ ถ้าจะ อ้างอิงให้ อ้างอิงจากแหล่งต้นกาเนิด เครดิตทั ้งหมดเป็นของแหล่งข ้อมูลที่อ้างอิง ข้อมูลในนี ้นามาใช้เพื่อประกอบการเรียนการสอนวิชา อฟ.444 ไมโครโปรเซสเซอร์ในระบบอัตโนมัติ ของ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยธรรมศาสตร์ เท่านั ้น Contents 1. โมดูลไวไฟ ESP8266 ........................................................................................................................... 2 2. NodeMCU คืออะไร ? ......................................................................................................................... 8 อ้างอิง...................................................................................................................................................... 12

Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

Embed Size (px)

Citation preview

Page 1: Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

ESP8266 Module Page 1

Arduino ESP8266 (NodeMCU)

หมายเหต ขอมลในนคดลอกมาจากเวบไซต หลายแหง (ดอางองตอนทาย) หามน าไปใชอางองตอ ถาจะอางองให อางองจากแหลงตนก าเนด เครดตทงหมดเปนของแหลงขอมลทอางอง ขอมลในนน ามาใชเพอประกอบการเรยนการสอนวชา อฟ.444 ไมโครโปรเซสเซอรในระบบอตโนมต ของคณะวศวกรรมศาสตร มหาวทยาลยธรรมศาสตร เทานน

Contents

1. โมดลไวไฟ ESP8266 ........................................................................................................................... 2

2. NodeMCU คออะไร ? ......................................................................................................................... 8

อางอง...................................................................................................................................................... 12

Page 2: Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

ESP8266 Module Page 2

1. โมดลไวไฟ ESP8266

ผสรางชพ ESP คอคณ Teo Swee Ann ชาวสงคโปรแหงบรษท Espressif System โดยในโมดล

ประกอบดวย ชป Microcontroller + WiFi Module ราคาถก เพยง 100 กวา ดงนนตวมนสามารถโปรแกรมลงไปได ท าใหสามารถน าไปใชงานแทนไมโครคอนโทรลเลอรไดเลย และมพนทโปรแกรมทมากถง 4MB ท าใหมพนทเหลอมากในการเขยนโปรแกรมลงไป ESP8266 เปนชอของชปไอซบนบอรดของโมดล ซงไอซ ESP8266 ไมมพนทโปรแกรม (flash memory) ในตว ท าใหตองใชไอซภายนอก (external flash memory) ในการเกบโปรแกรม ทใชการเชอมตอผานโปรโตคอล SPI ซงสาเหตนเองท าใหโมดล ESP8266 มพนทโปรแกรมมากกวาไอซไมโครคอนโทรลเลอรเบอรอนๆ ESP8266 ท างานทแรงดนไฟฟา 3.3V - 3.6V การน าไปใชงานรวมกบเซนเซอรอนๆทใชแรงดน 5V ตองใชวงจรแบงแรงดนมาชวย เพอไมใหโมดลพงเสยหาย กระแสทโมดลใชงานสงสดคอ 200mA ความถครสตอล 40MHz ท าใหเมอน าไปใชงานอปกรณทท างานรวดเรวตามความถ เชน LCD ท าใหการแสดงผลขอมลรวดเรวกวาไมโครคอนโทรลเลอรยอดนยม Arduino มาก ขาของโมดล ESP8266 แบงไดดงน

VCC เปนขาส าหรบจายไปเขาเพอใหโมดลท างานได ซงแรงดนทใชงานไดคอ 3.3 - 3.6V GND Reset และ CH_PD (หรอ EN) เปนขาทตองตอเขาไฟ + เพอใหโมดลสามารถท างานได ทง 2 ขาน

สามารถน ามาใชรเซตโมดลไดเหมอนกน แตกตางตรงทขา Reset สามารถลอยไวได แตขา CH_PD (หรอ EN) จ าเปนตองตอเขาไป + เทานน เมอขานไมตอเขาไฟ + โมดลจะไมท างานทนท

GPIO เปนขาดจตอลอนพต / เอาตพต ท างานทแรงดน 3.3V GPIO15 เปนขาทตองตอลง GND เทานน เพอใหโมดลท างานได GPIO0 เปนขาท าหรบการเลอกโหมดท างาน หากน าขานลง GND จะเขาโหมดโปรแกรม หากลอย

ไว หรอน าเขาไฟ + จะเขาโหมดการท างานปกต ADC เปนขาอนาลอกอนพต รบแรงดนไดสงสดท 1V ขนาด 10 บต การน าไปใชงานกบแรงดนท

สงกวาตองใชวงจรแบงแรงดนเขาชวย

Page 3: Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

ESP8266 Module Page 3

ESP8266 รนทนยมใชงาน ESP8266 มอยดวยกนประมาณ 14 รน (ในตอนทเขยนบทความ) รนทนยมใชงานมดวยกนดงน ESP-01

รน ESP-01 เปนรนทเหมาะส าหรบการเรยนร และเหมาะส าหรบน าไปใชงานงานทโปรแกรมเลกๆ มขาทงหมด 8 ขา ไดแก VCC CH_PD Reset Rx Tx GPIO0 GPIO2 และ GND โมดลนท างานไดคอนขางทจะชามาก หากมการเขยนโปรแกรมทไมรดกมพอ หรอมค าสงท างานมากๆ

ESP-03

มลกษณะคลายๆกบรน ESP-01 แตมจ านวนขาเพมขนมา รวมทงหมด 14 ขา มขาใชงานได 13 ขา (อก 1 ขาเปนขาวาง) มขาส าหรบเสาอากาศอยขาท 14 สามารถตอเสาอากาศเพมไดเพอใหสามารถรบสญญาณไดดขน

Page 4: Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

ESP8266 Module Page 4

ESP-07

ESP-07 เปนโมดลทมแผเหลกครอบปองกนสญญาณรบกวน และมขาเพมเปน 16 ขา มขา GPIO ทใชงานได 7 ขา ไดแก 2 4 5 12 13 14 16 สามารถใชงานเปนดจตอลอนพตเอาตพตได สวนขา Tx Rx เปนขาส าหรบตอซเรยลพอรต ขา GPIO0 ส าหรบเลอกโหมด GPIO15 ตองตอลงกราวดไวเสมอ ขา CH_PD ตอเขาไฟ + ขา Reset สามารถปลอยวางไวได ESP-12

Page 5: Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

ESP8266 Module Page 5

ESP-12 จะมขาใชงานแบบเดยวกบ ESP-07 เพยงตอเสาอากาศเปลยนเปนแบบลายทองแดงบน PCB รนนนยมใชงานมากในการทดลองหรอพฒนา เนองจากไมตองตอเสาอากาศเพมขนมา มความสเถยร และความเรวในการด าเนนการโปรแกรม เทากบ ESP-07 ESP-12e

ESP-12e เปนรนทอพเกรดมาจาก ESP-12 โดยเพมขาตรงสวนทายของแผนปรน 6 ขา ไดแก SCLK MOSI MISO ซงเปนขาทใชเชอมตอผานโปรโตคอล SPI เนองจากในรนอนๆตองใชขา GPIO อนๆในการใชโปรโตคอล SPI เมอมขาเพมขนมาท าใหไมตองใช GPIO อนๆ ท าใหปประหยดขาใชงานไปได

Page 6: Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

ESP8266 Module Page 6

ESP8266 ม Feature อะไรบาง ? SDIO 2.0, SPI, UART 32-pin QFN package Integrated RF switch, balun, 24dBm PA, DCXO, and PMU Integrated RISC processor, on-chip memory and external memory interfaces Integrated MAC/baseband processors Quality of Service management I2S interface for high fidelity audio applications On-chip low-dropout linear regulators for all internal supplies Proprietary spurious-free clock generation architecture Integrated WEP, TKIP, AES, and WAPI engines

สเปก

802.11 b/g/n WiFi Direct (P2P), soft-AP Integrated TCP/IP protocol stack Integrated TR switch, balun, LNA, power amplifier and matching network Integrated PLLs, regulators, DCXO and power management units +19.5dBm output power in 802.11b mode Power down leakage current of <10uA Integrated low power 32-bit CPU could be used as application processor SDIO 1.1/2.0, SPI, UART STBC, 1×1 MIMO, 2×1 MIMO A-MPDU & A-MSDU aggregation & 0.4ms guard interval Wake up and transmit packets in < 2ms Standby power consumption of < 1.0mW (DTIM3)

Page 7: Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

ESP8266 Module Page 7

ตวอยางการตอวงจรส าหรบ Flashing NodeMcu Firmware to ESP8266 ทมา http://www.roboremo.com/flashing-nodemcu-firmware-to-esp8266.html

ตวอยางการตอวงจรเพอเพมพอรทอนาลอก ทมา http://internetofhomethings.com/homethings/?tag=esp8266

Page 8: Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

ESP8266 Module Page 8

2. NodeMCU คออะไร ?

NodeMCU คอ แพลตฟอรมหนงทใชชวยในการสรางโปรเจค Internet of Things (IoT) ทประกอบ

ไปดวย Development Kit (ตวบอรด) และ Firmware (Software บนบอรด) ทเปน open source สามารถเขยนโปรแกรมดวยภาษา Lau ได ท าใหใชงานไดงายขน มาพรอมกบโมดล WiFi (ESP8266) ซงเปนหวใจส าคญในการใชเชอมตอกบอนเตอรเนตนนเอง ตวโมดล ESP8266นนมอยดวยกนหลายรนมาก ตงแตเวอรชนแรกทเปน ESP-01 ไลไปเรอยๆจนปจจบนมถง ESP-12 แลว และทฝงอยใน NodeMCU version แรกนนกเปน ESP-12 แตใน version2 นนจะใชเปน ESP-12E แทน ซงการใชงานโดยรวมกไมแตกตางกนมากนก NodeMCUนนมลกษณะคลายกบ Arduino ตรงทมพอรต Input Output buil inมาในตว สามารถเขยนโปรแกรมคอนโทรลอปกรณ I/O ไดโดยไมตองผานอปกรณอนๆ และเมอไมนานมานกมนกพฒนาทสามารถท าให Arduino IDE ใชงานรวมกบ Node MCU ได จงท าใหใชภาษา C/C++ ในการเขยนโปรแกรมได ท าใหเราสามารถใชงานมนไดหลากหลายมากยงขน NodeMCUตวนสามารถท าอะไรไดหลายอยางมากโดยเฉพาะเรองทเกยวของกบ IoT ไมวาจะเปนการท า Web Server ขนาดเลก การควบคมการเปดปดไฟผานWiFi และอนๆอกมากมาย ซงจะสอนในบทความตอๆไป NodeMCU Development Kit ชดพฒนาบอรด NodeMCU หรอเรยกสนๆวา NodeMCU DevKit ปจจบนมอย 2 เวอรชนดวยกน NodeMCU Devkit 0.9 (ESP-12) Version 1

Page 9: Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

ESP8266 Module Page 9

Page 10: Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

ESP8266 Module Page 10

NodeMCU Devkit 1.0 (ESP-12E) Version 2

NodeMCU Specification

Page 11: Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

ESP8266 Module Page 11

ชดพฒนาน based on โมดลWiFi ทชอ ESP8266 ม GPIO PWM, I2C, 1-Wire และ ADC รวมมาอยบนบอรดเดยว ม USB-TTL มาในตว ไมตองซอแยกเหมอนกบการใช ESP8266 ปกต ท าใหใชงานไดสะดวกขน มขา GPIO 10 ขา ทกๆขาสามารถเปน PWM, I2C และ 1-wire ได ม PCB antenna ส าหรบรบสงสญญาณไรสาย ใชคอนเนกเตอรแบบ micro-USB ส าหรบจายแรงดนไฟเลยงหรอเทากบ +5V และส าหรบดาวน

โหลดเฟรมแวร

Page 12: Arduino ESP8266 (NodeMCU) - narong.ece.engr.tu.ac.th · ESP8266 Module Page 1 Arduino ESP8266 (NodeMCU) หมายเหตุ ข้อมูลในนี้คดัลอกมาจากเว็บไซต์

ESP8266 Module Page 12

อางอง

1. http://www.ioxhop.com/article/esp8266--ตอนท-1-รจกกบ-esp-และรนทนยมใชงาน 2. http://www.sathittham.com/esp8266/whats_esp8266/ 3. http://www.sat2you.com/site/?p=2136 4. http://www.thaieasyelec.com/article-wiki/embedded-electronics-application/getting-started-with-

esp8266-nodemcu.html