2014年12月20日 星期六

如何燒錄 ESP8266 無線模組的韌體 ( 使用一鍵燒錄軟體,燒錄版本:0018000902 )

網頁最後修改時間:2016/12/19

從這一篇開始就是 ESP8266-ESP-01 進階的部分,會使用到 ESP8266 韌體更新。為了避免因為操作上的錯誤造成整個模組韌體掛掉,因此在此先說明如何使用韌體一鍵燒錄軟體恢復模組的韌體程式,先把起死回生藥帶在身上,闖關時才不會卡關!
*********************************************************************************

本篇網頁會使用到的材料,請至露天賣場 "萬物皆聯網-ESP8266 IoT(Internet of Things)入門學習套件(樹莓派、Arduino、單晶片)"中有零件的詳細說明。

*********************************************************************************

韌體一鍵燒錄軟體內部已包含韌體 V0.9.2.3 ( AT Command 版本:V0.18;SDK:0.9.2 ),所以不需要另外再載入其他東西。但若是要燒錄自己編譯後產生的韌體程式,則必須根據官方文件說明的方式,依照韌體位址放入相對應編譯產生的 bin 檔才能燒錄完整的韌體進入到模組中。

套件的雲端硬碟資料夾中 { ESP8266 } / Fiemware & Upload Tools /,檔案 ESP8266韌體一鍵燒錄_v.0.9.2.3.zip 解壓縮之後會產生兩個檔案
  • ESP8266Flasher-x64-v0.9.2.3.exe
  • ESP8266Flasher-x86-v0.9.2.3.exe
兩個檔案可分別用在 64-bit 和 32-bit 的 Windows 作業系統環境中,直接點擊後就可以打開軟體介面。只要在完成韌體燒錄的配線之後插上 USB 轉 TTL 模組到 PC,軟體就會自動偵測 COM 埠號碼,唯一要做的就是確認此 COM 號碼是正確的就行了。
ESP8266 韌體一鍵燒錄軟體介面


韌體燒錄接線:

韌體燒錄需要非常穩定的電壓,且電源供應器要能提供足夠的電流,單獨使用 USB 轉 TTL 模組電流是不夠使用的!解決的方法就是使用套件裡面的麵包板電源。與原通訊線路不同的就是多加了一條接地線到 GPIO0,電路接線就如下面電路圖所示,ESP8266 各接腳名稱對照一下面第二張的圖示,很容易就可以完成接線。
ESP8266, ESP-01 韌體燒錄線路

ESP8266, ESP-01 接腳配置圖
實際接線如下所示。每條線所代表的意思是:藍線表示 3V3、綠線表示 GND、黑線表示 RXD ( --> ESP8266, UTXD )、黃線表示 TXD ( --> ESP8266, URXD )。先將 USB 轉 TTL 模組插上 PC,打開一鍵燒錄的軟體就會自動填上 COM 埠號碼,確認所連結的 COM 埠號碼之後,但還不要按下電源模組的開關
ESP8266, ESP-01 韌體燒錄實際接線圖

在一鍵燒錄的視窗,切換到"日志"頁面,就會先看到下面所顯示的訊息,這表示軟體已經與 USB 轉 TTL 模組連接上,但這並不表示已與 ESP8266 連接上!
ESP8266 韌體一鍵燒錄軟體介面 - 日志

切換回"操作"頁面按下"一鍵燒寫"按鈕,然後再切換回"日志"頁面,就會看到出現尋找 ESP8266 模組的訊息出現。這就表示現在就是按下電源模組開端的時候!
ESP8266 韌體一鍵燒錄軟體介面 - 一鍵燒寫,開始搜尋 ESP8266 晶片

按下電源模組的開關後,就會看到兩個模組上面除了紅燈之外,兩者的藍燈都會閃爍一下就消失。而此同時,若是順利與 ESP8266 連線上,就會馬上出現開始燒錄的訊息直到燒錄結束!
ESP8266 韌體一鍵燒錄軟體介面 - 開始燒錄的過程, 01
ESP8266 韌體一鍵燒錄軟體介面 - 開始燒錄的過程, 02
從 "提示:開始尋找芯片" 訊息出現直到按下電源模組開關到出現下一行訊息 ( 提示:芯片握手成功 ) 的速度很快,然後就進入到韌體燒錄的過程,如果不順利的話請先檢查接線是否正確。

完成燒錄之後先關閉電源模組,再拔掉 GPIO0 上的綠線再重新上電,就可以開始使用燒錄之後的韌體了!

*********************************************************************************
ESP8266 是一款新的無線網路晶片,由於 SDK 開放原始碼的關係,因此相關文件資料與 SDK 一直都處在持續更新當中,截至 2014/12/16 為止,最新的 SDK 版本為 V0.9.3,AT 指令韌體為 V0.20。
*********************************************************************************


結論:

這一篇 ESP8266 韌體更新是最簡單的一種更新方式,不管原本使用的韌體是什麼?或是沒有編譯之後的韌體檔案都沒關係,只要韌體線路接線完成,一個按鈕按下就會完成韌體版本:0018000902 的更新,簡單又方便!

下一篇開始介紹如何在虛擬機中編譯 ESP8266 的韌體,並且說明如何使用 Flash Download Tool 更新編譯之後的韌體到 ESP8266。學習這些之後,就可以利用 SDK 自行撰寫屬於自己的 ESP8266 韌體,製作專屬的產品或是項目。

8 則留言:

  1. ESP8266 燒入韌體閃存超時如何處理

    回覆刪除
    回覆
    1. 燒錄超時最大的原因是電流供應不足,尤其是是直接使用 "USB 轉 TTL" 模組供電燒錄。請檢查你的接線是否跟網頁中的一模一樣!

      刪除
  2. 回覆
    1. 看一下 USB轉TTL 是否正常被驅動?
      檢查杜邦線兩頭是否有導通 ?
      如果一開始的 AT 韌體操作正常,那 ESP8266 就正常,要去檢查其他地方是否異常 !

      刪除
  3. 請問原本裡面的韌體如何備份出來呢?
    這樣如果要再恢復成目前韌體才有資料

    回覆刪除
    回覆
    1. 預設的 AT 韌體要看是哪一個版本。根據現在的韌體版本去下載相對應的 SDK 版本,examples 裡面應該就會有已經編譯好的 AT 韌體可以使用。

      刪除
  4. 請問 為甚麼一職卡在尋找茨片
    看上面說法 只會亮紅燈 可是我的藍燈一職在閃爍
    請問這樣整麼解決呢

    回覆刪除
    回覆
    1. 操作的順序、接線正確性、通訊速率設定...等要跟網頁說明的一樣才會動作。另外,這網頁中的韌體版本比較舊,現在有新的版本可以用,搜尋一下部落格裏面有!

      刪除