哦哇資訊網

Python挺酷的 | PyCharm MicroPython ESP32 開發環境搭建

由 勇敢大白菜 發表于 美食2022-12-13

引:

手頭上有一個ESP32的開發板,由於專案需要,準備進行評估測試一下。

之前安裝過PyCharm,現在準備使用Python進行開發,從網路上搜羅了一些資料。大概有了一些眉目,說幹就幹,走起來。

如果想要進行MicroPython開發,必然要先更新韌體bin檔案。

一、先把ESP32的韌體bin更新一下

1.下載韌體

最穩妥的就是官網下載了。

官網地址:https://micropython。org/download/esp32/

找到最新的版本。

進行下載:

我們下載完了之後,怎麼用這個bin檔案呢?需要找到一個ESP32的bin燒錄工具,這個就叫ESPTOOL,廠家做的很貼心,直接cmd指令就可以進行安裝了。

2. EspTool安裝

之前說過Python的庫檔案安裝,這個和庫檔案的安裝大同小異,都是使用的是pip指令。

pip install ——user esptool

Python挺酷的 | PyCharm MicroPython ESP32 開發環境搭建

3. 裝置連線

將ESP32透過micro USB連線到電腦上,可以檢視識別的串列埠號以備後用。

Python挺酷的 | PyCharm MicroPython ESP32 開發環境搭建

我們檢視裝置管理器

Python挺酷的 | PyCharm MicroPython ESP32 開發環境搭建

透過命令連線裝置

esptool。py -p PORT flash_id

將其中的PORT更換為COM5在命令提示符中進行輸入,相信很多人遇到和我一樣的問題,我總結一下,不是有效的內部命令問題。

C:\Users\Administrator>esptool。py -p COM5 flash_id‘esptool。py’ 不是內部或外部命令,也不是可執行的程式或批處理檔案。

這個是因為沒有進行路徑的設定PACH沒有設定,我們可以進入到esptool的安裝路徑使用命令即可。

C:\Users\Administrator>cd c:\Users\Administrator\AppData\Roaming\Python\Python310\Scriptsc:\Users\Administrator\AppData\Roaming\Python\Python310\Scripts>dir 驅動器 C 中的卷沒有標籤。 卷的序列號是 9247-BA3Cc:\Users\Administrator\AppData\Roaming\Python\Python310\Scripts 的目錄2022/10/31 15:43

。2022/10/31 15:43 。。2022/10/31 15:43 1,050 espefuse。py-script。py2022/10/31 15:43 74,752 espefuse。py。exe2022/10/31 15:43 1,052 espsecure。py-script。py2022/10/31 15:43 74,752 espsecure。py。exe2022/10/31 15:43 1,048 esptool。py-script。py2022/10/31 15:43 74,752 esptool。py。exe2022/10/31 15:43 106,383 pyserial-miniterm。exe2022/10/31 15:43 106,385 pyserial-ports。exe 8 個檔案 440,174 位元組 2 個目錄 325,530,390,528 可用位元組

然後我們再輸入命令,返回的命令格式正確,卻找不到COM5埠

c:\Users\Administrator\AppData\Roaming\Python\Python310\Scripts>esptool。py -p COM5 flash_idesptool。py v4。3Serial port COM5Connecting………………………………。。A fatal error occurred: Failed to connect to Espressif device: No serial data received。For troubleshooting steps visit: https://docs。espressif。com/projects/esptool/en/latest/troubleshooting。html

這個原因是因為我之前打開了虛擬串列埠造成的,還記得當時用的VSPD軟體吧。小技巧 | 工程師神器之虛擬串列埠軟體VSPD

開啟這個軟體將COM5進行關閉,重新試驗一下。

c:\Users\Administrator\AppData\Roaming\Python\Python310\Scripts>esptool。py -p COM5 flash_idesptool。py v4。3Serial port COM5Connecting……。。。。Detecting chip type。。。 Unsupported detection protocol, switching and trying again。。。Connecting……。。。Detecting chip type。。。 ESP32Chip is ESP32-D0WDQ6 (revision v1。0)Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme NoneCrystal is 40MHzMAC: 3c:71:bf:c7:ff:3cUploading stub。。。Running stub。。。Stub running。。。Manufacturer: 20Device: 4016Detected flash size: 4MBHard resetting via RTS pin。。。

