Pycharm使用MicroPython开发ESP32
- 在B站看到王铭东老师的开发ESP32的教程
- 王铭东老师推荐使用Thonny,但是写代码提示不够智能
- 分别试了VSCODE和Pycharm,Pycharm更为方便
- 这篇博客已录制成视频发在 BiliBili
版本号
软件 | 版本 |
---|---|
Pycharm | 2022.3.3 社区版 |
MicroPython | 1.19.1 |
python | 3.10 |
前期准备
Pycharm安装插件
- Pycharm安装MicroPython插件
打开"File" > "Settings..." > "Languages & Frameworks" > "MicroPython"
- "Enable MicroPython support":勾选
- "Device type":选择"Pyboard"
- "Auto-detect device path":不勾选
- "Device path":填写ESP32的端口号,比如:我电脑中是"COM5"
创建python环境,并使用pip安装必要依赖
- 创建python文件时,Pycharm会提示需要安装依赖
pyserial==3.5
docopt==0.6.2
adafruit-ampy==1.0.7
打开服务栏中的"MicroPython"
- 点击执行图标
- 看到类似Thonny中的"MicroPython"版本信息及为成功
开发及调试
新建一个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
- 点击右上角,执行配置
- 此时会发现一个报错,提示内容大致是"...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会有提示修改信息,同意一下
- 再执行就可看到执行成功
到MicroPython界面中
- 使用import导入文件,并执行(所以python代码中不要判断是否main方法,否则无法执行)
import light.py
分析
- 打开Thonny可以看到,ESP32设备的文件多了一个light.py
- 所以Pycharm点击执行时,是将python文件上传到了ESP32内
- 我们再通过import的方式导入,由于文件中没有判断main方法,所以直接执行了
结尾
- Thonny是个不错的工具,对MicroPython兼容性很好,但是代码提示不够聪明
- 可以Pycharm和Thonny搭配使用
- 安利一个刚发现的在线仿真的网站Wokwi ,使用方式查看这个视频
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。