python - 在 Ubuntu 14.04 (Beaglebone Black) 上使用带有 ROS 的 python Adafruit_BBIO GPIO 时出错

标签 python ubuntu beagleboneblack ros

在 Beaglebone Black(带有 3.8.x 内核的 Ubuntu 14.04)上运行 ROS Indigo 时,我在使用 Adafruit_BBIO.GPIO 和 Adafruit_BBIO.PWM 库时遇到了一个奇怪的问题。

Adafruit_BBIO.PWM 在 root 权限下与 python 一起使用时控制我的 PWM 引脚。如果我不以 root 权限运行它,我会收到:

IOError: [Errno 13] Permission denied: 'sys/devices/bone_capemgr.9/slots'

但是,如果我尝试以 root 权限运行 ros 脚本(显然不推荐),我会收到:

File "teleop.py", line 1, in <module> 
import rospy
ImportError: No module named rospy

我猜这是因为采购和许可权问题。 对于 Adafruit_BBIO.GPIO 库,我有一个类似的问题,它在使用非特权权限时什么都不做,但这似乎是一个 known bug .

现在以 root 权限运行 ros 将解决我的问题。另一方面,不推荐。如果我为 GPIO 引脚应用补丁,并且有人建议我修复插槽的权限问题,我可以在非 root 权限下操作 Ros。有什么建议吗?

最佳答案

根据 BeagleBone Black Setup ,您必须使用此命令授予对设备插槽的访问权限:

sudo sh -c " echo BB-W1:00A0 > /sys/devices/bone_capemgr.9/slots" 

否则你会得到“权限被拒绝”。

关于python - 在 Ubuntu 14.04 (Beaglebone Black) 上使用带有 ROS 的 python Adafruit_BBIO GPIO 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37342267/

相关文章:

ubuntu - 无法在 ubuntu 18.04 上安装 ros-kinetic-desktop-full

ubuntu - 在 Ubuntu 上难以与蓝牙 OBDII 设备配对

python - 将屏幕输出写入文件

apache - 如何在 ubuntu docker 容器中自动启动 apache2?

python - 有没有办法检查函数在 python 中是否递归?

linux - 在 Ubuntu 中编译 xv6 时出错(Makefile :124: recipe for target 'kernel' failed)

python - 在 beaglebone black 上读取事件文件 C 和 python 时观察到的差异

beagleboneblack - Beaglebone 和 PRU、除法和乘法?

python - 删除期末值

python - 带有 Eclipse 的 TensorFlow