至此,連線ESP32成功。

4. 韌體擦除

我們擦除原有的韌體程式碼

esptool。py ——chip esp32 erase_flash

大家知道在燒錄的時候,經常用到boot按鍵,在這裡也是一樣的,需要長按boot按鍵才是可以的。

Python挺酷的 | PyCharm MicroPython ESP32 開發環境搭建

我們可以看見提示符:

c:\Users\Administrator\AppData\Roaming\Python\Python310\Scripts>esptool。py ——chip esp32 erase_flashesptool。py v4。3Found 2 serial portsSerial port COM5Connecting。。。。Chip is ESP32-D0WDQ6 (revision v1。0)Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme NoneWARNING: Detected crystal freq 41。01MHz is quite different to normalized freq 40MHz。 Unsupported crystal in use?Crystal is 40MHzMAC: 3c:71:bf:c7:ff:3cUploading stub。。。Running stub。。。Stub running。。。Erasing flash (this may take a while)。。。Chip erase completed successfully in 9。2sHard resetting via RTS pin。。。

5. 更新韌體

就要將剛剛的bin檔案下載到ESP32的板子中。

使用下面的命令:

esptool。py ——chip esp32 ——port COM5 ——baud 460800 write_flash -z 0x1000 esp32-20220618-v1。19。1。bin

我們檢視一下:

c:\Users\Administrator\AppData\Roaming\Python\Python310\Scripts>esptool。py ——chip esp32 ——port COM5 ——baud 460800 write_flash -z 0x1000 esp32-20220618-v1。19。1。binesptool。py v4。3Serial port COM5Connecting……。。。Chip is ESP32-D0WDQ6 (revision v1。0)Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme NoneWARNING: Detected crystal freq 41。01MHz is quite different to normalized freq 40MHz。 Unsupported crystal in use?Crystal is 40MHzMAC: 3c:71:bf:c7:ff:3cUploading stub。。。Running stub。。。Stub running。。。Changing baud rate to 460800Changed。Configuring flash size。。。Flash will be erased from 0x00001000 to 0x0017efff。。。Compressed 1560976 bytes to 1029132。。。Wrote 1560976 bytes (1029132 compressed) at 0x00001000 in 24。4 seconds (effective 511。4 kbit/s)。。。Hash of data verified。Leaving。。。Hard resetting via RTS pin。。。

這部分是不需要按下boot按鍵的。

至此,我們的韌體部分的安裝就已完成。下面是配置PyCharm。

二、配置Pycharm

安裝MicroPython外掛

在設定選項卡里面進行操作

Python挺酷的 | PyCharm MicroPython ESP32 開發環境搭建

這樣就安裝完成了,由於之前安裝過串列埠的包檔案,所以不再安裝,另外有這樣的提示:

‘adafruit-ampy’要求安裝的版本>=1。0。5,<1。1

檔案的版本過低,會提示錯誤,我們透過pycharm直接升級即可,並不需要額外去安裝。

三、編寫程式碼並下載

板子上的藍色燈接的是P2引腳,那麼我們直接控制P2即可,也就是編寫一個燈光閃爍的程式碼。

import timefrom machine import PinP2 = Pin(2,Pin。OUT)while True: P2。on() time。sleep_ms(200) P2。off() time。sleep_ms(200)

閃爍的頻率為200ms亮、200ms滅,即可完成操作。

這些程式碼都是放到了main。py檔案中進行。

下載的時候,可以使用滑鼠右鍵,彈出選單的形式進行編譯和下載,也可以直接點選右上角的綠色執行按鈕,都是可以的。

Python挺酷的 | PyCharm MicroPython ESP32 開發環境搭建

在資訊欄中會看見是否下載成功的標識。

Connecting to COM5Uploading files: 0% (0/1)D:\My Project\Python\01\main。py -> main。pyUploading files: 100% (1/1)Soft reboot

四、檢視燈光閃爍的效果

Python挺酷的 | PyCharm MicroPython ESP32 開發環境搭建

結:

microPython官網有我們需要的一些資料。可以隨時檢視

官網:http://docs。micropython。org/en/latest/esp32/quickref。html

另外:CSDN網站上也有很多優秀的文章,可以進行參考。

TAG: pyesptoolPythonFlash10