MicroPython远程控制工具mpremote详解
什么是mpremote
mpremote是MicroPython官方提供的一款命令行工具,它集成了多种实用功能,可以通过串口连接远程控制和管理MicroPython设备。这个工具极大地简化了MicroPython开发流程,让开发者能够更高效地进行设备交互、文件系统管理和自动化操作。
安装mpremote
安装mpremote非常简单,可以通过Python的包管理工具pip进行安装:
pip install --user mpremote
或者使用pipx(推荐用于隔离环境):
pipx install mpremote
安装完成后,直接运行mpremote
命令即可开始使用。
基本使用方法
最简单的使用方式是直接运行mpremote而不带任何参数:
mpremote
这会自动检测并连接到第一个可用的USB串行设备,提供一个交互式终端,你可以通过它访问REPL和查看程序输出。
核心功能命令
mpremote的强大之处在于它提供了一系列功能丰富的命令,这些命令可以单独使用,也可以组合使用。
设备连接管理
-
connect:连接到指定设备
connect auto
:自动连接第一个可用设备connect list
:列出所有可用设备connect id:<serial>
:通过USB序列号连接connect port:<path>
:通过设备路径连接
-
disconnect:断开当前连接
设备交互
-
repl:进入设备的REPL交互环境
- 支持多种选项如捕获输出、注入代码等
- 使用Ctrl-]或Ctrl-x退出
-
eval:执行并打印Python表达式结果
-
exec:执行Python代码
-
run:运行本地Python脚本文件
文件系统操作
mpremote提供了完整的文件系统管理功能:
mpremote fs <子命令>
支持的子命令包括:
ls
:列出目录内容cp
:复制文件(支持本地与设备间互传)rm
:删除文件mkdir
:创建目录cat
:查看文件内容touch
:创建文件df
:查看存储空间使用情况
文件操作采用了类似scp的语法约定,使用:
前缀表示设备上的路径。
高级功能
-
mount:将本地目录挂载到设备
- 开发时极为有用,可以直接编辑本地文件而无需反复上传
- 挂载后设备可以通过
/remote
访问本地文件
-
romfs:管理ROMFS分区
- 可以创建和部署ROMFS镜像
- 支持自动将.py文件编译为.mpy
-
rtc:设置/获取设备实时时钟
-
reset:硬重置设备
-
bootloader:进入设备引导程序
自动连接与软重置机制
mpremote设计了智能的自动管理机制:
- 自动连接:当需要访问设备但未显式连接时,会自动连接第一个可用设备
- 自动软重置:在执行某些命令前会自动软重置设备,确保干净的Python环境
- 可通过
resume
命令禁用此行为 - 通过
soft-reset
命令手动触发
- 可通过
实用技巧与注意事项
-
组合命令:可以在一行中组合多个命令顺序执行
mpremote cp main.py :main.py + repl
-
开发流程优化:
- 使用
mount
功能实现实时开发 - 利用
run
命令快速测试脚本而无需部署 - 通过
edit
命令直接编辑设备上的文件
- 使用
-
安全提示:
rm -r :/
会删除设备上所有文件,操作需谨慎- 默认情况下会阻止访问挂载目录外的文件,可通过
--unsafe-links
覆盖
-
性能优化:
- 文件复制时会自动跳过哈希相同的文件
- 使用
-f
强制覆盖已存在文件
自定义快捷方式
mpremote内置了一些常用快捷方式,如:
a0
=connect /dev/ttyACM0
(Linux)c0
=connect COM0
(Windows)ls
=fs ls
用户还可以通过配置文件~/.config/mpremote/config.py
定义自己的快捷方式。
总结
mpremote是MicroPython开发者的强大助手,它通过简洁的命令行界面提供了完整的设备管理功能。无论是日常的REPL交互、文件管理,还是复杂的开发工作流自动化,mpremote都能显著提升开发效率。掌握这个工具的使用,将使你的MicroPython开发体验更加流畅高效。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考