หน้าที่ของesp8266
ESP8266 เป็นไมโครคอนโทรลเลอร์ที่ผลิตโดยบริษัท Espressif (เชี่ยงไฮ้, ประเทศจีน) มีคุณสมบัติเด่นคือการเชื่อมต่อ WiFi ที่มาพร้อมกับ Full TCP/IP Stack ตัวชิปมีราคาถูก อีกทั้งการเป็นไมโครคอนโทรลเลอร์หมายถึงสามารถเขียนโปรแกรมลงไปในตัวมันได้เลย ด้วยข้อดีต่างๆทั้งราคาถูก เขียนโปรแกรมได้ มีฟังก์ชั่น WiFi ติดมาพร้อม ทำให้ ESP8266 เป็นสิ่งที่ตอบสนองต่อการมาของยุค Internet of Things จึงทำให้ได้รับความนิยมอย่างแพร่หลาย มีโปรเจคออกมามากมาย
คุณสมบัติ
Hardware | CPU | Tensilica L106 32-bit processor 80MHz |
RAM | 64kB Instruction RAM & 96kB Data RAM | |
Memory | External QSPI Flash up to 16MB supported | |
Interface | UART/SDIO/SPI/I2C/I2S/GPIO/ADC/PWM | |
GPIO | 16 | |
Operating Voltage | 2.5 ~ 3.6V | |
Operating Current | 80mA | |
Operating Temperature | -40 ~ 125 C | |
Software | Wi-Fi Mode | Station/SoftAP/SoftAP+Station |
Security | WPA/WPA2 | |
Encryption | WEP/TKIP/AES | |
Firmware Upgrade | UART Download / OTA | |
Software Development | Supports Cloud Server Development / Firmware and SDK | |
Network Protocols | IPv4, TCP/UDP/HTTP | |
User Configuration | AT Instruction Set, Cloud Server, Android/iOS App | |
WiFi | Certification | Wi-Fi Alliance |
Protocols | 802.11 b/g/n (HT20) | |
Frequency Range | 2.4G ~ 2.5G (2400M ~ 2483.5M) | |
TX Power | 802.11 b: +20 dBm | |
RX Sensitivity | 802.11 b: –91 dbm (11 Mbps) |
แต่เนื่องจาก ESP8266 ที่บริษัท Espressif ผลิตออกมาเป็นชิปเล็กๆแบบ SMD ตัวถัง QFN32 มีขนาดเพียง 5x5 mm. ทำให้นำไปใช้งานจริงได้ยาก ต่อมาบริษัท Ai-Thinker (เซินเจิ้น, ประเทศจีน) ได้นำ ESP8266 มาสร้างเป็นโมดูลสำหรับใช้งาน ให้ชื่อว่า ESP-01
จากนั้นจึงมีการพัฒนาสร้างเป็นโมดูลอีกมากมายตามมา แต่โมดูลที่ได้รับความนิยมยังคงเป็น ESP-01 เนื่องจากมีขนาดเล็กใช้งานสะดวก ESP-07 เป็นโมดูลเพื่อนำไปพัฒนาเป็นอุปกรณ์ต่างๆด้วยจุดเด่นที่สามารถต่อสายอากาศภายนอกได้ และโมดูล ESP-12 ที่มีการนำไปพัฒนาเป็น Development Board ต่างๆ เช่น NodeMCU, WeMos D1, Wemos D1 mini เป็นต้น
การใช้งานและวิธีการเขียนโปรแกรม
จากที่ ESP8266 นั้นถูกนำมาทำเป็นโมดูลหลายตัวมาก ที่นี้จึงขออธิบายเฉพาะตัวโมดูลที่ใช้งานได้ง่าย เป็นที่นิยม คือ ESP-01 และ NodeMCU เท่านั้น ส่วนการใช้งานโมดูลตัวอื่นๆ จะมีวิธีการใช้งานที่เหมือนกัน ต่างกันตรงการจัดวางและจำนวนขาที่มีใช้งาน ซึ่งสามารถหาเอกสารต่างๆนำมาอ้างอิงได้โดยทั่วไป โดยขา I/O ที่ใช้งานได้นี้จะเรียกว่า GPIO อาจฟังดูแปลกแต่มันก็ทำหน้าที่เหมือนขาของ Arduino นั่นเอง ใน Arduino เราเรียกขา 2 ว่า " 2 " ใน ESP8266 จะเรียกว่า " GPIO2 " ชื่อเรียกต่างกันแต่ทำหน้าที่และเขียนโปรแกรมเหมือนกัน
ในการเขียนโปรแกรมนั้นสามารถเขียนโปรแกรมได้ด้วยวิธีต่างๆ แม้ว่าตัว ESP8266 จะถูกออกแบบมาให้ใช้ AT Command ในการเขียนโปรแกรม แต่ก็สามารถใช้วิธีที่ง่ายกว่านั้นคือการเขียนโปรแกรมโดยใช้ ArduinoIDE โดยต้องทำการเพิ่มบอร์ดตระกูล ESP8266 ลงไปใน ArduinoIDE ก่อน (คลิกดูวิธีได้ที่นี่) ส่วนการเบิร์นโปรแกรมนั้นสามารถทำได้หลายวิธี ทั้งการใช้บอร์ด Arduino เป็นตัวเบิร์น การใช้อุปกรณ์เบิร์นโปรแกรม USB-UART, USB-TTL ต่างๆ รวมถึงบอร์ดอย่าง NodeMCU และ WeMos D1 นั้นก็สามารถต่อสายกับคอมพิวเตอร์ได้โดยตรง การเชื่อมต่อนั้นใช้การเชื่อมต่อขา RX TX GND VCC ตามปกติ สิ่งที่เพิ่มเติมคือ ขา CH_PD ต้องมีสถานะ HIGH (ต่อกับ VCC) เพื่อทำการ Chip enable ON และ GPIO0 ต้องมีสถานะ LOW (ต่อกับ GND) เพื่อปรับชิปเข้าสู่ Programming Mode
** ระวัง !! ESP8266 ทุกแบบทุกรุ่นใช้ไฟฟ้า VCC 3.3V ต้องใช้เครื่องมือที่มีแรงดันไฟ 3.3V เท่านั้น ห้ามใช้ 5V เด็ดขาด **
** ข้อสังเกต **
การใช้อุปกรณ์ USB to UART หรืออื่นๆนั้น จะต่อสายแบบปกติ ของการต่อ Serial คือการต่อไขว้ RX ไปต่อกับ TX และ TX ไปต่อกับ RX แต่หากใช้บอร์ด Arduino มาทำการเบิร์น บอร์ด Arduino จะไม่มีการต่อไขว้ โดยจะต่อ RX กับ RX และ TX กับ TX ไปเลย
สำหรับบทความนี้ ได้อธิบายข้อมูลรายละเอียดต่างๆเกี่ยวกับ ESP8266 มาพอสมควรแล้ว ทุกท่านคงทำความรู้จักกับ ESP8266 กันแล้ว ครั้งต่อไปจะอธิบายถึงการเขียนโปรแกรมเพื่อใช้งาน ESP8266
ความคิดเห็น
แสดงความคิดเห็น