拿到树莓派 Pico 之后,大多数人做的第一件事就是刷 MicroPython 固件,然后迫不及待想敲几行代码看看“hello world”。这一步绕不开一个叫 REPL 的东西。网上搜一圈,教程里反复出现三款工具:mpremote、Putty、MobaXterm。我手头正好有块 Pico,干脆把三款都装了一遍,连着同一块板子实测了一周,反复插拔、软复位、传文件、改代码,把各自的脾气摸了个透。这篇文章就把三款工具的真实表现、设置细节、藏着的坑和适用人群一次性说清楚,正纠结选哪款的朋友可以直接抄作业。
1. 先搞清楚:树莓派 Pico 的 REPL 是啥,为什么你要专门连它
1.1 REPL 不是聊天机器人,是 MicroPython 的“当面交互窗口”
REPL 的全称是 Read-Eval-Print Loop,翻译过来就是“读取-求值-打印-循环”。这名字听着唬人,实际上就是一台 Python 解释器摆在你面前,你敲一行,它执行一行,然后把结果打给你看。树莓派 Pico 刷完 MicroPython 固件之后,本身就是一台微型的 Python 解释器,REPL 就是你跟它“面对面聊天”的窗口。
为什么这东西对嵌入式开发特别重要?因为没有 REPL 的时候,你改一次代码就要把单片机擦掉重烧一次固件,循环往复非常折腾。有了 REPL,你可以一条命令一条命令地试探硬件行为。比如我想控制舵机,传统流程是写完整段代码、烧录、观察转不转、不转再改再烧。现在可以直接在 REPL 里敲:
from machine import Pin, PWM servo = PWM(Pin(0), freq=50) servo.duty_u16(4000)敲完舵机立刻动,不用编译不用烧录,这种即时反馈在调试硬件时候太救命了。而且 Pico 的 REPL 本身就是一个完整的 Python 环境,变量、循环、函数、异常处理全都支持,你可以在里面搭积木一样把逻辑拼出来,确认没问题再落盘成 main.py。理解这一点,你就知道为什么 REPL 终端工具的选择如此关键——它是你所有调试动作的入口,用得顺不顺心直接决定开发效率。
1.2 连 REPL 的本质:一条虚拟串口加一个终端模拟器
表面上看,mpremote、Putty、MobaXterm 是完全不同的三款软件,但底层干的其实是同一件事:通过串口和 Pico 通信。Pico 的 MicroPython 固件会启用 USB CDC 功能,把 USB 线虚拟成一个串口设备。在 Windows 上它显示为 COM3、COM5 之类的端口号,在 Linux 上通常是 /dev/ttyACM0,在 macOS 上则是 /dev/cu.usbmodem 开头的一串路径。
REPL 的通信参数是固定的:波特率 115200,8 位数据位,1 位停止位,无校验,流控无。三款工具最终都要按这个参数把串口打开,才能在终端窗口里看到黄色的“>>>”提示符。
这里有个容易让新人懵的点:USB 虚拟串口的波特率在多数操作系统上其实只是个标签,不太影响实际传输,但 MicroPython 默认就按 115200 配置,所以老老实实填 115200 准没错。我试过填 9600 或者 460800,发现有些串口工具也能连上,但偶尔会出现乱码或者输入不回显的怪问题。既然默认参数是 115200,就别作妖,照填就完了。
打个不那么严谨的比方:Pico 是厨房里的大厨,REPL 是传菜的小窗口,这三款工具就是你站在窗口外面接菜用的托盘。托盘长什么样不影响菜的味道,但拿得顺不顺手、能不能一次性端走好几盘菜,就只有用过的人才知道。
2. 三款工具横评:出身、定位与适用人群
2.1 mpremote:MicroPython 官方亲儿子,终端党的效率神器
mpremote 是 MicroPython 官方推出的命令行工具,作者就是 MicroPython 的创始人 Damien George,所以它对 Pico 的原生支持度是另外两款完全比不了的。安装方式极其简单,只要电脑上有 Python 环境,一条命令搞定:
pip install mpremotempremote 没有图形界面,一切操作都在终端里完成。它的核心优势不是“连线进 REPL”这么简单,而是把所有日常开发动作都做成了命令。比如往 Pico 里传一个脚本:
mpremote cp main.py :运行本地脚本文件:
mpremote run main.py列目录、删文件、软复位、挂载本地目录,全都能一条命令完成。这种能力意味着你可以完全不打开任何文件管理器,就能完成“写代码—传文件—跑测试—清理”的完整闭环。
但它的缺点也很明显:命令行对不熟的朋友有门槛,而且必须有 Python 环境才能用。如果你平时根本不碰 Python,就为了连一下 Pico 装个环境总觉得有点重。不过在我看来,只要你在玩 MicroPython,Python 环境就相当于基本功,装一个不亏。
2.2 Putty:轻到极致的老牌终端,适合临时救急
Putty 可以说是终端工具里的老古董了,1998 年就发布了第一个版本,主打 SSH 远程连接,但串口模式同样完整。它最大的优势是轻:单个 exe 文件,下载就能跑,不用安装、不用注册、不绑定 Python 环境。网上搜索“putty 下载”“putty 官网”“putty 安装及使用教程”这些词常年有热度,说明它在很多场景都是入门首选。
用它连 Pico 只需要三步:打开软件,连接类型选 Serial,填上 COM 口和波特率,点 Open。界面虽然简陋得像上个世纪的产物,但连接稳定性和资源占用几乎无可挑剔,后台挂一整天也不吃多少内存。
不过 Putty 在细节体验上确实落后了。复制粘贴不是 Windows 标准的 Ctrl+C/Ctrl+V,而是鼠标选中即复制、右键粘贴,第一次用的人十有八九会懵。字体大小、颜色主题都要进设置里一层层翻,默认的白色背景看久了眼睛疼。还有个历史包袱:Putty 的会话配置默认写在 Windows 注册表里(路径是 HKEY_CURRENT_USER\Software\SimonTatham\PuTTY),绿色版换电脑没法直接带走配置,重新配一遍挺烦的。
如果你只是偶尔连一下 Pico 敲两行验证代码,不想装任何多余的东西,Putty 仍然是个值得尊敬的选择。它不会给你惊喜,但绝不会掉链子。
2.3 MobaXterm:全家桶式终端,重运维用户的集大成者
MobaXterm 在服务器运维圈、虚拟机用户群体里有很高的知名度,热搜词里“mobaxterm 连接不上虚拟机”“mobaxterm 使用教程”“mobaxterm 下载”这些词常年在线,侧面说明它的用户基数有多大。它是一款集大成式的终端工具,SSH、串口、RDP、VNC、SFTP、X11 转发全都有,界面是标签页式的,还能保存登录密码、录制宏、输出日志。
MobaXterm 连接 Pico 也很方便:新建会话,类型选 Serial,下拉框里选 COM 口,波特率填 115200,确定就能进 REPL。它的多标签页设计是刚需场景的福音——我可以左边开一个 SSH 会话管理远程服务器,右边开一个串口会话调试 Pico,完全互不干扰。
但 MobaXterm 的问题同样明显。免费版 Home Edition 对可保存的会话数量做了严格限制,网上说法从 12 个到 15 个不等,不同版本略有差异,反正非常不够用,删掉旧会话才能建新的。软件本身装在电脑上体积不小,启动速度明显比 Putty 慢,串口打开时还经常感觉有半秒到一秒的延迟(热搜词里“mobaxterm 串口连接慢”就是这么来的)。另外,官方至今没出中文版,网络上流传的汉化包我不太建议装,一是来源不明有安全风险,二是每次升级都失效,纯粹给自己找麻烦。菜单就那么几个词,用几天就熟了,为了汉化折腾不值得。
2.4 三款工具核心参数对比
| 对比维度 | mpremote | Putty | MobaXterm |
|---|---|---|---|
| 出身背景 | MicroPython 官方出品 | 老牌开源终端 | 商用免费+专业版 |
| 安装方式 | pip 安装,需 Python | 单 exe 免安装 | 安装版或便携版 |
| 界面形态 | 纯命令行 | 简陋图形界面 | 现代多标签界面 |
| 连接 Pico 步骤 | 一条命令 | 三步操作 | 新建会话三步操作 |
| 文件传输能力 | 自带 cp/run/mount | 不支持 | 串口会话下不支持 |
| 会话保存能力 | 无(靠命令) | 注册表保存 | 免费版数量受限 |
| 启动速度 | 秒开 | 极快 | 慢 |
| 学习成本 | 需记命令 | 很低 | 中等 |
| 适合人群 | 开发者日常使用 | 临时救急 | 多设备管理用户 |
3. 实战走一遍:三种方式从零连上 Pico REPL
3.1 前置准备:固件、驱动、端口识别,一个都不能少
在比较三款工具之前,先把基础环境准备好。如果你已经有一块能进 REPL 的 Pico,可以跳过这一节;如果刚拿到板子,按下面的步骤走一遍。
第一步是烧录 MicroPython 固件。下载 .uf2 格式的固件文件(microPython 官网按板型选择),然后用 USB 线连接 Pico 和电脑。注意要按住板子上的 BOOTSEL 按钮再插 USB,这样 Pico 会进入 USB 存储模式,电脑上出现一个名为 RPI-RP2 的移动磁盘。把 .uf2 文件直接拖进去,板子会自动重启,存储盘符消失,固件就烧好了。
第二步是确认串口设备。Windows 上打开设备管理器,展开“端口(COM 和 LPT)”,能看到一个 USB 串行设备,记住后面的 COM 编号。Linux 上执行 ls /dev/ttyACM*,macOS 执行 ls /dev/cu.usbmodem*。这里有个小技巧:插拔一次 USB 线,对比前后端口列表的变化,新出现的那个就是 Pico。很多排错问题最后都卡在端口识别这一步,用这个技巧能快速验证是不是板子压根没被系统认出来。
第三步是排除端口占用。如果你之前跑过 Thonny 或者其他串口工具,它们释放端口不彻底,会导致后续工具提示“端口被占用”。最简单的办法就是先关掉所有可能占用串口的软件再继续。Win10/11 系统下 RP2040 的 USB 串口一般免驱,如果设备管理器里出现了带黄色感叹号的未知设备,先换一根数据线试试——那种只能充电不能传数据的线,是排查清单里永远排前三的罪魁祸首。
3.2 mpremote 实操:从安装到进入 REPL,一条命令走天下
mpremote 的安装我之前已经写过,pip install mpremote 即可。安装完成后,最快速进入 REPL 的命令是:
mpremote repl这条命令会自动查找当前唯一连接的 MicroPython 设备,连接并进入 REPL。如果同时插了多块板子,就需要先指定设备:
mpremote connect /dev/ttyACM0 replWindows 下把设备路径换成 COM3 就行。进入 REPL 后你可以正常敲 Python 代码,Pico 会实时响应。我实测的时候最喜欢用 Ctrl+E 进入粘贴模式,把一长段代码整个粘进去,再按 Ctrl+D 执行,避免了逐行敲的麻烦,也避开了终端对特殊字符的解释问题。退出 REPL 返回系统命令行按 Ctrl+] 即可,这个快捷键第一次用容易忘,我后来直接写在便利贴上贴在显示器旁边。
mpremote 真正别人替代不了的是文件相关命令。日常开发流程我最常用的是这套组合拳:
# 把本地写好的脚本传到 Pico mpremote cp servo.py : # 直接运行脚本,跑完自动回到系统命令行 mpremote run servo.py # 列出 Pico 上所有文件 mpremote ls # 挂载当前目录到 Pico,代码改了就生效,不用反复传文件 mpremote mount .尤其那个 mount 命令,直接把本地文件夹挂载到 Pico,MicroPython 运行脚本时读到的就是本地文件。改代码、保存、立刻在 REPL 里 import 测试,这个体验用过就回不去了。要说痛点,就是它必须在终端里操作,对图形界面依赖型选手不太友好,另外电脑上没有 Python 环境就无法使用。
3.3 Putty 实操:老古董的固执,全在参数设置里
打开 Putty 后的默认界面是 Session 配置页,第一眼看上去信息很密,但连 Pico 只需要关注几个地方。Connection type 选 Serial(串口),Serial line 填 COM3(根据你设备管理器里看到的编号填),Speed 填 115200,然后点 Open。就这么简单。
不过这里还藏着一个容易忽略的选项:在左侧的 Category 树里展开 Connection -> Serial,能看到 Data bits、Stop bits、Parity、Flow control 四个参数。默认情况下 Data bits 是 8、Stop bits 是 1、Parity 是 None,这几个都不用动。但 Flow control(流控)默认可能不是 None,我建议把它改成 None。USB 虚拟串口不需要硬件流控,如果开着 XON/XOFF 之类,偶尔会出现 REPL 输出卡住或者输入失灵的情况。这个问题当年折腾了我一晚上,最后发现就是流控设置闹的。
连上之后,Putty 的终端窗口会显示 MicroPython 的版本信息和 >>> 提示符。这时就可以开始你的 REPL 之旅了。Putty 有一个需要特别记住的操作习惯:鼠标选中就是复制,右键点击就是粘贴。不能用 Ctrl+C 终止运行中的代码,也不能用 Ctrl+V 粘贴,这两点在 Windows 用户群体里劝退了好多人。我的应对办法是:长代码先用记事本写清楚,再在 REPL 里右键粘贴进入;需要中断程序时直接按 Ctrl+C 往终端发送中断信号(这个是可以的,Putty 会把 Ctrl+C 当作正常按键发给串口)。
Putty 也支持保存会话。在 Session 页的 Saved Sessions 框里输入一个名字,比如 pico-repl,点 Save,下次就能直接双击打开,不用重新填参数。这些会话默认存在注册表里,路径是 HKEY_CURRENT_USER\Software\SimonTatham\PuTTY。如果你像我一样喜欢绿色免安装版,换电脑后这些配置就丢了,得重新填一遍。
3.4 MobaXterm 实操:功能多到眼花,但我只用串口这一个
MobaXterm 我用的 Portable 便携版,解压就能运行。第一次启动会比 Putty 明显慢,毕竟是个“全家桶”,加载的东西多。进入主界面后,点左上角的 Session 按钮,弹窗里选 Serial 图标,然后把 Serial port 选成 COM3,Speed (bps) 填 115200,点击 OK。
这里有一个细节:MobaXterm 的串口会话默认会打开一个纯终端窗口,左侧的“远程文件”浏览面板在 SSH 会话下能看到远程服务器文件,但在串口会话下并不会显示 Pico 的文件系统。很多人第一次用会疑惑为什么左边是空的,其实这不是你操作错了,而是 Pico 的 REPL 没有暴露文件系统访问接口。想看文件、传文件,还是得用 mpremote 或者编程方式实现。MobaXterm 在 Pico 调试场景下,更多是充当一个功能丰富的终端模拟器。
它真正值钱的地方在于多标签页和日志功能。调试舵机时我需要同时开两个串口会话比对不同参数下的角度响应,Putty 得开两个进程,窗口漂在桌面上乱糟糟;MobaXterm 两个标签页并排,切换只在点击之间。日志功能也很好用:右键点击会话,选择 Edit session -> Terminal settings,可以给输出打时间戳写入文件。调试传感器数据时把长时间运行的输出直接落到文件里,跑一晚上再慢慢分析,这在另外两款工具里都是花钱或者折腾半天才能做到的事。
免费版的会话数量限制是 MobaXterm 最大的硬伤。我之前建了大概十几个会话(SSH 加串口加隧道),突然弹窗提示免费版会话数已达上限,明明想新建一个 Pico 会话就是建不了,只能回头删掉不用的旧会话腾位置。这个限制在官网上写得明白,免费版就靠这个逼你升级专业版,预算充足或者重度多设备用户可以考虑付费,但纯玩单片机的还真没必要。
4. 深入对比:连接稳定性、开发效率与真实的坑
4.1 连接稳定性与断线恢复体验,谁更扛造?
嵌入式调试过程中,板子软复位(Ctrl+D)、代码跑飞、USB 重新枚举,这些操作一天能遇到几十次。三款工具在这方面的表现差异非常明显。
mpremote 的容错做得不错。在 REPL 里按 Ctrl+D 做软复位,窗口会重新输出启动信息并回到提示符,连接不会断。但如果代码跑死导致 USB 重枚举,或者你手动拔插 USB 线,mpremote 的连接会丢失,需要重新执行 connect 命令。好消息是 mpremote 支持把连接和进入 REPL 写成一条命令,断开后按上箭头找到历史命令回车即可,恢复代价很低。
Putty 是我用过最“稳”的。它本质上是一个无状态的串口代理,你按 Ctrl+D 复位,它不会多管闲事,窗口继续挂在那个端口上,Pico 重启完成后 REPL 自动恢复。即使拔掉 USB 线再插回去,Putty 显示“连接断开”,你只需要重新点开保存的会话,三步重新建立连接,几乎没有学习成本。
MobaXterm 在稳定性上同样够用,但它有个让人无语的现象:如果同时开了多个会话,其中某个串口会话卡死,会影响整个程序的操作响应(比如切换标签页卡一下)。我一开始以为是我电脑配置的问题,后来在论坛里看到有不少人都有类似反馈。另外,MobaXterm 默认会自动扫描本机串口设备,插拔 Pico 时它偶尔会弹通知或重新扫描,对话框一闪而过还好,次数多了确实有点烦。
三款工具在 Ctrl+D 软复位场景下都能正常恢复到 REPL,换句话说,日常开发稳定性都不用太担心。真正拉开差距的是拔插 USB 后的重连体验:Putty 最直接,MobaXterm 稍繁琐,mpremote 命令最快。
4.2 开发效率:传文件和跑脚本才是分水岭
如果只是进 REPL 敲两行测试代码,三款工具用起来大差不差。一旦进入“写文件—传文件—运行—调试”的循环,差距就非常明显了。
先说 mpremote。它把“运行本地脚本”做成了原生功能,mpremote run servo.py 会直接在 Pico 上执行这个文件,整个过程不需要先把文件传到 Pico 再手动 import。这意味着你在电脑上用任何编辑器写好代码,终端里敲一下命令就能看到结果,配合 mount 挂载当前目录更是丝滑。这种开发模式是我目前效率最高的状态。
Putty 在文件传输方面是零能力。MicroPython 官方没有提供类似“拖拽上传”的机制,Putty 只是一个终端,你只能把代码通过粘贴模式塞进 REPL。小脚本还好,一旦脚本超过几十行,粘贴进去还要处理缩进和空行问题,极其痛苦。我见过有人专门写了一段“REPL paste file”的 Python 辅助脚本来实现文件传输,但那是给已经熟练的玩家准备的绕路方案,绝不是开箱即用的体验。
MobaXterm 的情况和 Putty 类似,串口会话本身不带文件传输。虽然 MobaXterm 自带的 SFTP 面板在 SSH 会话里好用,但 Pico 没有暴露 SFTP 服务,面板想帮也帮不上。它比 Putty 强的地方在于多标签和宏功能:如果你有一段反复要执行的初始化代码,可以录一个宏,每次一键重放,省去手动粘贴的重复劳动。
具体到项目里,我调试那个舵机控制脚本时就有切身体会。用 mpremote,我在 VS Code 里写好 30 行的舵机控制逻辑,终端里 mpremote run servo.py,立刻看到舵机开始摇头,然后根据现象改两行代码、再跑。用 Putty/ MobaXterm,我需要经历“复制代码—进 REPL—按 Ctrl+E 进粘贴模式—粘贴—按 Ctrl+D 执行”这一套流程,而且每次改动都重复一次。十分钟的活儿能拖到半小时,纯粹是工具在拖后腿。
4.3 三款工具的真实痛点清单
先看 mpremote。第一,必须有 Python 环境,这一点劝退不少人;第二,纯命令行界面,对完全没接触过终端的人不太友好;第三,如果 Pico 使用非标准的 USB 转串口芯片(比如某些第三方开发板),自动识别设备可能会失败,需要手动指定端口。
再看 Putty。第一,界面太素,字体设置藏在深处,调整费劲;第二,复制粘贴的交互不符合 Windows 用户习惯;第三,会话配置在注册表里,不够便携。但这些都是使用体验问题,不影响它作为一个可靠的终端模拟器发光发热。
最后是 MobaXterm。第一,免费版会话数量限制太狠,十几个就封顶;第二,软件较重,启动慢、偶尔有卡顿感;第三,官方无中文,汉化包有风险;第四,便携版换电脑时会要求输入 master password,忘了的话要么找软件设置里的重置方案,要么只能重建会话,相当被动。第四,如果你只是连 Pico,用它的“全家桶”多少有点杀鸡用牛刀。
5. 常见问题与排查技巧实录
5.1 Pico 不出现 COM 口?先别急着装驱动
这是我被问过最多的问题之一,也是很多新手最容易卡住的地方。首先要确认板子是不是真的进入了 MicroPython 模式——重新插拔一次,按住 BOOTSEL 再插,看是否出现 RPI-RP2 盘符。能出现盘符说明硬件和 USB 线都没问题,继续往下查;连盘符都没有,八成是数据线不行或者 USB 口供电不足,换线换口再试。
确认盘符正常但还是没有 COM 口,可以在 Windows 设备管理器里看“端口”和“其他设备”两类。Pico 的 USB CDC 设备在 Win10/11 下通常是免驱的,插上就显示“USB 串行设备 (COMx)”。如果有黄色感叹号,右键更新驱动让系统自动搜索,一般能解决。再不行就重启电脑,别笑,这个土办法真的救过我好几次。
在虚拟机里玩 Pico 还要多一步:需要把宿主机的 USB 设备“直通”到虚拟机里面。很多朋友在 VMware 或 VirtualBox 里折腾半天连不上,是因为 USB 设备默认连到了宿主机系统,虚拟机里根本没有这个设备。VBox 里需要在 设备->USB 菜单里勾选对应的 USB 串行设备,VMware 也要在虚拟机设置里添加 USB 控制器和对应设备。这一步做完,虚拟机里才会看到 COM 口。
5.2 mpremote 连不上、报错的几条实战经验
mpremote 最常见的报错是“could not find device”或者“No device found”。这通常意味着它没找到唯一的 MicroPython 设备。解决办法是先执行:
mpremote connect list这个命令会列出所有检测到的设备,看看 Pico 在不在里面。如果列表为空,回到上一节的端口排查流程;如果列表里有多个设备,你就需要手动指定端口连接:
mpremote connect COM5 replLinux 下还有一种特殊场景:设备路径存在,但普通用户没有访问权限,报错信息类似“Permission denied”。解决方法很简单,把当前用户加入 dialout 组(Ubuntu/Debian 系):
sudo usermod -a -G dialout $USER执行完退出终端重新登录一次即可。另外,mpremote 连接时需要独占串口设备,如果你开着 Thonny、Putty 或者 MobaXterm 占用了同一个 COM 口,mpremote 必然连不上。遇到问题先检查是不是别家软件在捣乱,这是最容易修复也最容易被忽略的原因。
5.3 Putty 和 MobaXterm 的典型问题与处理办法
Putty 连接串口时最常见的报错是“Unable to open connection to COM3”。看到这个提示,第一反应查端口占用:关闭所有可能用到串口的软件,包括 Thonny、串口调试助手,甚至某些 IDE 自带调试终端。第二是核对端口编号,把设备管理器的 COM 号和 Putty 里填的 COM 号一一对照,经常有人插拔后端口号变了,还按老的填。第三是用管理员权限运行 Putty,极少数情况普通权限打不开被安全软件锁定的串口设备。
MobaXterm 连接不上 Pico 时,报错多半是“Port COMx does not exist”或者干脆一闪而过没反应。除了和 Putty 类似的端口占用问题外,MobaXterm 还有一个特有现象:因为它会在启动时扫描串口,如果 Pico 是在软件启动后插上的,有时候扫描缓存没刷新,会话列表里就看不到新的 COM 口。解决办法是把 MobaXterm 整个关掉重开,让扫描刷新一遍。另外,MobaXterm 便携版换电脑会弹 master password 输入框,这是它的防护机制,别设一个自己都记不住的密码,不然每次换机器都像在玩解密游戏。
关于 MobaXterm 中文设置,我的态度很明确:不建议装来路不明的汉化包。一是安全风险不值得冒,二是一升级就失效,三是这软件界面用习惯后真没几个单词需要查。真觉得自己英文完全不行,优先用浏览器翻译插件对着截图找按钮,或者干脆用按钮位置记操作路径。
5.4 问题排查速查表
| 现象 | 可能原因 | 排查方法和解决动作 |
|---|---|---|
| 系统里完全找不到 COM 口 | 数据线只支持充电 | 换一根带数据传输的 USB 线 |
| 插入后出现 RPI-RP2 但无串口 | 固件未刷成功 | 重新按住 BOOTSEL 后拖拽 uf2 文件 |
| 设备管理器有黄色感叹号 | 驱动未正确识别 | 右键更新驱动,或在设备属性里重新安装驱动 |
| mpremote 提示找不到设备 | 多个设备被枚举 | mpremote connect list 查看所有设备,手动指定端口 |
| Linux 下权限不足 | 用户不在 dialout 组 | sudo usermod -a -G dialout $USER,重新登录 |
| Putty 提示 Unable to open connection | 端口被其他软件占用 | 关闭 Thonny、串口助手、其他终端工具 |
| Putty 打开后输入乱码 | 波特率或流控设置不对 | 确认 Speed 为 115200,Flow control 改为 None |
| MobaXterm 串口会话里左侧文件面板为空 | 串口下没有 SFTP 服务 | 属于预期行为,文件操作改用 mpremote |
| MobaXterm 打开串口特别慢 | 软件扫描设备开销大 | 关闭多余标签页,尽量使用旧版本优化路径 |
| 虚拟机里 Pico 连接不上 | USB 设备未直通到虚拟机 | 在虚拟机软件 USB 设置中勾选对应设备 |
6. 我的最终选择与日常搭配
折腾了一周,实测下来我给出的结论很简单:日常开发主力用 mpremote,需要记录功能或多标签管理时开 MobaXterm,在别人电脑上紧急连一下 Pico 时用 Putty。这三款工具不是替代关系,而是互补关系。
mpremote 之所以成为我的主力,是因为它和 MicroPython 的绑定最紧密。我能写一句话命令就完成代码上传、运行、文件管理,这种效率在 Putty 和 MobaXterm 上目前都找不到替代方案。加上它占用资源极小、跨平台一致性好,从 Windows 切到 Linux 或 macOS 体验几乎不变,适合作为长期的日常工具。
不过 mpremote 也不是万能的。长时间跑数据采集需要打日志,或者在串口会话之外还要管理其他设备,这些场景 MobaXterm 的多标签和日志功能就体现价值了。我现在的习惯是:日常代码开发、脚本调试用 mpremote;需要盯着长时间运行、做多设备管理的场合打开 MobaXterm;偶尔出门在外用别人电脑,没装 Python,就下载一个免安装的 Putty,不过这个场景现在已经很少遇到了。
最后分享一个我个人的小习惯:每次拿到新板子,先把 mpremote 的常用命令抄一遍贴在笔记本上,或者存成终端别名,这样就不会在换项目的时候重新去翻帮助文档。顺手也可以把常用的连接命令做成一个 shell 脚本,比如 pico.sh 里写一行 mpremote connect COM3 repl,以后双击就是连接,省心不止一点。工具这种东西,没有绝对的“最好”,只有适不适合你的工作流。先按这三款挨个试一遍,你很快就会找到自己最顺手的那个。