ESP8266 下安裝esptool.py並使用esptool刷機神助手


一 前記

  在使用ESP8266模塊時,通常會用到一些刷機軟件。官方提供了nodemcu_flasher、ESPFlashDownloadTool、ESP8266Flasher等下載工具,但是缺少更底層的工具,不能進行讀取、擦寫、校驗等功能。

ESPtool.py是一個python開發的針對ESP8266的小工具,可以實現底層的操作,彌補ESP8266官方工具的不足。flash的小工具,可以彌補ESP8266官方工具的不足。它也是一個開源項目,項目在github上進行托管:

https://github.com/themadinventor/esptool

雖然可以直接從github上下載使用,但是更好的方法是通過網絡的方式進行安裝,這樣不會缺少依賴模塊,減少運行中的故障。下面就介紹它的安裝方法。

  • 因為esptool.py需要使用python2,所以我們先需要安裝python2,並將python加入系統路徑(path)。
  • 安裝python的包管理器pip,通常是使用get-pip.py進行安裝。在 https://pip.pypa.io/en/latest/installing/ 可以找到安裝的說明和需要下載的文件,按照說明可以很容易安裝pip。(如果同時安裝了python2和python3,pip可能默認是pip3,需要用pip2來代替下面的pip,在Linux上需要用sudo權限安裝)。
  • 用pip安裝esptool
      pip install esptool
  • 因為esptool需要使用串口,所以還需要安裝pyserial。
      pip install pyserial


安裝后,在Linux下,通常就可以直接運行esptool.py,在Windwos下,esptool一般安裝在python2\Scripts\目錄下,需要輸入完整目錄才能運行,如:

        c:\Python27\Scripts\esptool.py

如果不清楚esptool.py的用法,可以輸入-h查看幫助,如

  esptool.py -h

甚至可以查看某個用法的幫助:

  esptool.py read_flash -h

 

二 問題解決

 

   在使用:make flash燒錄ESP8266版本時候,有時候會遇到這樣一個問題:a fatal error occurred :MD5 of file does not match data in flash!

面對這個問題,很多人會束手無策,這個時候,神奇小助手:esptool.py就登場了.

只需要一個命令:

 sudo ./esptool.py -p /dev/ttyUSB1 write_flash_status --non-volatile 0

即可解決問題。

注意事項:這個命令是在esp8266進入燒錄模式的時候才可以使用,在linux和mac下,一定要使用sudo

當顯示下面log的時候,說明燒錄成功了。

esptool.py v2.4.0
Connecting........_
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: b4:e6:2d:68:3b:96
Uploading stub...
Running stub...
Stub running...
Initial flash status: 0x0200
Setting flash status: 0x0000
After flash status: 0x0000
Hard resetting via RTS pin...

接下來,再使用:make flash 燒錄即可了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM