精仿手表網(wǎng)站超級推薦的關(guān)鍵詞怎么優(yōu)化
文章目錄
- 介紹
- 開始使用
- 下載項目
- 開啟服務端
- 開始遠程燒錄
- 后記
介紹
esp_remote_flash_tool
是一款基于 esptool.py 的遠程自動燒錄工具,支持 ESP32 和 ESP8266。
使用場景
- 基于 ESP-IDF 、ESP8266 NONO SDK、ESP8266 RTOS SDK 進行開發(fā)的項目
- 項目代碼存儲在 Linux 編譯機上,Windows 通過 SSH 連接到 Linux 進行開發(fā),且開發(fā)板連接在 Windows 開發(fā)機上
為什么選擇這樣的開發(fā)模式?
-
Windows 下編譯的效率太低,完整編譯一個程序大概需要 5-6 分鐘,而同樣的項目 Linux 僅需要 1 分鐘,所以在 Linux 下進行編譯開發(fā)可以大大提高效率。
-
但是,直接在 Linux 下開發(fā)可能遇到一些問題,比如:
- Linux 開發(fā)機是服務器,主機在服務器機房中,無法通過串口連接開發(fā)板進行燒錄和調(diào)試
- Linux下缺少好用的串口調(diào)試工具,而且如果遇到串口輸出中文的情況,還可能出現(xiàn)亂碼的問題
- Linux缺少一些常用的軟件,例如公司要求使用的辦公軟件
-
權(quán)衡之后,最佳開發(fā)方式將項目代碼存儲在 Linux 編譯機上,Windows 通過 SSH 連接到 Linux 進行開發(fā),且開發(fā)板連接在 Windows 開發(fā)機上,負責燒錄和調(diào)試。
問題與解決
因為開發(fā)板連接在 Windows 開發(fā)機上,每次修改完代碼想要驗證程序時,都需要經(jīng)過一系列步驟:
- 編譯程序
- 將編譯后的程序復制到開發(fā)機
- 利用燒錄軟件將程序燒錄到開發(fā)板
- 打開串口調(diào)試軟件進行調(diào)試
esp_remote_flash_tool
將這些步驟進行簡化,只需要執(zhí)行一行命令,就可以完成上述操作,提高了開發(fā)時驗證代碼的效率。
開始使用
項目地址
Github:https://github.com/CloudSir/esp_remote_flash_tool/
Gitee:https://gitee.com/Cloud-Sir/esp_remote_flash_tool
下載項目
# 使用Github
git clone https://github.com/CloudSir/esp_remote_flash_tool# 使用Gitee
git clone https://gitee.com/Cloud-Sir/esp_remote_flash_tool
開啟服務端
-
復制服務端程序:將 esp_remote_flash_tool 文件夾下的
server
復制到 Windows 開發(fā)機上 -
下載依賴:進入 Windows 開發(fā)機的
server
目錄,執(zhí)行
pip install -r requirements.txt
- 運行服務端程序:在 Windows 開發(fā)機的
server
目錄下執(zhí)行
python main.py
復制 running on 后面的服務器地址。
開始遠程燒錄
-
復制遠程燒錄客戶端程序:將 esp_remote_flash_tool 文件夾下的
client
復制到 Linux 編譯機上(與你的ESP項目文件夾同級文件夾下) -
下載依賴:進入 Linux 編譯機的
client
目錄,執(zhí)行
pip install -r requirements.txt
-
根據(jù)自己的項目的配置修改
client
目錄下的config.yaml
-
server_url: 剛才復制的服務器的文件地址
-
com_port:Windows 開發(fā)機下連接 ESP8266/ESP32 的串口號,如果 Winsows下只連接了一個串口,可以設(shè)置為
auto
,此時會自動選擇該串口 -
basic_options:esptool.py 的基本選項,與 esptool.py 的選項相同,具體請參考 esptool.py 的文檔
-
flash_options:esptool.py 的 flash 選項,與 esptool.py 的選項相同,具體請參考 esptool.py 的文檔
-
firmware_list:要燒錄的固件列表,是一個鍵值對類型,鍵為固件燒錄地址,值為固件文件的絕對路徑地址,例如:
firmware_list:0x0000: 'firmware/bootloader.bin'0x1000: 'firmware/app.bin'
-
-
你的項目編譯成功后,可以在 Linux 編譯機下調(diào)用
esp_remote_flash_tool
進行遠程燒錄(確保 Windows 開發(fā)機的服務器端程序已運行,且 Windows 開發(fā)機和 Linux 編譯機在同一局域網(wǎng)下)
# 確保 client 文件夾和項目文件夾在同一目錄下,且當前目錄是你的項目根目錄# 僅燒錄
python ../client/main.py# 編譯并燒錄(使用 make 構(gòu)建時)
make && python../client/main.py# 編譯并燒錄(使用 ninja 構(gòu)建時)
ninja && python../client/main.py# 編譯并燒錄(使用 idf.py 時)
idf.py build && python../client/main.py
后記
esp_remote_flash_tool
還處于開發(fā)階段,可能還有很多不足之處,起初只是為了方便自己開發(fā) ESP8266 時燒錄程序,如果你對這個項目感興趣,歡迎提 pull request 或 issue,大家一起完善這個工具。