MicroPthon环境搭建笔记
环境
- 系统:
windows10和wsl2子系统ubuntu - 硬件:esp8266 (4mb内存)
烧录固件
根据串口安装驱动
ESP8266烧录软件
- Flash Download Tools
- esptool
1
2
3
4
5
6pip install esptool #安装esptool
#常用命令
python -m esptool -h #查看命令
python -m esptool read_mac #查看设备
python -m esptool -p port erase_flash #擦除缓存
python -m esptool --port COMx --baud 115200 write_flash 0 esp8266-20220618-v1.14.bin #写入固件
串口映射wsl
由于我打算使用WSL进行烧录/编写代码/调试,后进过查询文档,由于WSL2的问题,无法直接进行对串口的操作。 我们需要借助usbipd-win完成映射
官方文档:比较 WSL 1 和 WSL 2
- usbipd-win
powershell以管理员启动安装
usbipd-winwinget install usbipd
在 Linux 中安装 USBIP 工具和硬件数据库
1
2
3sudo apt install linux-tools-5.4.0-77-generic hwdata
update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.4.0-77-generic/usbip 20常用命令
1
2
3usbipd wsl list #查询映射情况
usbipd wsl attach --busid X-X #设备映射
usbipd wsl detach --busid X-X #删除映射可能存在的错误
- usbipd: error: WSL kernel is not USBIP capable; update with ‘wsl –update’.
1
2wsl --update #更新内核
wsl --shutdown #关闭wsl(需重启)
- usbipd: error: WSL kernel is not USBIP capable; update with ‘wsl –update’.
代码上传
- ampy
安装
pip install adafruit-ampy常用命令
1
2
3
4ampy -p /dev/ttyUSB0 ls #查看文件列表
ampy -p /dev/ttyUSB0 get file localfile #下载至本地
ampy -p /dev/ttyUSB0 put file #上传文件
ampy -p /dev/ttyUSB0 rm file #删除文件
- uPyCraft 客户端
vs code编辑器RT-Thread MicroPython插件- …
调试
互动式窗口(REPL)
- GUI 软件连接
xshellputtyuPyCraft- …
- 命令行
picocom- 使用方式
picocom /dev/ttyUSB0 -b 115200
- 使用方式
- GUI 软件连接
运行脚本文件
配合代码上传后点ret,需要注意的是命名,通电后
boot.py执行后main.py执行。临时调试
- 运行
ampy -p /dev/ttyUSB0 run file - 使用
uPyCraft调试 配合插件 vs code 编辑器RT-Thread MicroPython插件 (无法在wsl内执行)
- 运行
坑
目前无论是
vs code还是pycharm都无法进行wsl2内进行调试,要不就把代码放在windows环境下,直接用插件调试,要不在wsl环境内就用ampy命令wsl环境下因串口终端或一些不知名原因会出现picocom或ampy命令卡死等现象,即便使用kill也无法杀死终止