树莓派Pico REPL连接工具实测:mpremote、Putty与MobaXterm怎么选?
发布时间:2026/9/8 20:25:59 作者:尧图编辑部 阅读量:1,286

1. 工具选型与对比思路1.1 为什么拿这三个工具做对比树莓派 Pico 玩到一定阶段一定会面对一个问题Thonny 虽然对新手友好但真正干活的时候一个轻量、稳定、可脚本化的连接方式往往更重要。我平时习惯在终端里敲命令日常开发也离不开串口工具所以 mpremote、Putty、MobaXterm 这三个刚好代表了三种完全不同的工作流。mpremoteMicroPython 官方维护的命令行工具专为 Pico 这类开发板设计集成了连接 REPL、文件上传下载、运行脚本等常用功能。Putty老牌 SSH/串口终端Windows 玩家最熟悉的连服务器利器体积小启动快配置极简。MobaXterm全能型终端管家既能连 SSH、RDP也能连串口还自带 SFTP 文件面板和会话管理基本一台电脑装它一个就够。这三个工具的定位差异非常大对 Pico REPL 连接这件事的省心程度也不一样。我把它们放在同一台电脑上同一块 Pico同一根 USB 线逐个实测了一遍。整篇文章会用能不能连上、好不好连、日常开发是否顺手三个维度来评价顺便把过程中踩到的坑全部列出来。1.2 这次实测的环境基线先交代测试环境不然结论没有参考意义项目配置开发板树莓派 PicoRP2040已烧录 MicroPython 固件 1.23.0连接方式板载 USB 口直连电脑使用 USB 转串口枚举CDC操作系统Windows 11 专业版 23H2 / macOS Sonoma 14.5 / Ubuntu 22.04 双验证终端工具mpremote v1.22.1、Putty 0.81、MobaXterm 24.x 专业版有一点要先强调Pico 的 USB 口连接电脑后会被识别为一个虚拟串口CDC所以本质上这三个工具干的都是同一件事——打开这个串口跟 Pico 内部跑的 MicroPython 解释器进行通信。理解了这一点后面看对比就会轻松很多。2. 三种工具连接 Pico REPL 的实操细节2.1 mpremote命令行里的官方瑞士军刀mpremote 是 MicroPython 官方开发团队维护的一个命令行工具GitHub 上一直在更新目前使用体验已经很成熟了。它的安装方式非常简单只要电脑上有 Python 环境就行pip install mpremote装完之后插上 Pico打开终端Windows 用 PowerShell 或 CMD输入mpremote connect这一步会自动检测 Pico 对应的串口并且直接进入 REPL 交互模式。你会看到类似下面的界面Connected to MicroPython at /dev/ttyACM0 Use Ctrl-] to exit the REPL MicroPython v1.23.0 on 2024-06-02; Raspberry Pi Pico with RP2040 Type help() for more information. mpremote 连接的省心之处在第一分钟就能体现出来不需要手动填串口号、波特率、数据位、停止位、流控这些参数它内部会自动完成串口参数的匹配。如果你电脑上接了不止一块开发板也可以用connect /dev/ttyACM0或者connect COM3手动指定设备。进入 REPL 后日常操作和 Thonny 的 shell 窗口完全一致可以直接敲 Python 代码 print(hello pico) hello pico from machine import Pin led Pin(25, Pin.OUT) led.toggle()如果你不想每次都先connect再replmpremote 还支持一步到位的写法mpremote repl它甚至支持在不进入交互模式的情况下直接运行本地 Python 脚本mpremote run main.py这个run命令会把 main.py 里的代码一行一行复制到 Pico 的 REPL 里执行调试阶段非常高效省去了手动打开 REPL、复制、粘贴的繁琐过程。实测下来mpremote 在 Windows、macOS、Linux 三端表现都很稳定没有遇到串口打不开的问题。提示在 Windows 下如果mpremote connect提示找不到设备多半是 Pico 固件还没刷好或者 USB 驱动被占用。重新插拔一次 USB 线或者换一根数据线很多线只能充电不能传数据基本能解决九成问题。2.2 Putty老牌终端干净但裸Putty 是很多人的初恋终端工具体积不到 1MB无需安装下载一个 exe 就能用。官方下载地址就是 putty.orgWindows 平台认准这个就可以不要去第三方下载站。打开 Putty 后连接 Pico REPL 需要按照如下方式配置在左侧类别树中选择Connection Serial在右侧 Serial line to conenct to 填串口号例如COM3。Speed波特率填115200Pico 的 MicroPython 固件默认串口通信波特率就是 115200。在左侧最顶部选Session在 Connection type 里勾选Serial。点击Open打开串口。如果一切正常终端窗口就会进入空白状态此时按一下 Pico 上的复位键或者按住 CtrlD 软复位你就能看到 MicroPython 的版本信息MicroPython v1.23.0 on 2024-06-02; Raspberry Pi Pico with RP2040 Type help() for more information. 但这里有一个大坑我第一次用时卡了快二十分钟如果你提前把波特率错误地设置为 9600 或 74880打开串口后屏幕上只会出现乱码一屏黑块。微控制器领域不同板子默认波特率不一样比如某些 ESP 系列是 74880而 Pico 就是 115200别记混。另一个需要注意的点是Putty 默认在输入回车键时发送的是CR换行字符但 MicroPython REPL 需要的是CRLF或CR所以有时你在 Putty 里敲完代码按回车发现没有任何反应换行符配置不对是常见原因。解决办法是左侧类别树找到Terminal Line Discipline Options把Local Echo选为 Force On、Local Line Editing选为 Force On回车问题通常能一起解决。Putty 的好处是极度轻量双击就能跑CPU 和内存占用可以忽略不计对老电脑非常友好。坏处是功能太简单连文件传输都不支持所以它只适合我只想快速打开一个 REPL 窗口敲两行代码的场景。2.3 MobaXterm功能大而全但配置要稍花心思MobaXterm 是这一两年在嵌入式圈子里口碑暴涨的工具因为它把终端、SFTP、RDP、串口、X server、宏命令等功能都打包到了一个软件里。最爽的是它有便携版portable放在 U 盘里到任何一台 Windows 电脑上解压就能用开发环境和操作习惯可以一直随身携带。连接 Pico REPL 的流程比 Putty 要直观不少打开 MobaXterm点击左上角Session。在弹出窗口里选择Serial图标。Serial port 选择 Pico 对应的串口号Speed 填115200其余参数保持默认8 位数据位1 位停止位无校验。点击 OK立刻进入 REPL。MobaXterm 在连接成功后的阅读体验比 Putty 好很多代码和输出有颜色区分背景可调节还能设置终端回滚行数对长输出比较友好。正常使用中直接敲代码是完全没问题的 import os os.listdir() [.fseventsd, .metadata_never_index, .Trashes, main.py]需要解释的是MobaXterm 自带了一个左侧 SFTP 文件面板很多人以为可以像连 Linux 服务器一样直接把本地文件拖到 Pico 的闪存文件系统里这里必须说清楚普通 MicroPython 固件的 Pico 并没有跑 SSH/SFTP 服务所以那个文件面板对 Pico 是失效的。真正想在 Pico 上管理文件要么用 mpremote 的 cp 命令要么用 Thonny。这一点在下文文件上传部分会详细展开。MobaXterm 另一个特色是强大的日志记录功能。在 Session 配置里或者打开串口后右键选择Session settings Logging可以设置会话日志保存路径、日志格式有操作回放需求时特别好用。调试 Pico 外接传感器时一个自动保存的串口日志能帮你省下大量复制粘贴的功夫。注意免费版 MobaXterm 有会话数量保存上限旧版本普遍限制只能保存 15 个左右会话如果你有大量板子、大量串口需要管理不想频繁重新配置可以考虑升级专业版Professional或者像我一样把常用板子的会话信息写进一个 Markdown 备忘省得依赖工具的会话树。3. 实际开发场景下的省心横评3.1 文件上传与代码同步最关键的对比点连接 REPL 只是第一步实际写代码时最频繁的操作是什么是上传 Python 文件到 Pico。在这件事上三个工具拉开了巨大的差距。Putty 本身完全没有任何文件传输能力要把 main.py 上传到 Pico只能走 MicroPython 的粘贴模式在本地用文本编辑器打开 main.py全选复制。在 Putty 的 REPL 窗口里按CtrlE进入粘贴模式屏幕显示paste mode。粘贴代码按CtrlD退出粘贴模式。代码开始执行。用这种方式传小文件还凑合但代码一长终端回显和处理就容易卡顿而且如果代码里有特殊字符或中文字符偶尔会被终端拦一道报莫名其妙的语法错误。实测传一个 20 行的舵机控制脚本还好传一个 300 行的大模块就很痛苦了。MobaXterm 由于 Pico 不支持 SFTP所以它同样只能复制粘贴进 REPL。虽然左侧文件面板打不开 Pico 的文件系统但它的终端窗口对超大文本粘贴支持得比 Putty 好一些卡顿概率低。而 mpremote 在文件传输上完胜。直接将本地脚本推送到 Pico 的根目录mpremote cp main.py :main.py冒号前面是本地路径冒号后面是 Pico 上的目标路径:表示 Pico 的根目录省略目标文件名则自动沿用本地文件名。反过来下载 Pico 上的文件也支持mpremote cp :main.py main.py还可以用ls查看 Pico 上的文件列表mpremote ls这几个命令组合起来基本就是一套完整的文件同步工作流。我在给 Pico 控制舵机写测试程序时流程通常是本地写代码 -mpremote cp上传 -mpremote run验证 - 改代码再次上传全程不用打开任何图形界面效率和体验都比复制粘贴高一个量级。3.2 日常 REPL 交互谁更顺手如果你只是想在 Pico 的 REPL 里做简单实验、直接调模块、看输出三个工具的交互体验差别没有天壤之别但还是有一些细节能影响心情。Putty 的终端渲染是最朴素的等宽字体没问题但不支持颜色高亮日志记录功能约等于零想要保存输出只能手动选中文本复制到文件里。另外 Putty 在 Windows 上中文编码偶尔会有乱码情况如果你在代码里用中文打印调试信息默认编码设置下经常会显示成乱码需要在 Window Translation 里改成 UTF-8 才能正常显示。MobaXterm 在这方面最舒服开箱即用支持 UTF-8 中文显示终端高亮和字体渲染都很现代连串口日志都是自动时间戳记录的。调试温湿度传感器、舵机角度这些场景下MobaXterm 的终端回滚和日志功能用起来非常爽。mpremote 作为纯命令行工具显示效果靠的是终端本身的渲染能力在 Windows Terminal 里用效果很好但用老旧的 CMD 窗口颜色和字体就差点意思了。它的优势不在交互界面而是脚本化和自动化能力。比如你想连续执行 10 次传感器采集并打印结果可以用一个 shell 循环反复调用 mpremote run 脚本实现这种操作在 Putty 和 MobaXterm 里只能靠人肉重复。3.3 多平台与操作系统的兼容性这一点必须单独拿出来说因为很多人在 Windows 上装好工具很高兴换到 macOS 或 Linux 就抓瞎。Putty 官方一直只提供 Windows 版本虽然存在 Linux 移植版比如包管理器里能搜到 putty但 macOS 下用起来非常别扭基本没人推荐。如果你常年跟 Mac 打交道Putty 这个选项可以直接放弃。MobaXterm 同样只有 Windows 版本没有 macOS 或 Linux 原生版。虽然通过 Wine 之类的兼容层能跑但体验一言难尽完全不推荐。mpremote 则是纯 Python 包只要有 Python 3任何一个操作系统都能pip install mpremotemacOS 和 Linux 用起来毫无障碍。我自己的主力开发机是 macOS配合 Homebrew 装好 Python 后mpremote 是我最依赖的 Pico 工具没有之一。所以如果你是多平台混用党结论已经非常明显了mpremote 是唯一一个可以不换工具、跨平台无缝切换的选择。3.4 连接速度与稳定性真实数据说话串口连接这个东西永远会有玄学问题为了公平起见我把三个工具分别用相同方式连接同一块 Pico各测试 10 次冷启动连接的稳定性和大致连接耗时。工具平均耗时成功率稳定性备注mpremote0.8 秒10/10偶尔会因为串口被占用报错需等 1~2 秒重试Putty1.2 秒9/10串口号填错时无明确提示会卡在空白界面MobaXterm1.0 秒10/10连接速度受软件启动速度影响冷启动要慢一点从数据上看三者差距不大但实际使用中有几个细节值得注意。MobaXterm 的串口连接偶尔会出现连接慢的体感尤其当电脑上插了多个 USB 转串口设备时它在枚举串口列表上会多花几秒。如果你发现 MobaXterm 打开串口半天没反应优先检查一下串口号选择是否正确另外就是它有概率和某些国产 USB 转串口芯片比如 CH340配合不太默契建议在设置里把串口缓冲区调小一点。Putty 还有一种非常容易遇到的假死情况上一次异常退出后串口没有被正常释放下次再打开同一个 COM 口就会报Unable to open serial port错误。处理方式是重新插拔 USB 线或者打开设备管理器把那个串口禁用再启用虽然粗暴但有效。mpremote 的设计在这种问题上要聪明得多它默认会在设备被占用时给一个清晰的错误提示而且支持connect auto模式重新检测设备基本不会有卡死无响应的情况。4. 常见问题排查与避坑实录4.1 串口都找不到先排查这四步三种工具连不上 Pico 的现象五花八门但根因高度集中。我整理了出现频率最高的几个排查点按顺序操作能解决九成问题换数据线。现在很多 USB-C 线只支持充电、不支持数据插上 Windows 设备管理器里根本不会出现串口。这是新手最常见也最容易被忽略的坑。确认 Pico 固件是 MicroPython。如果你之前刷过 C 语言固件UF2USB 枚举出来的可能是大容量存储设备而不是串口。按住 Pico 上的 BOOTSEL 键再插入电脑进入烧录模式重新刷 MicroPython 固件。查看设备管理器的端口列表。Windows 下按 WinX 打开设备管理器 - 端口COM 和 LPT确认 Pico 对应的串口号。每次重新插拔串口号可能变化工具里要更新。关闭占用串口的其他软件。Thonny、Arduino IDE 编译下载后有时不会立刻释放串口先把它们全部退出再连接工具。4.2 REPL 可以连接但显示乱码如果你能进入 REPL但显示的全部是类似的乱码基本可以断定是波特率不匹配。Pico 的 MicroPython 固件默认波特率固定为 115200没有任何参数去修改它所以工具端也必须是 115200。Putty 和 MobaXterm 在新建串口会话时Speed 或 Baud rate 一栏如果被修改过就会出问题改回来即可。还有一种比较隐蔽的情况你用新固件替换了旧固件但工具停留在之前的会话上波特率配置被缓存了。把会话删掉重新配置一次通常能解决。4.3 MobaXterm 便携版换电脑后输入主密码MobaXterm 便携版会自动加密保存你的密码、会话数据。如果你把整个安装目录拷贝到另一台电脑打开时如果提示输入 master password而你完全不记得设置过密码解决办法有两条在原先那台电脑上打开 MobaXterm进入 Settings - General - Security把加密方式改为none保存后重新拷贝目录。如果已经无法打开原电脑直接删掉 MobaXterm 安装目录下的MobaXterm.ini文件里的加密字段或者干脆删除整个 ini 让它重新初始化。需要注意的是删除 ini 意味着你原来保存的所有会话、宏命令、密码会全部丢失所以我个人建议便携版最好不要设置加密或者设置后一定把主密码记录在密码管理器里。4.4 mpremote 提示设备被占用macOS 和 Linux 下mpremote 有时会提示could not open port或device busy通常是板子的 USB 串口被别的进程比如 Thonny、minicom、screen占用。先停掉正在使用串口的进程或者在 Linux 下直接查看占用程序sudo lsof /dev/ttyACM0找到对应的 PIDkill 掉然后重试即可。Windows 系统下遇到类似问题通常重启终端进程或者重新插拔 USB 就能解决。4.5 工具挂断重连的稳定性嵌入式开发中Pico 在运行代码时如果发生死循环或者严重错误REPL 可能会失去响应。这时候最省事的做法是按住 Pico 上的复位键或者直接拔插 USB 线再重新连接工具。三个工具在断线重连这件事上的表现有差异。Putty 断线后要重新双击会话打开如果串口没有完全释放就报错MobaXterm 断线后重新点一次会话也能恢复偶尔需要先关闭会话再重开mpremote 最方便因为所有状态都是命令行级的直接再执行一次mpremote repl就能回到 REPL不用管会话配置。5. 选型建议与最终结论5.1 按场景直接选不纠结如果非要给一个谁更省心的答案我的结论是使用场景推荐工具理由Windows 下只想快速打开一个 REPL 窗口做实验Putty体积极小双击即用不折腾Windows 下需要终端高亮、日志记录、串口会话管理MobaXterm功能全面体验最好跨平台开发、命令行重度用户、需要频繁上传文件到 Picompremote官方自带、脚本化、文件传输完胜新手第一次玩 Pico完全不懂命令行Thonny不在本次对比中但必须提图形界面连接、编辑、运行一步到位所以mpremote 是我最终留在日常工作流里的工具但它在交互界面上没有 MobaXterm 那么直观如果你从一开始就习惯图形化操作MobaXterm 也完全能胜任日常 Pico 开发。至于 Putty它就像一个备胎偶尔应急用一下没有惊喜但也不会出大错。5.2 我的最终建议组合最后分享一个我用了很久的个人搭配直奔省心主题主力开发VS Code mpremote 命令行用 VS Code 写代码终端里跑 mpremote 完成连接、运行、上传。快速实验mpremote repl 直接在终端交互不打开任何图形界面。需要看日志、做演示、或者帮远程朋友调试时开 MobaXterm打开会话日志自动记录所有输出一目了然。这个组合兼顾了轻量、功能和自动化无论你是刚入手 Pico 的新手还是已经写过几十个 MicroPython 项目的熟手都能找到适合自己的那条路径。补充一句很多人纠结工具学哪个我觉得真没必要。串口工具的核心价值就是快、稳、顺手任何工具花半小时用熟都比花半小时反复对比工具优劣更值。把时间留给代码和电路才是玩 Pico 的真正正道。