2015年5月30日 星期六

自行更新 ESP8266 , ESP-01 無線模組韌體至 AT:0.23, SDK:1.0.1

網頁最後修改時間:2016/12/19
韌體更新為 AT:0.23, SDK:1.0.1 之後的版本訊息

如果手邊的 ESP8266, ESP01 AT 指令的版本小於 0.23 的話,可以下載網頁提供的韌體檔案自行燒錄升級。

如果有賣場的 IoT 套件,有兩種韌體升級更新的選擇 ( 相關資料都以同步至雲端硬碟,網頁中也有下載與使用的資料 ):
  1. AT: 0.23, SDK: 1.0.1
    AT 指令的升級更新 ( 這篇網頁說明的重點 ),主要是因為要讓使用者同步 AT 版本,而且解決了舊版本不能儲存使用者網路參數設定的問題。
  2. NodeMCU 0.9.5
    使用 Lua 語法操控 ESP8266 的韌體。
Note:若是已經玩過 ESP8266 AT 指令的使用者,建議更新韌體為 NodeMCU!
*********************************************************************************
此網頁所用的材料可自行準備,或選用新版本的升級套件
更多 ESP8266 相關商品,請至分類賣場*********************************************************************************

升級 AT v0.23, SDK v1.0.1 之後的特色有:
  • 可以儲存網路參數設定值到 Flash
    看下表,save to Flash
    節錄自 AT Instruction Set__EN_v0.23 資料手冊

    若直接查閱 AT 指令集的資料手冊,原廠建議使用新的指令來取代舊指令。新指令就是將舊指令另外分闢為加入了後綴 CUR 與 DEF 的兩個指令。兩者最大的不同就是:前者不將設定值存放到 flash ( 完整的敘述是將 "本設置存放到 flash system patameter 區域" );後者則是會。而舊指令現在則是直接將設定值存放到 flash,至於要選擇使用哪一種方式,則看使用者方便而論。
  • 加入更多的 AT 指令支援
    原本部落格網頁中的 AT 指令同樣可以適用,但是 AT 0.23 建議使用新指令取代
  • 更多、更多詳細的內容,請參閱雲端硬碟資料夾中該版本的說明手冊
    資料在 "{ESP8266}/datasheets/ESP8266/官方文件/[2015.05.29 更新] 黑板_AT0.25SDK1.0.1",有中文 ( CN ) 與英文 ( EN )兩個資料夾。

那現在就看您的選擇了!

下面就開始我們的 AT 0.23, SDK v1.0.1 韌體的燒錄。

先依照 "如何燒錄 ESP8266 無線模組的韌體 ( 使用一鍵燒錄軟體,燒錄版本:0018000902 ) " 網頁中的燒錄硬體線路接好線
燒錄接線完成圖
進入到雲端硬碟路徑:"{ESP8266}/Firmware Upload Tools/[2015.05.29 更新] ESP8266 自編譯韌體下載軟體/" 目錄下下載韌體與燒錄軟體:

  • 燒錄軟體:ESP FLASH DOWNLOAD TOOL V1.2_150512.rar
    解壓縮之後,到所在目錄中點擊 flash_download_tool_v1.2_150512.exe 啟動程式
  • 韌體:firmware1.0.1.bin.zip
    解壓縮之後,就會得到 firmware1.0.1.bin

燒錄畫面 - 01
打開軟體畫面之後,點擊第四個欄位旁邊的 "..." 按鈕。於出現的檔案總管視窗中,選擇 firmware1.0.1.bin 檔案所在位置 ( 一定要在第四個位置,不然燒錄會失敗!因為必須由位址 0x00000 開始燒錄 )
燒錄畫面 - 02
將 USB 轉 TTL 模組插入電腦中!

 進入作業系統的 "裝置管理員" 查詢模組的 COM 埠號碼是哪一個 ( 如我的是在 COM 3,就在 COM PORT: 旁邊的下拉選單做選擇 ),而 BAUDRATE:就維持 115200 ( 我是使用預設的值沒做過更改,賣場的藍色板子直接做使用即可;其他使用者有出問題的再改這邊試試!)。

將麵包板電源插上電 ( 先不要按下電源按鈕送電 ) !

按下畫面下方中間的 "START" 按鈕,此時旁邊的綠色框就會由 "IDEL 等待" 轉變為 "SYNC 等待上電同步"
燒錄畫面 - 03
按下麵麵包板的電源按鈕,開啟電源!

如果成功正確連線,不一會兒!就會如下圖一樣:DETECTED INFOMAC Address 兩個文字框中就會出現所取得的資料,綠色框也會由 "SYNC 等待上電同步" 轉變為 "Download 下載中" ,進度欄中也會開始出現現在執行的進度
燒錄畫面 - 04
燒錄動作完成之後,綠色框由 "Download 下載中" 轉變為 "Finish 完成"。
燒錄畫面 - 05
按下 "STOP" 按鈕結束燒錄動作,綠色框由  "Finish 完成" 轉變為 "IDEL 等待"。

按下麵麵包板的電源按鈕,關閉電源!不需要拔掉 USB 轉 TTL 模組,等一下測試可以直接用。
燒錄畫面 - 06
拔掉 ESP8266, ESP-01 GPIO0 接腳上的線,回到一般通訊模式!

到這裡就完成了所有的燒錄動作!

