2016-05-20 2 views
1

При запуске ROS Indigo на Beaglebone Black (Ubuntu 14.04 с ядром 3.8.x) У меня возникает странная проблема при использовании Adafruit_BBIO.GPIO и Adafruit_BBIO.PWM библиотеки.Ошибка использования python Adafruit_BBIO GPIO с ROS на Ubuntu 14.04 (Beaglebone Black)

Adafruit_BBIO.PWM управляет моими штырьками PWM при использовании с python под правами root. Если я не запускать его с корневыми правами я получаю:

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

Однако, если я пытаюсь запустить скрипт ROS с корневыми правами (по-видимому, не рекомендуется), я получаю:

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

, который, я думаю, из-за проблем с поиском и разрешениями. С библиотекой Adafruit_BBIO.GPIO у меня есть аналогичная проблема, когда она просто ничего не делает при использовании с непривилегированными правами, но это похоже на known bug.

Теперь работающий ros с правами root исправит мои проблемы. С другой стороны, это не рекомендуется. Если я применил патч для контактов GPIO, и кто-то подскажет мне, как исправить проблему прав доступа для слотов, я мог бы управлять Ros при правах, отличных от root. Какие-либо предложения?

ответ

0

Согласно BeagleBone Black Setup, вы должны предоставить доступ к слотам устройств с помощью этой команды:

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

иначе вы получите «доступ запрещен».

Смежные вопросы