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

如何在Python3中对接Pico Pi并执行其存储的MicroPython代码

可行实现方案分两类,可根据你的使用场景选择:


方案1:主机侧Python3调用Pico本地程序(适配你需要用tkinter等常规GUI库的需求)

你可以通过USB串口通信实现主机Python3触发Pico执行本地存储的程序,同时直接在主机侧用tkinter、PyQt等成熟GUI库开发交互界面即可,步骤如下:

  • Pico端烧录标准MicroPython固件,将需要执行的功能代码预存在Pico本地,同时编写串口监听逻辑,收到约定指令后调用对应程序执行,结果可通过串口回传给主机。
    Pico端示例代码(存入Pico的main.py):
    import machine
    import sys
    
    # 预存在Pico本地的功能程序示例1:翻转板载LED
    def run_led_program():
        led = machine.Pin(25, machine.Pin.OUT)
        led.toggle()
        return "LED执行完成"
    
    # 预存在Pico本地的功能程序示例2:读取芯片温度
    def run_temp_program():
        adc = machine.ADC(4)
        temp = 27 - (adc.read_u16() * (3.3 / 65535 - 0.706)/0.001721
        return f"芯片温度:{round(temp, 2)}℃"
    
    # 持续监听串口指令
    while True:
        if sys.stdin.any():
            cmd = sys.stdin.readline().strip()
            if cmd == "run_led":
                print(run_led_program())
            elif cmd == "run_temp":
                print(run_temp_program())
    
  • 主机Python3安装pyserial依赖,通过串口发送约定指令即可触发Pico执行对应程序,GUI界面的按钮点击事件直接绑定指令发送逻辑即可。
    主机侧示例代码:
    import serial
    import time
    
    # 串口路径根据实际设备修改:Windows为COMx,Linux/macOS为/dev/tty.usbmodemxxx
    ser = serial.Serial("/dev/tty.usbmodem14101", 9600, timeout=1)
    time.sleep(2) # 等待串口连接稳定
    
    # 发送指令调用Pico本地的LED程序
    ser.write(b"run_led\n")
    print(ser.readline().decode("utf-8"))
    
    # 发送指令调用Pico本地的温度读取程序
    ser.write(b"run_temp\n")
    print(ser.readline().decode("utf-8"))
    

方案2:Pico脱机运行轻量GUI

如果不需要依赖主机,可直接为Pico外接SPI/I2C接口的LCD/OLED屏幕,使用MicroPython兼容的microgui、lvgl MicroPython移植版等轻量GUI库,直接在Pico本地运行GUI逻辑,所有程序都存储在Pico本地无需主机参与,适合小型脱机交互项目。

内容的提问来源于stack exchange,提问作者DJ ej Ejs

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:27:03