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

Coral Dev Board Mini接环境传感器板GPIO调用报OSError 22问题求助

问题原因及修复方案

核心报错原因

你遇到的Errno 22导出GPIO失败报错,核心是使用了错误的GPIO编号规则:

  • Google Coral Dev Board Mini的Mendel系统中,sysfs GPIO的起始编号不是0,MTK pinctrl控制器的GPIO base号默认是416,你用的138是引脚偏移值,不是实际调用时需要传入的完整GPIO编号。
  • 谷歌官方的enviro_demo.py默认适配的是原版Coral Dev Board,引脚配置和Mini不通用,所以也会触发相同报错。

具体修复步骤

  1. 确认你的设备GPIO base值
    执行以下命令查看pinctrl控制器的base编号:
cat /sys/class/gpio/gpiochip*/label | paste - <(cat /sys/class/gpio/gpiochip*/base)

输出中匹配1000b000.pinctrl的对应数值就是base值,绝大多数Mini的默认base值为416。

  1. 计算实际调用的GPIO编号
    实际编号 = base值 + 引脚偏移,你之前用的138偏移对应的完整编号为416 + 138 = 554。

  2. 手动验证有效性
    执行以下命令测试引脚是否可正常导出:

# 导出引脚
echo 554 > /sys/class/gpio/export
# 测试无报错后取消导出
echo 554 > /sys/class/gpio/unexport

如果没有报错说明编号正确。

  1. 修正代码
    将你的GPIO调用代码修改为正确的编号即可:
from periphery import GPIO
gpio = GPIO(554, "low")
  1. 适配官方enviro_demo
    找到EnviroBoard库的配置文件,将里面写死的GPIO编号全部替换为Mini对应的正确编号,再运行demo即可正常加载。

其他排查项

如果修改编号后还是报错,执行sudo usermod -aG gpio $USER将当前用户加入gpio组,注销后重新登录即可解决权限问题。
也可以通过gpiodetect和gpioinfo工具查看引脚状态,确认目标引脚没有被其他系统外设占用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:36:00