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

如何在CircuitPython下让Raspberry Pi Pico仅显示SD卡文件夹?

解决CircuitPython下Pico仅暴露SD卡文件夹到USB的问题

要实现仅让电脑识别到Pico的SD卡文件夹,需修改CircuitPython的启动配置脚本boot.py,重新指定USB大容量存储的根目录为SD卡挂载点。以下是具体步骤:

1. 准备依赖库

确保你的CircuitPython设备lib文件夹中包含adafruit_sdcard.mpy库(从对应版本的CircuitPython库包中获取即可)。

2. 编写boot.py脚本

创建或替换设备根目录下的boot.py文件,代码如下(根据SD卡硬件接线调整引脚):

import board
import busio
import storage
import adafruit_sdcard
import os

# 初始化SPI总线(对应Pico常用SD卡接线引脚)
spi = busio.SPI(board.GP13, MOSI=board.GP12, MISO=board.GP11)
cs_pin = board.GP10

try:
    # 挂载SD卡
    sd_card = adafruit_sdcard.SDCard(spi, cs_pin)
    vfs = storage.VfsFat(sd_card)
    storage.mount(vfs, "/sd")
    
    # 将USB大容量存储的根目录设置为SD卡挂载点
    storage.usb_drive.set_root("/sd")
    # 可选:如需禁止SD卡写入,可设置为readonly=True
    # storage.remount("/sd", readonly=True)
except Exception as e:
    # SD卡挂载失败时,自动 fallback 到默认的CIRCUITPY盘符
    pass

3. 关键说明

  • 引脚调整:若SD卡模块使用了不同的SPI引脚,修改代码中对应的board.GPx参数即可。
  • 版本要求:storage.usb_drive.set_root()方法仅支持CircuitPython 7.0及以上版本,请确保设备运行符合要求的固件。
  • 容错机制:代码中的try-except块确保SD卡挂载失败时,设备仍能正常显示默认的CIRCUITPY盘符,避免无法访问设备的情况。

完成操作后重新连接Pico到电脑,系统将只显示SD卡内的文件和文件夹,默认的CIRCUITPY内容不再通过USB暴露。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 13:26:05