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开发体验更加流畅高效。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00