การติดตั้งเฟิร์มแวร์ Espressif ESP-AT สำหรับโมดูล Wi-Fi Serial#
▷ โมดูล Espressif WiFi Serial#
บทความนี้กล่าวถึง การใช้งานโมดูล Wi-Fi Serial ที่ใช้ชิป Espressif ESP8266EX, ESP8285 หรือ ESP32C3 ซึ่งทำหน้าที่เป็นอุปกรณ์ที่ช่วยให้ระบบอิเล็กทรอนิกส์อื่น เช่น บอร์ดไมโครคอนโทรลเลอร์ สามารถเชื่อมต่อเข้าสู่ระบบเครือข่ายไร้สาย WiFi (2.4 GHz) และอินเทอร์เน็ตได้
อุปกรณ์ประเภทนี้ใช้วิธีการเชื่อมต่อระหว่างอุปกรณ์ด้วย UART / Serial (Logic Level, 3.3V) ใช้สายสัญญาณ TXD / RXD และบริษัท Espressif ได้พัฒนาเฟิร์มแวร์ และชุดคำสั่งที่เรียกว่า ESP AT Command Set เพื่อส่งข้อความที่เป็นคำสั่งไปยังโมดูลดังกล่าว และคอยรับข้อความตอบกลับ
โมดูลที่ใช้ชิปของบริษัท Espressif แบ่งได้เป็น 2 กลุ่ม คือ ESP8266 / ESP8285 (เป็นรุ่นเก่า)
และ ESP32 / ESP32-S2 / ESP32-C2 / ESP32-C3 (เป็นรุ่นใหม่ และมีประสิทธิภาพดีกว่า)
รูป: โมดูล Wi-Fi to Serial ที่ใช้ชิปของบริษัท Espressif
▷ โมดูล ESP8266 / ESP8285#
ข้อมูลเกี่ยวกับโมดูล ESP01 / ESP01S (ESP8266EX-based)
- มีชิป ESP8266EX (Tensilica L106: 32-bit RISC CPU, 160MHz) เป็นตัวประมวลผลหลัก
- มีไอซีประเภทหน่วยความจำแฟลช SPI Flash ขนาด 1MB
- มีตัวสร้างความถี่ 26MHz Cytstal
- มีสายอากาศแบบ PCB Antenna
- ทำงานด้วยแรงดันไฟเลี้ยง VCC = +3.3V
- โมดูล ESP01 มี Power-On LED (red) และ Blue Status LED (GPIO1 / TXD, active-low)
- โมดูล ESP01S มีแค่ Blue LED (GPIO2, active-low)
รูป: โมดูล ESP01 / ESP01S ที่มีชิปหน่วยความจำแฟลซ (Flash) ขนาด 1MB (PCB เป็นสีดำ)
รูป: ผังแสดงตำแหน่งขาของโมดูล ESP01 / ESP01S
โมดูลมีขาแบบ 2x4 Male Pin Headers ระยะห่างระหว่างขา 2.54 มม.
Pin | Name |
---|---|
1 | GND |
2 | GPIO1 / U0TXD |
3 | GOIO2 |
4 | CH_PD / EN |
5 | GPIO0 |
6 | RESET |
7 | GPIO3 |
8 | VCC (+3.3V) |
รูป: โมดูล ESP8285 ESP-1 (มุมมองด้านหน้าและด้านหลัง)
ข้อสังเกต:
- ขา CH_PD / EN จะต้องต่อกับ +3.3V ผ่านตัวต้านทาน Pullup เพื่อให้ชิปทำงานปรกติ
- ขา GPIO0 ใช้สำหรับเลือกโหมดการทำงาน ถ้าเป็นลอจิก LOW จะเข้าสู่โหมด UART Boot (ใช้สำหรับ Firmware Upload) แต่ถ้าเป็นลอจิก HIGH จะเข้าสู่โหมด SPI Flash Boot เพื่อทำงานตามปรกติ และโมดูล ESP-01 มีตัวต้านทาน 12kΩ แบบ Pullup ต่อกับขานี้ไปยัง +3.3V ไว้ให้แล้ว
- ขา RESET ทำงานแบบ Active-Low และโมดูล ESP-01 มีตัวต้านทาน 12kΩ แบบ Pullup ต่อกับขานี้ไปยัง +3.3V ไว้ให้แล้ว
- การอัปโหลดเฟิร์มแวร์ผ่านอุปกรณ์ USB-to-Serial จะต้องทำให้ ESP8266EX เข้าสู่ Bootloader / UART Boot Mode โดยการทำให้ขา GPIO0 เป็น LOW แล้วทำให้ขา RESET เป็น LOW เพื่อรีเซต แล้วเปลี่ยนเป็น HIGH เพื่อเริ่มต้นทำงานใหม่อีกครั้ง ดังนั้นแนะนำให้ต่อปุ่มกดเพิ่ม 2 ปุ่ม ที่ทำงานแบบ Active-Low ที่ขา GPIO0 และ RESET ตามลำดับ
- ชิป ESP8285 ได้รวม ESP8266EX กับ 1MB Flash ไว้ในชิปเดียวกัน และทำงานได้ในช่วงอุณหภูมิเพิ่มขึ้น (จากเดิม 85℃ เป็น 125℃)
- นอกจากโมดูล ESP8285 ESP-1 แล้วก็อาจจะเลือกใช้โมดูล ESP8285 ESP-M3 แทนได้ แต่ตำแหน่งขาของโมดูลจะไม่เหมือนกัน
- เนื่องจากโมดูลมีขาเป็นแบบสองแถว 2x4 ขา ดังนั้นถ้าจะนำไปใช้ในการต่อวงจรบนเบรดบอร์ด ก็จะใช้ร่วมกับโมดูล ESP-01 Adapter
รูป: ตัวอย่างการต่อวงจรเพื่อใช้ในการอัปโหลดไฟล์เฟิร์มแวร์ด้วยอุปกรณ์ USB-to-Serial
ข้อสังเกต:
- โมดูล USB-to-Serial ที่มีชิปอย่างเช่น CP2104 หรือ CH340 แม้ว่าจะมีขา +3.3V ที่นำไปใช้เพื่อจ่ายกระแสภายนอกได้ แต่มีข้อจำกัดในปริมาณของกระแส ดังนั้น แนะนำให้ใช้ขา +5V ไปต่อกับโมดูล Linear Voltage Regulator เช่น AMS1117-3.3 เพื่อแปลงให้เป็น +3.3V แล้วนำไปใช้เป็นแรงดันไฟเลี้ยงป้อนให้โมดูล ESP WiFi Serial
▷ โมดูล ESP-M3#
โมดูล ESP-M3 มีชิป Espressif ESP8285H16 อยู่ภายใน ชิปรุ่นนี้ได้รวมหน่วยความแฟลช ขนาด 2MB ไว้ภายใน ทำงานในช่วงอุณหภูมิได้ -40 ℃ .. +125℃ แต่มีขา GPIO ค่อนข้างน้อย ดังนั้นจึงเหมาะสำหรับนำมาใช้เป็นอุปกรณ์ WiFi-to-Serial เช่นเดียวกับ ESP01/ESP01-S แต่มีตำแหน่งและการจัดวางขาแตกต่างจากเดิม
รูป: โมดูล ESP-M3 (ESP8285)
รูป: ผังแสดงตำแหน่งขาของโมดูล ESP-M3
ถ้าลองส่งคำสั่ง AT+GMR
ผ่าน Serial ไปยังโมดูลดังกล่าว
จะได้ข้อความที่แสดงให้เห็นเวอร์ชันของเฟิร์มแวร์ ดังนี้
AT+GMR
AT version:1.1.0.0(May 11 2016 18:09:56)
SDK version:1.5.4(baaeaebb)
compile time:May 20 2016 15:08:19
▷ โมดูล LILYGO T-01C3#
ตัวอย่างของโมดูลที่มีลักษณะเหมือน ESP01 / ESP01S ซึ่งมีตำแหน่งขาและฟังก์ชันเหมือนกัน แต่ใช้ชิป ESP32-C3 (QFN32 package) (มีทั้ง WiFi และ BLE 5.0) และมีหน่วยความจำแฟลชภายนอก 4MB W25Q32FVSS ได้แก่ โมดูล LILYGO T-01C3 (Schematic) สามารถเลือกใช้สายอากาศสองแบบ คือ PCB Antenna (default) และ External Antenna โดยต่อกับ IPEX connector (ผู้ใช้จะต้องแก้ไขด้วยการบัดกรีตัวต้านทาน 0R แบบ SMD เพื่อเปลี่ยนเส้นทางสัญญาณไปยังสายอากาศ) โมดูลนี้ยังมี Green LED (Active-High) ต่อกับขา GPIO3 โมดูลนี้ใช้ขา U0TXD=GPIO21 / U0RXD=GPIO20 ในการเชื่อมต่อผ่าน UART
รูป: โมดูล LILYGO T-01C3
โมดูล LILYGO T-01C3 มีขาแบบ 2x4 Male Pin Headers ระยะห่างของขาเท่ากับ 2.54 มม.
Pin | Name |
---|---|
1 | GND |
2 | U0TXD / GPIO21 |
3 | GPIO2 |
4 | GPIO8 |
5 | GPIO9 |
6 | CHIP_EN / RESET |
7 | U0RXD / GPIO20 |
8 | VCC (+3.3V) |
ขา GPIO2, GPIO8 และ GPIO9 ของ ESP32-C3 จะใช้สำหรับการเลือกโหมด สำหรับการบูท (Booting Mode) และเริ่มต้นการทำงานของชิปเมื่อมีการรีเซต
- GPIO9=0, GPIO2=1, GPIO8=1: จะเข้าสู่ Download Mode (เมื่อต้องการอัปโหลดเฟิร์มแวร์ผ่าน TXD / RXD)
- GPIO9=1, GPIO2=1, GPIO8=Don't Care: จะเข้าสู่ SPI Mode เพื่อเริ่มทำงานจากโปรแกรมใน SPI Flash ตามปรกติ
▷ ESP-AT Firmware#
ในขณะที่เขียนบทความนี้ เวอร์ชันล่าสุดของ ESP-AT Firmware คือ v2.4.0.0 (Release Date: May 20, 2022) เป็น Open Source และสามารถดาวน์โหลดได้จาก Github (https://github.com/espressif/esp-at/)
ข้อสังเกต:
- การพัฒนาเวอร์ชันใหม่ ๆ ของ ESP-AT จะใช้สำหรับโมดูล ESP32 เป็นหลัก แต่สำหรับ ESP8266 / ESP8285 เวอร์ชันล่าสุดคือ v2.2.1.0 (Release Date: August 6, 2021)
ถ้าต้องการเขียนโปรแกรมไมโครคอนโทรลเลอร์ด้วย Arduino IDE เพื่อเชื่อมต่อกับโมดูลดังกล่าว ก็มีไลบรารี เช่น WiFiEspAT (https://github.com/jandrassy/WiFiEspAT) ให้เลือกใช้งาน และใช้สำหรับเฟิร์มแวร์ของ ESP-AT จำแนกเป็นสองตัวเลือก คือ AT v1.7.x และ AT v2.x
- AT v1.7.0+ (NonOS SDK-based): เหมาะสำหรับ ESP8266 / ESP8285 และแนะนำให้ใช้ AT v1.7.5 สำหรับโมดูลที่มีหน่วยความจำแฟลช 1 MB
- AT v2.1.0+ (RTOS SDK-based): เหมาะสำหรับ ESP32 มากกว่า
▷ การติดตั้ง ESP-AT Firmware#
สำหรับโมดูล ESP01 / ESP01S / ESP8285 แนะนำให้ติดตั้ง ESP-AT Firmware เวอร์ชัน ESP-AT v1.7.5 ซึ่งเป็นส่วนหนึ่งของ ESP8266 NonOS SDK v3.0.5
เริ่มต้นด้วยการดาวน์โหลดไฟล์ ESP8266_NONOS_SDK-3.0.5.zip
(Release Date: October 18, 2021) มาลองใช้งาน
เมื่อได้ดาวน์โหลดไฟล์มาแล้ว ให้ทำคำสั่งแตกไฟล์ (เช่น ดูตัวอย่างการทำคำสั่งใน Bash Shell)
จะได้ไดเรกทอรีใหม่ ESP8266_NONOS_SDK-3.0.5
ภายในมีไดเรกทอรีย่อยชื่อ bin
และไฟล์เฟิร์มแวร์สำหรับ ESP-AT แบ่งเป็นหลายไฟล์ (.bin
)
$ unzip ESP8266_NONOS_SDK-3.0.5.zip -d ./
$ cd ESP8266_NONOS_SDK-3.0.5/bin/
ในการเขียนไฟล์เฟิร์มแวร์ไปยังหน่วยความจำแฟลชของโมดูล เราจะใช้คำสั่ง esptool.py
ซึ่งต้องใช้ร่วมกับ Python 3
# install esptool.py using PIP for Python 3
$ pip3 install -U esptool.py
# show the version of the installed 'esptool.py' program
$ esptool.py version
ตัวอย่างการคำสั่งใน Bash Shell สำหรับเขียนไฟล์เฟิร์มแวร์ไปยังโมดูล ESP01 / ESP01S (1MB Flash) ดัวยคำสั่ง esptool.py
มีดังนี้
# erase the entire Flash chip
$ esptool.py erase_flash
# write the ESP-AT firmware to the Flash chip
$ esptool.py write_flash --flash_size 1MB --flash_mode dio \
0x00000 boot_v1.7.bin \
0x01000 at/512+512/user1.1024.new.2.bin \
0xFB000 blank.bin \
0xFC000 esp_init_data_default_v08.bin \
0xFE000 blank.bin \
0x7E000 blank.bin
แต่ถ้าเป็นชิป ESP8285 ให้เปลี่ยนจาก DIO เป็น DOUT สำหรับ Flash Mode
$ esptool.py write_flash --flash_size 1MB --flash_mode dout \
0x00000 boot_v1.7.bin \
0x01000 at/512+512/user1.1024.new.2.bin \
0xFB000 blank.bin \
0xFC000 esp_init_data_default_v08.bin \
0xFE000 blank.bin \
0x7E000 blank.bin
ข้อสังเกต:
- ถ้าใช้ Windows PowerShell ในการคำสั่ง
ก็ให้เปลี่ยนจากสัญลักษณ์
\
เป็น^
ที่อยู่ท้ายสุดของแต่ละบรรทัด (ยกเว้นบรรทัดสุดท้ายที่ไม่มี) สัญลักษณ์นี้ใช้ปิดท้ายบรรทัด เป็นตัวระบุว่า บรรทัดที่ตามมา เป็นส่วนหนึ่งของคำสั่งเดียวกัน
รูป: ตัวอย่างการทำคำสั่งใน Windows Shell สำหรับ Firmware Flashing
รูป: เมื่อทำคำสั่ง esptool.py
ได้สำเร็จแล้ว
จากนั้นให้ลองเชื่อมต่อกับโมดูล ESP01 / ESP01S โดยใช้ซอฟต์แวร์ เช่น Arduino IDE
เพื่อสื่อสารข้อมูลผ่านทางพอร์ตอนุกรม ตั้งค่า Baud เท่ากับ 115200 แล้วลองส่งคำสั่ง เช่น
AT
ออกไป (เป็นข้อความแบบ ASCII และมี \r\n
หรือ NL & CR ต่อท้าย) เมื่อโมดูลได้รับคำสั่งดังกล่าว จะตอบกลับมาเป็นข้อความ AT
แล้วตามด้วย OK
หากต้องการทราบเวอร์ชันหรือข้อมูลเกี่ยวกับเฟิร์มแวร์ของโมดูล ให้ลองส่งคำสั่ง AT+GMR
ไปยังโมดูล
แล้วจะข้อความตอบกลับ ตามรูปต่อไปนี้
รูป: ตัวอย่างการส่งคำสั่ง AT+GMR
ไปยังโมดูล ESP01 / ESP01S
ผ่านทาง Arduino Serial Monitor โดยตั้งค่า Baudrate 115200
ถ้าหากต้องการใช้ ESP-AT Firmware เวอร์ชัน v2.2.0 กับโมดูล ESP01S
แนะนำให้ดาวน์โหลดไฟล์ Cytron_ESP-01S_AT_Firmware_V2.2.0.bin
ซึ่งเป็นไฟล์ Custom Compiled ESP01-AT Firmware Binary ที่เผยแพร่โดยบริษัท Cytron
$ esptool.py --chip auto --baud 115200 \
--before default_reset --after hard_reset \
write_flash -z --flash_mode dout --flash_freq 80m \
--flash_size 1MB 0x0 Cytron_ESP-01S_AT_Firmware_V2.2.0.bin
รูป: การทำคำสั่ง esptool.py
เพื่อติดตั้งเฟิร์มแวร์ไปยังโมดูล ESP01S
ข้อสังเกต: ไฟล์เฟิร์มแวร์นี้ สามารถนำไปใช้กับโมดูล ESP-M3 (ESP8285, 2MB Flash) ได้เช่นกัน
ตัวอย่างข้อความเอาต์พุต เมื่อส่งคำสั่ง AT+GMR
ไปยังโมดูล ESP01S ที่ได้ติดตั้งเฟิร์มแวร์
ESP-AT V2.2.0 ได้สำเร็จแล้ว
AT+GMR
AT version:2.2.0.0(b097cdf - ESP8266 - Jun 17 2021 12:57:45)
SDK version:v3.4-22-g967752e2
compile time(6800286):Aug 4 2021 17:20:05
Bin version:2.2.0(Cytron_ESP-01S)
OK
ไฟล์เฟิร์มแวร์อีกตัวเลือกหนึ่งเป็นไฟล์ ESP8266-1MB-tx1rx3-AT_V2.2.zip ที่แชร์โดย J. Andrássy ซึ่งจะใช้ได้กับโมดูล ESP8266 (1MB Flash) ที่ใช้ขา GPIO1 / GPIO3 สำหรับ TX / RX ตามลำดับ
ตัวอย่างการทำคำสั่งมีดังนี้
$ unzip ESP8266-1MB-tx1rx3-AT_V2.2.zip
$ cd ESP8266-1MB-tx1rx3-AT_V2.2/
$ esptool.py --chip esp8266 --baud 460800 \
--before default_reset --after hard_reset \
write_flash -z --flash_mode dout --flash_freq 80m \
--flash_size 1MB \
0x8000 partition_table/partition-table.bin \
0x9000 ota_data_initial.bin \
0x0 bootloader/bootloader.bin \
0x20000 esp-at.bin \
0x18000 at_customize.bin \
0x1A000 customized_partitions/client_cert.bin \
0x1B000 customized_partitions/client_key.bin \
0x1C000 customized_partitions/client_ca.bin \
0x1D000 customized_partitions/mqtt_cert.bin \
0x1E000 customized_partitions/mqtt_key.bin \
0x1F000 customized_partitions/mqtt_ca.bin \
0x19000 customized_partitions/factory_param.bin
ตัวอย่างข้อความเอาต์พุต เมื่อส่งคำสั่ง AT+GMR
หลังจากที่ได้ติดตั้งเฟิร์มแวร์แล้ว
AT+GMR
AT version:2.2.0.0(s-b097cdf - ESP8266 - Jun 17 2021 12:58:29)
SDK version:v3.4-22-g967752e2
compile time(6800286):Jul 11 2021 11:09:32
Bin version:2.2.0(ESP8266_1MB)
OK
ในกรณีที่ใช้โมดูล LILYGO T-01C3 (4MB Flash) ไฟล์ ESP-AT Firmware สามารถดาวน์โหลดได้จากเว็บไซต์ของ WaveShare Wiki - ESP-C3-32S-Kit: (local copy)
$ esptool.py erase_flash
$ esptool.py -c esp32c3 -b 460800 \
--after hard_reset write_flash \
--flash_mode dio --flash_freq keep --flash_size detect \
0x0 factory_MINI-2M-v2.3.0.bin
เมื่อได้ติดตั้งเฟิร์มแวร์แล้ว ลองส่งคำสั่ง AT+GMR
ไปยังโมดูล จะได้ข้อความเอาต์พุตในลักษณะต่อไปนี้
AT+GMR
AT version:2.3.0.0(s-e98993f - ESP32C3 - Dec 23 2021 09:03:59)
SDK version:v4.3.1-354-g98d34e5f6d
compile time(f468678):Jan 18 2022 16:58:32
Bin version:2.3.0(MINI-1)
OK
ข้อสังเกต: เฟิร์มแวร์ ESP32-C3-MINI-1 ของ Espressif ใช้ขา TX=GPIO7, RX=GPIO6, CTS=GPIO5, RTS=GPIO4 สำหรับการเชื่อมต่อกับไมโครคอนโทรลเลอร์ด้วย UART และใช้ขาต่อไปนี้สำหรับ Output Log: TX=GPIO1, RX=GPIO3 แต่จะนำมาใช้กับโมดูล LILYGO T-01C3 ไม่ได้ เนื่องจากการเลือกใช้ขาสำหรับ UART ไม่เหมือนกัน
▷ การใช้โมดูล FT232RL Breakout#
FTDI FT232RL เป็นชิปในประเภท USB-to-Serial Bridge และมีขาสัญญาณ เช่น DTR และ RTS นอกเหนือจากสัญญาณข้อมูล TXD และ RXD สำหรับการสื่อสารแบบอนุกรม (Serial/UART)
เนื่องจากโมดูลนี้ มีขาสัญญาณ DTR และ RTS ที่ทำงานแบบ Active-Low ดังนั้นจึงสามารถนำมาใช้ต่อกับโมดูล ESP01 / ESP01S เพื่อต่อกับขา RESET และ GPIO0 ตามลำดับ และทำหน้าที่เป็นวงจรสำหรับรีเซตและอัปโหลดเฟิร์มแวร์ได้โดยอัตโนมัติ ผู้ไม่จำเป็นต้องกดปุ่มเพื่อเข้าสู่โหมด Bootloader
รูป: โมดูล Sparkfun FT232RL Breakout
รูป: ผังวงจรของโมดูล Sparkfun FT232RL Breakout
รูป: การใช้อุปกรณ์ FT232RL Breakout เพื่ออัปโหลดเฟิร์มแวร์ไปยังโมดูล ESP01
ตัวอย่างการใช้คำสั่ง esptool.py
สำหรับโมดูล FT232RL Breakout มีดังนี้
# erase the entire Flash memory (ESP8285)
$ esptool.py --baud 115200 --before usb_reset erase_flash
# flash the firwmare
$ esptool.py --baud 115200 --before usb_reset \
--after soft_reset write_flash \
--flash_size 1MB --flash_mode dout \
0x00000 boot_v1.7.bin \
0x01000 at/512+512/user1.1024.new.2.bin \
0xFB000 blank.bin \
0xFC000 esp_init_data_default_v08.bin \
0xFE000 blank.bin \
0x7E000 blank.bin
▷ การใช้โมดูล Sipeed Dual Serial to USB#
บริษัท Sipeed (ประเทศจีน) ได้พัฒนาโมดูล Dual Serial to USB ซึ่งมี UART จำนวน 2 ชุด และสามารถนำมาใช้ในการโปรแกรมชิป ESP8266 / ESP8285 ได้
คุณสมบัติของโมดูลมีดังนี้
- ใช้ชิปไมโครคอนโทรลเลอร์ GigaDevice GD32F150G8 (32-bit Cortex-M3, 64KB Flash, 8KB SRAM, 72MHz) ทำหน้าที่เป็น USB-to-Serial Bridge
- มีวงจรแปลงแรงดันไฟฟ้า DC-DC Buck converter: 5V to 3.3V
- มีคอนเนกเตอร์แบบ USB Type-A
- มีขา TX, RX, DTR, RTS จำนวน 2 ชุด (สำหรับช่อง UART0 และ UART1)
- มี On-board LED จำนวน 4 ดวง แสดงสถานะของสัญญาณ DTR / RTS (ใช้สำหรับขารีเซต และขาเลือกเข้าสู่โหมด Bootloader) สำหรับแต่ละช่องของ UART0 / UART1
- มีฟิวส์ป้องกันการจ่ายกระแสเกิน (Resettable Fuse)
- มีขาสำหรับจ่ายกระแสสำหรับแรงดันไฟฟ้า +5V (VUSB) และ +3.3V
- มีขาจัดเรียงแบบ 2x6 pins (2.54mm spacing)
Sipeed Module | ESP01/ESP01S Module |
---|---|
GND | GND |
3V3 | VCC (+3.3V) |
TX1 | RXD |
RX1 | TXD |
BOOT1 | GPIO0 |
RST1 | RESET# |
รูป: การใช้งานโมดูล Sipeed Dual USB Serial ร่วมกับ ESP01 + PCB Adapter
รูป: ผังแสดงตำแหน่งขาของโมดูล Sipeed Dual USB Serial และการเลือกใช้ขา GND, 3V3, TX1, RX1, BOOT1, RST1 เชื่อมต่อกับโมดูล ESP01
▷ กล่าวสรุป#
บทความนี้ได้นำเสนอ วิธีการติดตั้งไฟล์เฟิร์มแวร์ให้กับโมดูล WiFi-to-Serial ที่ใช้ชิป ESP8266EX / ESP8255 และ ESP32-C3 สำหรับการใช้คำสั่ง ESP-AT ของบริษัท Espressif
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Created: 2022-07-30 | Last Updated: 2022-10-10