web-dev-qa-db-ja.com

GPIO権限をクリーンに設定する

/ sys/class/gpio /ファイルのデフォルトの権限と所有権を設定できますか。 udevを構成することによって?重要なのは、ボード上のGPIOピンにアクセスできるプロセスの実際のガイドを用意することです。

ほとんどの「ソリューション」には、suidラッパー、 chown付きのスクリプト 、および信頼できる仲介バイナリが含まれます。 Web検索が表示されます devルールの作成に失敗しました

(関連: Q1

(リソース: avrfreakslinuxdev

5
XTL

GPIOインターフェースは、システム(uidルート)専用に構築されているようで、ユーザープロセス用の/ devインターフェースの機能はありません。これには、作成権限が含まれます。

ユーザープロセス(デーモンやその他のシステムサービスを含む)にアクセスを許可するには、ある時点でルートプロセスによってアクセス許可を付与する必要があります。これは、initスクリプト、仲介者、または手動(Sudo)コマンドである可能性があります。

1
XTL

/etc/udev/rules.d/99-gpio.rulesを追加して、すべての権限を正しくクリーンに設定しました。

SUBSYSTEM=="bcm2835-gpiomem", KERNEL=="gpiomem", GROUP="gpio", MODE="0660"
SUBSYSTEM=="gpio", KERNEL=="gpiochip*", ACTION=="add", PROGRAM="/bin/sh -c 'chown root:gpio /sys/class/gpio/export /sys/class/gpio/unexport ; chmod 220 /sys/class/gpio/export /sys/class/gpio/unexport'"
SUBSYSTEM=="gpio", KERNEL=="gpio*", ACTION=="add", PROGRAM="/bin/sh -c 'chown root:gpio /sys%p/active_low /sys%p/direction /sys%p/Edge /sys%p/value ; chmod 660 /sys%p/active_low /sys%p/direction /sys%p/Edge /sys%p/value'"
1
T. Pham