在 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/