Hướng dẫn cập nhật firmware AT cho ESP8266

Có rất nhiều phiên bản firmware khác nhau cho ESP8266, tuy nhiên firmware sử dụng AT command là được sử dụng khá phổ biến hiện nay với các modul ESP8266 có trên thị trường. Nếu trong quá trình lập trình cho ESP8266 bạn có xóa hết firmware cũ sau đó lại muốn nạp lại thì mình xin hướng dẫn cho các một cách dễ dàng trong bài viết này.

Các phiên bản firmware AT command

  • Bản Offical từ Espressif, bản này chỉ sử dụng được cho các modul ESP8266 có bộ nhớ flash lớn, thường là từ v12 trở lên, được phát triển bởi Espressif.
  • Bản của ai-thinker, bản này phù hợp với mọi phiên bản ESP8266, thường được dùng với ESP8266v1 dung lượng flash nhỏ.

 

Chuẩn bị công cụ

  • Modul ESP8266 và mạch USB2UART PL2303 hoặc NodeMCU, ở đây mình dùng ESP8266v1 và PL2303
  • Nguồn 3v3 cho ESP8266.
  • Tool Flash ESP8266.
  • File firmware blank và firmware ai-thinker.

Tất cả đồ nghề flash có thể tải tại  ESP8266 Tool

Kết nối phần cứng

  • Với NodeMCU thì quá đơn giản, chỉ cần cắm nguồn qua cổng USB là có thể flash được rồi.
  • Với ESP8266v1 thì cần kết nối chân như sau

esp8266-pinout_top

ESP8266PL2303Nguồn 3.3VGhi chú
VCCxVCCNối VCC của ESP với nguồn 3V3
GNDGNDGNDNối chung GND của ESP,PL2303 và GND của nguồn 3V3
RSTxxKhi ESP bị treo hoặc không nạp được thì nối với GND sau đó ngắt kết nối
CH_PDxVCCNối với 3V3 cho phép kích hoạt phát wifi
TXDRXDxNối ESP với PL2303 để giao tiếp nạp firmware
RXDTXDxNối ESP với PL2303 để giao tiếp nạp firmware
GPIO0GNDGNDNối xuống GND để có thể update được firmware
GPIO2xx

Flash firmware

  • Mở phần mềm ESP8266Flasher, chọn cổng COM

flash_esp8266_com_connect

  • Cấu hình chọn mục Config, sau đó chọn đường dẫn file flash blank_1MB.bin, địa chỉ lần lượt là 0x000000, 0x100000, 0x200000 and 0x300000, trở về thẻ Operation, ấn flash để xóa sạch sẽ firmware cũ

flash_esp8266_com_earase_all

Lưu ý 1: Chân GPIO0 phải được nối với GND trước khi flash. Nếu thấy thanh trượt bắt đầu chạy nghĩa là đã flash được, còn không có thì bạn phải reset lại ESP8266 bằng cách nối chân RST với GND sau đó thả ra và ấn nút flash lại.
Lưu ý 2: nếu bạn chưa sử dụng nhiều bộ nhớ flash của ESP8266 thì có thể bỏ qua bước xóa sạch sẽ firmware.

flash_esp8266_com_begin_flashl

  • Thêm firmware mới, ở đây phần địa chỉ ta giữ nguyên là 0x000000 và có 2 firmware cho bạn lựa chọn
    • ai-thinker-0.9.5.2-9600.bin – Tốc độ baud rate mặc định là 9600
    • ai-thinker-0.9.5.2-115200.bin – T Tốc độ baud rate mặc định là 115200 (mình sử dụng bản này)

flash_esp8266_com_ai-thinker

Sau khi nạp hoàn thành thì phần mềm tự ngắt kết nối với ESP8266, bạn thực hiện reset lại và kiểm tra hoạt động bình thường thôi, bạn có thể xem thêm ở phần Log để biết quá trình flash đã tới đâu, có lỗi lầm gì không.

flash_esp8266_log

 

Tạm kết

Thế là mình đã hướng dẫn xong phần nạp firmware AT Command cho các loại ESP8266, việc còn lại là kiểm tra hoạt động của nó như thế nào, bạn có thể xem thêm cách kiểm tra lệnh AT của ESP8266.

19
Leave a Reply

avatar
11 Comment threads
8 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
9 Comment authors
scHieubaoHứaPhúc Recent comment authors

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.

  Subscribe  
newest oldest most voted
Notify of
Giang
Guest
Giang

Chào bạn, cảm ơn bài viết của bạn!
Mình gặp vấn đề này mong bạn giúp đỡ
Mình nạp firmware với bautrate 9600. thì khi mình dùng sscom để dùng lệnh AT, khi mới open com thôi, thì trên sscom đã nhận được một đống ký tự linh tinh chạy liên tục không ngừng. Bạn giải thích giúp mình với

Tài
Guest
Tài

Chào bạn, cảm ơn bài viết của bạn.
Bạn có dùng phiên bản Fimware nào dùng cho Win 32bit kô máy tính mình kô dùng đc cái của bạn Phần mềm flash đó

Tài
Guest
Tài

Bạn ơi bạn có link nào dùng cho Win 32bit kô máy tính mình kô dùng đc Phần mềm flash của bạn 😀

Long Nhật
Guest
Long Nhật

Em gặp lệnh write flash timeout trong quá trình flash ạ. Làm sao để sửa ạ.

Dũng
Guest
Dũng

Anh ơi em flash cả blink với fw thường mà khi test với lệnh AT nó không phản hồi về là sao ạ, có phải module của e ra đi r không? 🙁

Phúc
Guest
Phúc

Anh ơi, em flash bị timeout hoài làm đi làm lại 2 lần vẫn timeout

Phúc
Guest
Phúc

Anh ơi, em flash bị timeout hoài, làm đi làm lại 2 3 lần vẫn timeout, flash blank thì bình thường

Hứa
Guest
Hứa

Bạn ơi đã xử lý được trường hợp write flash timeout chưa vậy? Mình cũng gặp trường hợp này mà k xử lý được.

bao
Guest
bao

mình flash xong mở trminal lên, kết nối com xong nó chạy 1 nùi chữ là đúng hay sai v ad

trackback

[…] Cách để flash firmware mới cho ESP8266 mình có nói ở bài hướng dẫn nạp firmware AT cho ESP8266. […]

Hieu
Guest
Hieu

Mình dùng UART CP2102 USB-TTL BOARDV4.0 được không ạ!