2016年12月19日 星期一

自行更新 ESP8266 無線模組韌體至 Ai-Mod, AT v1.2.0.0 based on SDK v1.5.4.1

網頁最後修改時間: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
根據 Flash Size 已經分類好,有需要自行下載燒錄即可 !

其他使用者,可由下面網頁中的連結下載 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
設定好之後,按下 "START" 進入到燒錄等待,此時設定好 ESP8266 進入到燒錄模式,Flash Download Tools 就會自動偵測到開始下載韌體。等到進度欄跑到最後面,按鈕變成 "FINISH 完成",再按下 "STOP" 就完成燒錄的動作。

對於燒錄動作不熟悉的話,去看看 "自行更新 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 韌體)


<< 部落格相關文章 >>

2 則留言:

  1. 更新了靭體,AT指令上有個小問題,AT+CWSAP="SSID","PASS WORLD",CH,ECN,最後這個ECN似乎只能設成0,1以上會有 ERROR,不知是不是我那裡有設定錯誤,請指點謝謝。

    回覆刪除
    回覆
    1. 可能需要再仔細閱讀手冊上面的說明。不是 ecn 不能設成 1,而是剛好 ecn 參數沒有 1 這個選擇
      ------------------------
      ecn 加密方式,不支援 WEP
      ------------------------
      0 OPEN
      2 WPA_PSK
      3 WPA2_PSK
      4 WPA_WPA2_PSK

      刪除

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

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

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