ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

IoT-For-Beginners 的 Grove Base Hat 无法识别,如何排查 I2C 配置与硬件连接

IoT-For-Beginners 的 Grove Base Hat 无法识别,如何排查 I2C 配置与硬件连接 IoT-For-Beginners 的 Grove Base Hat 无法识别如何排查 I2C 配置与硬件连接【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners在使用 IoT-For-Beginners 课程树莓派Raspberry Pi学习路径时如果你的 Grove Base Hat 插上后传感器没有反应、Python 代码报 I2C 错误或i2cdetect扫描不到设备说明 Base Hat 与 Pi 的 I2C 链路某处出了问题。本文依据项目自带的 TROUBLESHOOTING.md 和 Pi 入门课时 1-getting-started/lessons/1-introduction-to-iot/pi.md给出一条从硬件插接、I2C 接口开启到总线扫描验证的连续排查路径完成后传感器应能被 Pi 正常识别。症状判断哪些现象说明 Base Hat 没被识别文档中把 Base Hat 无法识别的典型症状归纳为两类传感器完全无法工作代码读不到数据、执行无反应程序中出现 I2C 相关报错例如 Grove 库的IOError: [Errno 121] Remote I/O error。如果你的现象只是ModuleNotFoundError: No module named grove那属于 Grove Python 库安装问题而不是硬件识别问题先按补装 Grove 库一节处理后再回到硬件排查。第一步检查物理连接这是文档排查顺序中排在最前的硬件检查具体包括确认 Base Hat 已压在 Pi 的全部 GPIO 引脚上。按 Pi 入门课时 的说明Grove Base Hat 的插座应盖住 Pi 的所有 GPIO 引脚沿引脚一路推到底、稳固坐在板子上并且是覆盖在 Pi 之上的。检查 Pi 和 Base Hat 是否有弯针bent pins。弯针会造成个别引脚虚接表现为 I2C 时通时不通。确认传感器插在 Base Hat 上正确的端口模拟analog、数字digital、I2C、UART 各自对应不同接口插错端口设备不会被识别。换一根 Grove 连接线再试排除线材故障并确认 Grove 线已完全插入。这些步骤不需要任何命令但必须先做完否则后面开了 I2C 也扫描不到设备。第二步确认 I2C 接口已开启I2C 接口是 Base Hat 与 Pi 通信的基础。Pi 入门课时的标准配置流程里包含下面这条命令它用于开启 I2C 接口sudo raspi-config nonint do_i2c 0执行后会改变系统接口配置必须重启 Pi 生效sudo reboot如果你是远程headless方式操作 Pi重启前注意 Pi 入门课时 的提示Pi 重启时ssh会话会中断等待约 30 秒后重新连接即可。文档同时给出了图形化入口运行sudo raspi-config进入Interface Options开启 I2C见 docs/troubleshooting.md。两种方式任选其一命令方式适合远程场景。如果你的 Pi 是全新刷机、还没按课时做过初始化完整的 Grove 环境准备命令如下来自 Pi 入门课时raspi-config那条即上文的 I2C 开启步骤sudo apt install git python3-dev python3-pip --yes git clone https://github.com/Seeed-Studio/grove.py cd grove.py sudo pip3 install . sudo raspi-config nonint do_i2c 0第三步补装 Grove 库仅当报模块缺失错误时如果报错是ModuleNotFoundError: No module named grove说明问题在软件侧。TROUBLESHOOTING.md 给出的重装修复命令cd ~ git clone https://github.com/Seeed-Studio/grove.py cd grove.py sudo pip3 install .注意 Pi 入门课时明确说明Grove 包默认安装到全局环境如果使用了 Python 虚拟环境需要在全局安装或把库复制进虚拟环境否则虚拟环境中导入不到。装完库后同样要确保 I2C 已开启即上面第二步的命令。结果验证用 i2cdetect 确认设备出现在总线上文档给出的验证方式是用i2cdetect扫描 I2C 总线总线编号为 1i2cdetect -y 1判断方法重启并开启 I2C 后再次运行该命令查看输出中是否出现设备的 I2C 地址。文档同时说明如果扫描不到设备可以回退到第一步继续换 Grove 线、检查插口与弯针若权限不足docs/troubleshooting.md 建议把用户加入gpio,i2c,spi组后重启sudo usermod -aG gpio,i2c,spi $USER sudo reboot设备出现在i2cdetect输出中说明 Base Hat 的 I2C 链路已通之前的传感器不工作 / I2C 报错现象应随之消失。排查顺序与已知边界文档给出的顺序是先物理连接压稳、弯针、线缆、端口类型再确认 I2C 开启并重启最后用i2cdetect -y 1验证不建议跳过硬件检查直接反复重装软件。Grove 传感器端口有类型要求模拟传感器接 analog 口、数字传感器接 digital 口、I2C 传感器接 I2C 口插错端口设备不会被识别这会看起来像Base Hat 没反应。本排查路径针对 Raspberry Pi 路径Python Grove Base Hat。如果你用的是 Wio Terminal 或 CounterFit 虚拟设备对应的传感器问题在 TROUBLESHOOTING.md 的 Wio Terminal / CounterFit 章节与本文的 I2C 排查无关。本文所有现象、命令与验证方式均来自 TROUBLESHOOTING.md、docs/troubleshooting.md 与 Pi 入门课时文档没有给出i2cdetect的具体示例输出数值因此不要以固定地址值作为唯一成功标准以设备地址出现在输出中为准。如果按上述路径仍无法识别TROUBLESHOOTING.md 建议进一步查看 hardware.md 中硬件清单确认所用套件型号并按其 Getting Help 一节提交 issue 时附完整报错文本、软硬件版本与已尝试的步骤。【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表