Pycharm使用MicroPython開發ESP32

言午日堯耳總發表於2023-03-16

Pycharm使用MicroPython開發ESP32

  • 在B站看到王銘東老師的開發ESP32的教程
  • 王銘東老師推薦使用Thonny,但是寫程式碼提示不夠智慧
  • 分別試了VSCODE和Pycharm,Pycharm更為方便
  • 這篇部落格已錄製成影片發在 BiliBili

版本號

軟體版本
Pycharm2022.3.3 社群版
MicroPython1.19.1
python3.10

前期準備

Pycharm安裝外掛

  • Pycharm安裝MicroPython外掛

1Pycharm-plugin.png

  • 開啟"File" > "Settings..." > "Languages & Frameworks" > "MicroPython"

    • "Enable MicroPython support":勾選
    • "Device type":選擇"Pyboard"
    • "Auto-detect device path":不勾選
    • "Device path":填寫ESP32的埠號,比如:我電腦中是"COM5"

2Pycharm-Settings.png

  • 建立python環境,並使用pip安裝必要依賴

    • 建立python檔案時,Pycharm會提示需要安裝依賴
pyserial==3.5
docopt==0.6.2
adafruit-ampy==1.0.7
  • 開啟服務欄中的"MicroPython"

    • 點選執行圖示
    • 看到類似Thonny中的"MicroPython"版本資訊及為成功

3micropython.png

開發及除錯

  • 新建一個python檔案如:"light.py",編寫MicroPython程式碼,如王銘東老師這篇點亮LED燈的程式碼

    • 控制ESP32的LED燈閃爍
import machine
import time


pin2 = machine.Pin(2, machine.Pin.OUT)

while True:
    pin2.value(1)
    time.sleep(1)
    pin2.value(0)
    time.sleep(1)
  • 點選右上角的執行配置(Run/Debug Configurations)
  • 新增"MicroPython"配置

    • Name: 用於顯示在右上角執行下來列表中,大家隨便填
    • Path:選擇要上傳檔案的完整路徑
    • Open MicroPython REPL on success:建議勾選,用於上傳完成後跳轉到MicroPython

4run.png

  • 點選右上角,執行配置
  • 此時會發現一個報錯,提示內容大致是"...could not enter raw repl"
  • 在社群的這篇帖子找到解決方法

    • 在專案目錄中
    • 開啟"External Libraries" > python環境 > "site-packages" > "ampy" > "pyboard.py"
    • 在檔案中搜尋"self.serial.write(b'\r\x01') # ctrl-A: enter raw REPL"
    • 這這句上方增加"time.sleep(2)"

      • Pycharm會有提示修改資訊,同意一下

5ampy.png

  • 再執行就可看到執行成功
  • 到MicroPython介面中

    • 使用import匯入檔案,並執行(所以python程式碼中不要判斷是否main方法,否則無法執行)
import light.py

分析

  • 開啟Thonny可以看到,ESP32裝置的檔案多了一個light.py
  • 所以Pycharm點選執行時,是將python檔案上傳到了ESP32內
  • 我們再透過import的方式匯入,由於檔案中沒有判斷main方法,所以直接執行了

6Thonny.png

結尾

  • Thonny是個不錯的工具,對MicroPython相容性很好,但是程式碼提示不夠聰明
  • 可以Pycharm和Thonny搭配使用
  • 安利一個剛發現的線上模擬的網站Wokwi ,使用方式檢視這個影片

相關文章