引:
手头上有一个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
3. 设备连接
将ESP32通过micro USB连接到电脑上,可以查看识别的串口号以备后用。
我们查看设备管理器
通过命令连接设备
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\Scripts
c:\Users\Administrator\AppData\Roaming\Python\Python310\Scripts>dir
驱动器 C 中的卷没有标签。
卷的序列号是 -BA3C
c:\Users\Administrator\AppData\Roaming\Python\Python310\Scripts 的目录
// : .
// : ..
// : 1, espefuse.py-script.py
// : , espefuse.py.exe
// : 1, espsecure.py-script.py
// : , espsecure.py.exe
// : 1, esptool.py-script.py
// : , esptool.py.exe
// : , pyserial-miniterm.exe
// : , pyserial-ports.exe
8 个文件 , 字节
2 个目录 ,,, 可用字节
然后我们再输入命令,返回的命令格式正确,却找不到COM5端口
c:\Users\Administrator\AppData\Roaming\Python\Python310\Scripts>esptool.py -p COM5 flash_id
esptool.py v4.3
Serial port COM5
Connecting......................................
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_id
esptool.py v4.3
Serial port COM5
Connecting..........
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting.........
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision v1.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 3c::bf:c7:ff:3c
Uploading stub...
Running stub...
Stub running...
Manufacturer:
Device:
Detected flash size: 4MB
Hard resetting via RTS pin...
至此,连接ESP32成功。
4. 固件擦除
我们擦除原有的固件代码
esptool.py --chip esp32 erase_flash
大家知道在烧录的时候,经常用到boot按键,在这里也是一样的,需要长按boot按键才是可以的。
我们可以看见提示符:
c:\Users\Administrator\AppData\Roaming\Python\Python310\Scripts>esptool.py --chip esp32 erase_flash
esptool.py v4.3
Found 2 serial ports
Serial port COM5
Connecting....
Chip is ESP32-D0WDQ6 (revision v1.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
WARNING: Detected crystal freq .01MHz is quite different to normalized freq 40MHz. Unsupported crystal in use?
Crystal is 40MHz
MAC: 3c::bf:c7:ff:3c
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 9.2s
Hard resetting via RTS pin...
5. 更新固件
就要将刚刚的bin文件下载到ESP32的板子中。
使用下面的命令:
esptool.py --chip esp32 --port COM5 --baud write_flash -z 0x1000 esp32--v1..bin
我们查看一下:
c:\Users\Administrator\AppData\Roaming\Python\Python310\Scripts>esptool.py --chip esp32 --port COM5 --baud write_flash -z 0x1000 esp32--v1..bin
esptool.py v4.3
Serial port COM5
Connecting.........
Chip is ESP32-D0WDQ6 (revision v1.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
WARNING: Detected crystal freq .01MHz is quite different to normalized freq 40MHz. Unsupported crystal in use?
Crystal is 40MHz
MAC: 3c::bf:c7:ff:3c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to
Changed.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x0017efff...
Compressed bytes to ...
Wrote bytes ( compressed) at 0x00001000 in seconds (effective kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
这部分是不需要按下boot按键的。
至此,我们的固件部分的安装就已完成。下面是配置PyCharm。
二、配置Pycharm
安装MicroPython插件
在设置选项卡里面进行操作
这样就安装完成了,由于之前安装过串口的包文件,所以不再安装,另外有这样的提示:
‘adafruit-ampy’要求安装的版本>=,<
文件的版本过低,会提示错误,我们通过pycharm直接升级即可,并不需要额外去安装。
三、编写代码并下载
板子上的蓝色灯接的是P2引脚,那么我们直接控制P2即可,也就是编写一个灯光闪烁的代码。
import time
from machine import Pin
P2 = Pin(2,Pin.OUT)
while True:
P2.on()
time.sleep_ms)
P2.off()
time.sleep_ms)
闪烁的频率为200ms亮、200ms灭,即可完成操作。
这些代码都是放到了main.py文件中进行。
下载的时候,可以使用鼠标右键,弹出菜单的形式进行编译和下载,也可以直接点击右上角的绿色运行按钮,都是可以的。
在信息栏中会看见是否下载成功的标识。
Connecting to COM5
Uploading files: 0% (0/1)
D:\My Project\Python\\main.py -> main.py
Uploading files: % (1/1)
Soft reboot
四、查看灯光闪烁的效果
结:
microPython官网有我们需要的一些资料。可以随时查看
官网:http://docs.micropython.org/en/latest/esp32/quickref.html
另外:CSDN网站上也有很多优秀的文章,可以进行参考。