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

ROS中Python节点运行报Not running on a RPi!错误问题求助

报错信息
Traceback (most recent call last):
  File "/home/ubuntu/catkin_ws/src/pijoy/src/pijoy_node.py", line 13, in <module>
    GPIO.setup(LED_GPIO, GPIO.OUT)
RuntimeError: Not running on a RPi!
报错触发逻辑

这个报错是RPi.GPIO库在初始化阶段没有检测到合法的树莓派硬件标识触发的,和你已经配置的GPIO用户组权限、ROS环境变量没有关系,这两项配置不影响库的硬件识别流程。

排查与解决步骤

按优先级依次排查:

  • 第一步先确认运行硬件:执行cat /proc/device-tree/model查看输出,如果内容不包含Raspberry Pi字样,说明当前设备不是原生树莓派。RPi.GPIO库仅支持官方树莓派硬件,其他ARM开发板(香橙派、Rockchip系列板卡等)、x86 PC、WSL/普通虚拟机环境都会触发这个报错。这种场景下要么更换树莓派硬件运行节点,要么替换为适配当前硬件的GPIO库(比如原厂SDK、跨硬件的lgpio库),纯功能调试不需要操作实际硬件的话,可以用GPIO模拟库替换RPi.GPIO,无需修改后续业务代码。
  • 确认是树莓派硬件的情况下,检查系统依赖完整性:如果你刷的是第三方定制系统(第三方Ubuntu、Armbian等),大概率缺失树莓派硬件识别相关的固件包,执行以下命令重装依赖后重启设备:
    sudo apt update
    sudo apt install -y raspberrypi-bootloader rpi.gpio-common python3-rpi.gpio
    
  • 检查运行环境是否为容器/虚拟化实例:如果是用Docker、LXC跑ROS节点,默认容器没有权限读取宿主机硬件信息、访问GPIO接口,启动容器时需要添加--privileged权限,同时挂载/dev/gpiomem、/sys/class/gpio目录到容器内,否则库无法识别硬件。
  • 检查GPIO接口权限配置:执行ls /dev/gpiomem确认设备节点存在,如果提示文件不存在,执行sudo raspi-config,进入Interface Options分类,开启GPIO硬件访问权限,重启后设备节点会自动生成。
  • 仅做代码逻辑调试、不需要实际控制GPIO时,可以在导入GPIO库前添加环境变量跳过硬件检测。顺带提一句,你贴的原始代码还有一个逻辑问题:SetBool服务的回调直接返回字典会触发序列化报错,修复GPIO问题后也需要调整,完整修正后的参考代码如下:
    #!/usr/bin/env python3
    import rospy
    import os
    # 加在导入RPi.GPIO之前,开启模拟模式可跳过硬件检测
    os.environ['GPIO_EMULATION'] = '1'
    from std_srvs.srv import SetBool, SetBoolResponse
    import RPi.GPIO as GPIO
    
    LED_GPIO = 20
    def set_led_state_callback(req):
        GPIO.output(LED_GPIO, req.data)
        return SetBoolResponse(success=True, message='Successfully changed LED state')
    
    if __name__ == '__main__':
        rospy.init_node('led_actuator')
        GPIO.setmode(GPIO.BCM)
        GPIO.setup(LED_GPIO, GPIO.OUT)
        rospy.Service('set_led_state', SetBool, set_led_state_callback)
        rospy.loginfo("Service server started. Ready to get requests.")
        rospy.spin()
        GPIO.cleanup()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 18:18:40