You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过USB端口更新Raspberry Pi Pico的Python脚本?(无Thonny及按键)

可行的解决方案(无需Thonny或物理按键)

方法1:利用Pico的USB大容量存储自动挂载特性

如果你的Pico使用默认MicroPython固件,通常自带USB大容量存储(MSC)模式:

  • 上电后,PC会识别到名为RPI-RP2的U盘式存储设备
  • 直接将新的Python脚本(比如main.py)拖放到该存储盘,覆盖原有文件
  • 等待数秒,Pico会自动重启并运行新脚本

注:如果当前脚本修改了USB模式(禁用MSC),此方法不适用。

方法2:通过串行终端工具传输脚本

用picocom/minicom这类轻量串行工具即可完成,无需Thonny:

  1. 安装串行工具:Linux下用sudo apt install picocom,Windows可通过Chocolatey安装picocom
  2. 找到Pico对应的串行端口(Linux多为/dev/ttyACM0,Windows为COMx)
  3. 连接端口:picocom /dev/ttyACM0 -b 115200
  4. 进入MicroPython REPL后,按ctrl+E进入粘贴模式,直接粘贴新脚本内容
  5. 按ctrl+D退出粘贴模式并保存,Pico会重启运行新代码

方法3:使用rshell工具批量管理文件

rshell是专为MicroPython设备设计的文件管理工具,支持USB串行传输:

  1. 安装rshell:pip install rshell
  2. 连接Pico:rshell -p /dev/ttyACM0(替换为你的串行端口)
  3. 进入Pico文件系统:cd /pyboard
  4. 上传本地脚本:cp local_main.py main.py
  5. 重启Pico生效:repl ~ import machine; machine.reset()

方法4:预设自动更新监听脚本

如果需要更自动化的流程,可以预先在Pico部署监听脚本,通过USB串行接收新代码并覆盖:
预先烧录的main.py示例:

import sys
import os

def update_script():
    print("等待接收新脚本...")
    new_script = sys.stdin.read()
    with open("main.py", "w") as f:
        f.write(new_script)
    print("更新完成,重启中...")
    import machine
    machine.reset()

# 触发更新:收到特定指令后进入更新模式
if len(sys.argv) > 1 and sys.argv[1] == "update":
    update_script()
else:
    # 原有业务逻辑
    print("运行原有脚本...")

PC端执行命令触发更新:
cat new_main.py | picocom /dev/ttyACM0 -b 115200 -s "update"


内容的提问来源于stack exchange,提问作者PhilTilson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 20:59:52