| ESP32 教學 | MicroPython | 燒錄 micropython韌體| 103 |

在前面幾篇文章介紹了 ESP32 的相關基本認知後,這篇就要開始來進入 MicroPython 的世界,MicorPython 最早是一個實現在 STM32F 的嵌入式硬體平台的開放原始碼專案,也就是大家認識的 Pyboard,也由於越來越多愛好者使用這樣的程式,也就漸漸開始移植到到其他的硬體核心,像是 ESP8266 或 ESP32 等,我們如果要使用 python 語法進行嵌入式系統的開發,就要先燒錄  micropython 對應的韌體到指定平台上,所以這篇就要來分享如何下載與燒錄。(本文以 nodemcu-32s 作為下載範例,其他 ESP32 的開發板也可以適用)

1. 安裝 Python3 至 PC

首先必須先安裝 python 程式包到我們的使用平台,在 Linux 或 mac 的作業系統內,都已內建 python 相關的直譯器,windows 則需額外下載安裝,這邊需要注意的是有 python2 與 python3 的版本差異,兩個版本語法並不相容,如需要確認目前的版本,可以在打開『命令提示字元』或 powershell (windos10) 的視窗下,打入:   python --version

就可以確認目前版本為 2 或 3 了,此次我們先來示範如何安裝 python3 到 windows 平台。先進入 python 的官方網站 https://www.python.org/,找到 download 選單,並選擇 windows 平台。

此時可以看到許多的版本可以下載,目前為最新的穩定版本是 3.9.0,各位朋友可以自己斟酌選擇 x86 或 x64 的版本下載安裝即可。

安裝重點如下:

1.記得勾選加入 PATH,並選擇預設安裝即可。

2.安裝完後,開啟 Powershell (或命令提示字元),直接打入 python --version,確認是否安裝成功與版本。

2. 安裝 Esptool 套件

esptool.py 是一個可以拿來下載與燒錄ESP32韌體的套件,操作上是屬於 CLI 介面的工具,雖然我們這篇後續會採用 windows 專用的燒錄工具來燒錄 MicroPython 底層的韌體(比較直覺~),但很多的開發用 IDE 或外掛套件都是採用這個 esptool 作為底層燒錄的程式,所以 JIMI哥 還是推薦大家先安裝可以避免麻煩。安裝也很簡單,在 PowerShell (或命令控制字元)下,打入下面指令:

pip install esptool

在看到一連串安裝程序後,就安裝完成。

有興趣的朋友,安裝後可以在打入esptool.py,了解一下參數的下法。

3. 下載 MicroPython 燒錄檔

∇ 接下來我們直接去 micropython 的官網搜尋我們需要的韌體進行下載。

∇ 進入網站後可以看到許多的硬體平台都是支援的,如STM32、TI CC3200、ESP8266與ESP32等,點擊進入ESP32的頁面。

∇ 目前 micropython 的穩定版本是v1.3版,建議如無特殊需求,下載此版本即可, JIMI哥目前也是用這個版本在測試,另外還有兩個地方須注意:

  1. 韌體有分 generic 跟  generic-spiram 的差別,這個地方就得看手邊的 esp32 module 是否有內建外部的 spiram, 如果不確定就選 generic 就可。
  2. ESP-IDF4 是 espressif 推出比較新的架構,IDFv3.x 是穩定支援的架構,選擇 v3.x 的版本就可以了。

4. 安裝 USB-UART Bridge 驅動程式

下面這個步驟主要是安裝 ESP32 開發板上的 USB-to-UART 的驅動程式,因為我們後續會使用 nodemcu-32s 這塊實驗板來進行開發,上面的晶片是用 CP2102 作為橋接的晶片,windows 系統並無內建驅動程式,所以我們先到官網進行安裝。

∇ 進入 Silicon Labs 官網的 CP210x 的驅動程式下載頁面。https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

∇ 點選安裝