接著,我們要測試燒錄之後的動作,以及新增的網路參數設定值可以存放到 flash 的功能。先開啟 SSCOM32E ( 串列埠通訊軟體 ),並設定好通訊埠位置與通訊速率 ( 別忘了!燒錄之後的速度變成 115200 bps )
新韌體版本確認
接著我們測試設定一個個人工作站,連接到家中的無線 WIFI ( 以我為例:Buffalo-WiFi;密碼:123456789 )。

由於新舊版本的指令在上面有特別解釋過,新指令就是將舊指令新增兩個使否將設定值存放或是不存放在 flash 的的差別,當然這裡就是要全部測試。測試的方法就是設置模組為個人工作站連線至附近無線 WiFi 基地台,然後關電再上電確認之前的網路設定參數都還在;另外,再使用新指令重新測試以不存放在 flash 的方式再做一次。

* 舊版本的 AT 指令測試
舊指令測試 -01
舊指令測試 -02

相信有些使用者對於上面指令並不陌生 ( 陌生的話 "操控 ESP8266 無線模組 - 經由 AP、STA 和 AP+STA 三種模式,學習 ESP8266 AT 指令 " 網頁中內容可以去看看 ),重點是在這些舊指令是否可以如資料手冊上面說的一樣可以存放設定值。

由步驟 (1) 至 (8) :設定 ESP8266 無線模組為 Station ( 個人工作站, AT+CWMODE=1 ),搜尋周遭並連線到無線 AP ( AT+CWLAP ),成功之後將電源模組的電關掉 ( 也就是完全斷掉 ESP8266 的電 ( 此時不用去管 USB 轉 TTL 模組是否插在電腦 ) ) 再打開,然後輸入 (9) 與 (10) 的 AT 指令確認剛剛設定的網路參數是否依然存在。

結果是可以的!因此之前有詢問過為何賣場的 ESP8266 模組不能儲存設定參數的問題,可以得到解決了:就是更新為新版的韌體 ( 或是使用 NodeMCU 韌體 )。


* AT 0.23 SDK 1.0.1  {AT 指令}_DEF 測試  ( 設定的參數會一值存在 )

同樣的,新版本將一些設定指令分成可儲存與不能儲存設定參數值兩種指令。這一部分將測試可儲存設定參數的指令:{AT 指令}_DEF

為了避免上面一段 AT 指令的影響,先將所有設定使用 AT+RESTORE 指令重置回復原廠設定值,然後重開機再繼續 AT 指令 (1) 至 (10 ) 的輸入 ( 下面忽略掉 (3)  AT+RST 指令輸入,這只是為了證明使用的這個韌體是穩定的,不至於下此指令之後整個模組掛掉 ! )

{AT 指令}_DEF 測試 - 01
{AT 指令}_DEF 測試 - 02
{AT 指令}_DEF 測試 - 03
相同的指令,只有 (5) 與 (8) 兩個 AT 指令與舊指令不同,多了 _DEF 在後面;而且在最後的開關電測試也是出現相同的結果。


AT 0.23 SDK 1.0.1  {AT 指令}_CUR 測試  ( 設置的參數開關電後恢復原廠設定值 )

接著最後一個部分:使用不存放設定參數值得 AT 指令做測試。

同樣情況,為避免上面 AT 指令影響,恢復 ESP8266 模組回原廠設定值,然後開關電之後依序輸入 AT 指令由 (1) 至 (8)。
{AT 指令}_CUR 測試 - 02
{AT 指令}_CUR 測試 - 03
在輸入 AT 指令 (8) 後關掉電源再開啟。使用 AT 指令 (9) 和 (10) 確認 ESP8266 的無線模式與 AP 連線訊息,可以由上面軟體畫面中的文字訊息區清處的看出,是原廠參數設定值!使用 {AT 指令}_CUR 指令不會記錄使用者的參數設定值。


結論:

賣場現在的 IoT 套件所使用的韌體版本就是此網頁中所使用的版本!使用舊版本的使用者可以利用這個網頁中的資料更新自己的 ESP8266, ESP-01 模組 ( 其他硬體版本的 ESP-## 也可以用,但是硬體接線要自己再上網找一下正確的接線方式 )。

若是有賣場雲端硬碟連結的使用者,所有的軟體、韌體與資料手冊(Datasheet)都已經上傳上去了,找前面有 [2015.05.29 ] 的就對了!
雲端硬碟目錄更新 [2015.05.29] 
沒有雲端硬碟連結的,請自行根據由網頁所提供的連結下載燒錄的軟體韌體程式。

另一篇與 ESP8266 韌體相關正在寫的網頁,是關於 NodeMCU 的韌體燒錄與使用的。它是一套使用 Lua 語法開發的韌體,可以燒錄進 ESP8266 的板子,若是對 Lua 開發 ESP8266 有興趣,可以接著使用這套韌體來玩!

有興趣的可先到官網去看看,賣場近期也會有相關的套件出現

NodeMCU 官網

希望這網頁對大家有所幫助,期待下篇網頁的相逢!


<< 部落格相關文章 >>

沒有留言:

張貼留言

留言屬名為"Unknown"或"不明"的用戶,大多這樣的留言都會直接被刪除掉,不會得到任何回覆!

發問問題,請描述清楚你(妳)的問題,別人回答前不會想去 "猜" 問題是什麼?

不知道怎麼發問,請看 [公告] 部落格提問須知 - 如何問問題 !