網頁最後修改時間:2017/01/03
這篇網頁是說明如何更新 ESP8266 的 AT 韌體版本到官方最新版本 (AT v1.2.0.0 based on SDK v 1.5.4.1),是 "自行更新 ESP8266 , ESP-01 無線模組韌體至 - AT:0.23, SDK:1.0.1" 的衍生網頁 (此網頁中的燒錄方式只適用於 Flash Size: 512KByte 的 ESP8266 模組),因此關於 ESP8266 燒錄時的線路佈置 ( "如何燒錄 ESP8266 無線模組的韌體 ( 使用一鍵燒錄軟體,燒錄版本:0018000902") 和操作就不再贅述,請自行參考上述網頁中的說明。
此版本的 AT 韌體燒錄基本的需求硬體要求必須要是 Flash Size ≥ 1Mbytes 的 ESP8266 模組 (現在大部分的都可以,只有少部分使用舊版本 ESP8266 模組的開發版還是使用 512KByte 的 Flash 就不行)。
/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*
有購買 ESP8266 相關商品的使用者,網頁中所需相關資料已放置於雲端硬碟,都是在 Firmware 目錄下面的兩個資料夾中:
- AT Firmware(AT v1.2.0.0 basd on ESP8266 SDK v1.5.4.1)
- Flash Download Tools/Flash Download Tools V3.4.4.0
其他使用者,可由下面網頁中的連結下載 AT 韌體檔案。
燒錄有風險,動作之前請確定知道自己在做什麼 !
/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*
*********************************************************************************
此網頁所用的材料可自行準備,或選用新版本的升級套件
更多 ESP8266 相關商品,請至分類賣場
*********************************************************************************
此版本的 AT 韌體主要更新:
- 添加可自行定義的射頻校準參數區
- 修復串列埠通訊鮑率 (baudrate) 的問題
關於此版本 AT 指令的說明、新增部分...等,請參閱 AT Firmware(AT v1.2.0.0 basd on ESP8266 SDK v1.5.4.1) 資料夾中的 PDF 檔案。
起步走:
首先要判斷一下手邊的 ESP8266 模組的 Flash Size 大小是多少 ?
可以直接看晶片或是撰寫 Arduino IDE 程式查詢 ( "ESP8266 Arduino IDE 開發問與答 Q&A ( 1 )" );又或是直接下 AT 指令查詢都可以達到目的 !
/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
* AT 韌體查詢 Flash Size:
UART 通訊模式下,對 ESP8266 下達下面 AT 指令就可以查到
AT+RST 回傳的資料 |
指令輸出最後在輸出開機亂碼前 (也就是上面框框那段文字中),SPI Flash Size 就是我們要的資料,把 Bit 轉換成 Byte ( 1 Bytes = 8 Bits ) 就是 Flash 大小。
基本上,ESP8266 晶片要求的 Flash 至少要在 512KBytes 以上,所以除非是早期出的 ESP8266 模組,要不現在大多是 1MBytes 的 Flash size。所以若是以賣場現在有的來說,除了 ESP-01、ESP-01S 和 ESP-07 是使用 1MBytes,開發板都是 4MBytes 的 ESP-12/E/F 模組 (資料蒐集日:2016/12/18 )。
燒錄設定:
接著以上面我們所使用的板子下 AT+RST 輸出的資料,開啟 Flash Download Tools 進行燒錄的相關設定
AT 韌體燒錄設定 for 4MBytes Flash size |
對於燒錄動作不熟悉的話,去看看 "自行更新 ESP8266 , ESP-01 無線模組韌體至 AT:0.23, SDK:1.0.1" 網頁,裡面對燒錄步驟分解得很細,會有幫助的 !
結論:
對於 ESP8266 的 AT 韌體其實當作熟悉 ESP8266 或是 WiFi 與微控制器有一定的幫助,一般時候我很少用 ! 原本我更新韌體的目的是為了要使用這個函式庫來改寫 "初遇 IoT ( Internet of Thing, 物聯網 )" 的範例,因為收到太多的關於 AT 指令操作的問題;但是這個函式庫似乎只支援特定 AT 韌體版本,而且當中還有許多的 Issues 還未處理完成,所以當幾乎所有的設定函數都是回傳失敗的情況之下,直覺有可能就是更新的 AT 韌體版本跟這個函式庫有地方不相容導致,至於內部出問題是在那邊我就不想再深入探下去了 !
............................
但是後來我想了想!如果這部分沒有解決,那麼總有點交代不過去;畢竟自己起了頭,也要想想法子試著解決看看,看看問題出在哪裡 ?
於是,搜尋了一下網路上的資料,以及檢查我現有硬體設定條件下有那些地方會與函式庫互相影響。最後經過一些測試與修正,找到了導致函式庫傳送指令失敗的大概原因。所以現在要去整理剛剛測試過的資料和範例程式,準備撰寫接下來的另一篇:關於可用在 AT (v1.2.0.0 韌體) 指令的 Arduino 函式庫的基本使用說明 (因為我很少使用 AT 指令,所以深入要自己深入)。
接續的網頁:ESP8266雲端開發板} 給我一個可操作 AT 指令的 Arduino 函式庫 - 解決 AT 指令處理的蛋疼問題 (親測 AT v1.2.0.0 韌體)
<< 部落格相關文章 >>
- 當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 07 } - 結合 Arduino + ESP8266 實現 MQTT 主題訂閱與接收
- 當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 06 } - 了解 MQTT 協議,學習如何訂閱 MQTT 主題與接收 MQTT 發佈消息
- 當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 05 } - 結合 ESP8266 發佈 MQTT 消息
- 當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 04 } - 了解 MQTT 協議,學習如何發佈 MQTT 消息
- 當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 03 } - 使用 Arduino + ESP8266 上傳 SHT31 溫溼度數據
- 當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 02 } - 設備感測數據讀取與 (JSON) 解析
- 當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 01 } - 如何使用 ESP8266 利用 AT 指令取回中華電信 IoT 智慧聯網大平台上的設備感測器數據
- 如何使用 MCU 建立與其他 ESP8266 的 UDP 透傳通訊
- ESP8266 AT 指令下的透傳模式
- 如何使用 AT 指令讓同在 AP+STA 模式下的 ESP8266 互相通訊 ?
- *3*nRF24L01+*3* 初遇 Blynk - 建立從 nRF24L01+ 到 ESP8266 再到 Blynk 的 SHT31 單點無線溫溼度傳輸物聯網
- 初遇 Blynk ( 物聯網手機 APP ) - 如何使用 Arduino 和 AT 韌體 ( Ai-Mod, AT v1.2.0.0 based on SDK v1.5.4.1 ) 的 ESP8266 (ESP-01, ESP-01S) 連上 Blynk 伺服器和儲存數據 {*2_1*nRF24L01+*2_1*}
- 初遇 IoT ( Internet of Thing, 物聯網 ) 加強版 - 使用 ESP8266 Arduino AT 函式庫上傳溫溼度資料到 Thingspeak ( AT v1.2.0.0 based on SDK 1.5.4.1)
- 給我一個可操作 AT 指令的 Arduino 函式庫 - 解決 AT 指令處理的蛋疼問題 (親測 AT v1.2.0.0 韌體)
- 自行更新 ESP8266 無線模組韌體至 - AT:1.2.0.0, SDK:1.5.4.1
- ESP8266 ( ESP-01 ) 無線模組燒錄 NodeMCU 韌體 ( Lua 語法支援 )
- 自行更新 ESP8266 , ESP-01 無線模組韌體至 - AT:0.23, SDK:1.0.1
- 初遇 IoT ( Internet of Thing, 物聯網 ) - 使用 Arduino 控制 ESP8266 無線模組上傳資料到 IoT Server ( ThingSpeak )
- 操控 ESP8266 無線模組 - 經由 AP、STA 和 AP+STA 三種模式,學習 ESP8266 AT 指令
- 如何燒錄 ESP8266 無線模組的韌體 ( 使用一鍵燒錄軟體,燒錄版本:0018000902 )
- 初遇 IoT ( Internet of Thing, 物聯網 ) - 使用 Arduino 控制 ESP8266 無線模組上傳資料到 IoT Server ( ThingSpeak )
- 使用 Arduino IDE 開發 ESP8266 物聯網應用 - ThingSpeak, HTTP GET / POST 資料上傳方法
- 使用 Arduino IDE 開發 ESP8266 物聯網應用 - 取回 ThingSpeak 特定 Channel 和 Field 最後一筆資料
- ESP8266 入門學習套件支援 Arduino IDE 開發環境之安裝、使用說明與範例
更新了靭體,AT指令上有個小問題,AT+CWSAP="SSID","PASS WORLD",CH,ECN,最後這個ECN似乎只能設成0,1以上會有 ERROR,不知是不是我那裡有設定錯誤,請指點謝謝。
回覆刪除可能需要再仔細閱讀手冊上面的說明。不是 ecn 不能設成 1,而是剛好 ecn 參數沒有 1 這個選擇
刪除------------------------
ecn 加密方式,不支援 WEP
------------------------
0 OPEN
2 WPA_PSK
3 WPA2_PSK
4 WPA_WPA2_PSK