∇ 將 ESP32 實驗板透過 USB 線連接至電腦確認驅動程式安裝成功。(我的電腦安裝在 COM3 )

5. 下載 windows 專用 FlashTools

要燒錄 microptyhon 的韌體到 esp32 核心,有許多軟體工具可以達成,例如我們之前安裝的 esptool,而我們今天選擇的作業系統如果是 windows 的話,最快的方法就是利用 espressif 官方所提供圖形化界面的 FlashTool 來進行燒錄動作,官方燒錄工具的下載連結如下:

https://www.espressif.com/en/support/download/other-tools

下載後直接解壓縮成資料夾,點擊主程式即可執行。

6. 燒錄 micropython 韌體

在進行燒錄動作前,除了準備 ESP32 的實驗板外,請先確認好上述 5 個工作已完成:安裝 Python3+ esptool 套件、準備好 MicroPython 燒錄檔、USB 驅動程式已安裝完成、已有 windows 平台燒錄 tool。

1.將實驗板透過 USB 線材連接到電腦。

2.開啟 flash_download_tool 程式,選擇 developer mode。

3.根據你手上的 module 選擇適當的晶片,這邊選擇 ESP32 Download Tool。

4.選擇我們想要燒錄的 MicroPython bin 檔,位址選擇 0x1000,記得韌體檔設定前面的打勾要選上,COM 的編號要選擇自己電腦上驅動程式安裝的編號( JIMI哥的編號是 COM3),其他設定如圖面,最後按下『START』。

5. Flash 開始進行下載,等待出現 FINISH 後,就下載完成。

7. 總結

這篇主要是說明當我們想要使用 Micropython 在 ESP32 這樣的硬體平台,事先的準備工作與須安裝的工具軟體說明,而燒錄 bin 檔到 ESP32 模組的方法很多種,除了 JIMI哥所提到的官方的 Flash Download Tool 外(但是 windows 限定),使用 Mac 或 Linux 的朋友,esptool.py 這個跨平台的套件也是個不錯的方法,就是得學習一下指令的用法即可,有需要的話,JIMI哥也可以在寫一篇關於如何使用這個工具下載韌體,最後如果大家在燒錄時有遇到什麼問題時,歡迎留言與我討論喔。

↓↓↓↓↓↓賣場連結↓↓↓↓↓↓

歡迎大家有需要的話,可以多多支持一下我們的蝦皮賣場喔! 😀 

吉米家官方店-創客機器人材料專賣 https://shopee.tw/jimirobot.tw

Follow JIMI哥 Twitter : https://twitter.com/jimirobot  <–得到最新文章通知

This Post Has 6 Comments

  1. 想請問 micropython是不是沒有esp32-pico類型的韌體

  2. 老師我之前使用esp32是使用micropython,現在我想用arduino去寫,那我之前的環境會不會影響到燒錄?
    ,如鬼會的話我要怎麼解決?

    1. Hi, ESP32 在 micropython 與 Arduino C 兩個平台切換開發是沒有問題的,只是一旦用 arduino IDE燒錄過程式後, 如果未來想要在用 micropython 語法開發,就要再燒錄一次 micropython 的韌體一次才行.如果擔心會有問題, 可以再切換平台前用esptool或乐鑫的flash下載工具(https://www.espressif.com/zh-hans/support/download/other-tools), 清除一下flash即可.

  3. 老師好,我是個初學者,對於程式設計並不是很了解,但想使用esp32然後藉由micro python自製四軸飛行器,當作學校的自主學習課程,但在程式方面不知該如何下手,可否請老師指點,謝謝您。

    1. 你好, 關於 ESP32+ Micropython 的四軸專案, 目前市面上已有相關的套件或資料皆可參考, 可以Google Esp32+Micropython+ 四軸飛行器,找一個你覺得OK的套件資料,配合演算法的理解, 應該就可以讓學習曲線加速。

發佈留言

Close Menu