首页
/ MicroPython远程控制工具mpremote详解

MicroPython远程控制工具mpremote详解

2026-02-04 04:32:04作者:殷蕙予

什么是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设计了智能的自动管理机制:

  1. 自动连接:当需要访问设备但未显式连接时,会自动连接第一个可用设备
  2. 自动软重置:在执行某些命令前会自动软重置设备,确保干净的Python环境
    • 可通过resume命令禁用此行为
    • 通过soft-reset命令手动触发

实用技巧与注意事项

  1. 组合命令:可以在一行中组合多个命令顺序执行

    mpremote cp main.py :main.py + repl
    
  2. 开发流程优化

    • 使用mount功能实现实时开发
    • 利用run命令快速测试脚本而无需部署
    • 通过edit命令直接编辑设备上的文件
  3. 安全提示

    • rm -r :/会删除设备上所有文件,操作需谨慎
    • 默认情况下会阻止访问挂载目录外的文件,可通过--unsafe-links覆盖
  4. 性能优化

    • 文件复制时会自动跳过哈希相同的文件
    • 使用-f强制覆盖已存在文件

自定义快捷方式

mpremote内置了一些常用快捷方式,如:

  • a0 = connect /dev/ttyACM0 (Linux)
  • c0 = connect COM0 (Windows)
  • ls = fs ls

用户还可以通过配置文件~/.config/mpremote/config.py定义自己的快捷方式。

总结

mpremote是MicroPython开发者的强大助手,它通过简洁的命令行界面提供了完整的设备管理功能。无论是日常的REPL交互、文件管理,还是复杂的开发工作流自动化,mpremote都能显著提升开发效率。掌握这个工具的使用,将使你的MicroPython开发体验更加流畅高效。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
466
kernelkernel
deepin linux kernel
C
32
16
atomcodeatomcode
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get Started
Rust
2.09 K
218
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
700
1.4 K
docsdocs
暂无描述
Dockerfile
780
5.08 K
pytorchpytorch
Ascend Extension for PyTorch
Python
758
968
flutter_flutterflutter_flutter
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
880
2.03 K
mindquantummindquantum
MindQuantum is a general software library supporting the development of applications for quantum computation.
Python
183
112
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.11 K
682