はじめに
- orangepi5でGPIOを使うために必要な設定をメモ
参考文献
こちらに書いてある内容を書き換えているだけです。
また、GPIOの取り扱いについては公式ドキュメントでも記載されている。
PDFをダウンロードしてGPIO
で検索をかければ、sudo実行しているコマンドに当たるはず。
環境
- OrangePi5
- debian (Orange Pi 1.1.4 Bullseye with Linux 5.10.110-rockchip-rk3588)
設定
su権限なしでgpioを使えるようにするため、下記のコマンドを実行する。
sudo無しでnode-redやwiringPiなど別のサービス・ライブラリ等からgpioを操作する際には必須となる。
ちなみに初期パスワードはorangepi
なはず。
$ sudo groupadd gpio
$ sudo usermod -aG gpio $USER
また、デバイスファイルに設定を加えるため。好きなエディタで60-gpio.rules
を開く。
$ sudo nano /etc/udev/rules.d/60-gpio.rules
下記の内容に書き換える。
(何も書いていなければそのまま追記)
SUBSYSTEM=="gpio", KERNEL=="gpiochip[0-5]", GROUP="gpio", MODE="0660"
ファイルを保存して、再起動すれば設定が反映されるはず。
確認
再起動後、GPIOが使えるようになっていることを確認する。
下記のように、ファイルの所有グループのgpioに対してrw
の権限が付与されている(権限に関する表示の5~7文字目にrw
と出力されている)ことが確認できればOK。
$ ls -l /dev/gpiochip*
crw-rw---- 1 root gpio 254, 0 May 3 00:17 /dev/gpiochip0
crw-rw---- 1 root gpio 254, 1 May 3 00:17 /dev/gpiochip1
crw-rw---- 1 root gpio 254, 2 May 3 00:17 /dev/gpiochip2
crw-rw---- 1 root gpio 254, 3 May 3 00:17 /dev/gpiochip3
crw-rw---- 1 root gpio 254, 4 May 3 00:17 /dev/gpiochip4
crw-rw---- 1 root gpio 254, 5 May 3 00:17 /dev/gpiochip5
注意
参考文献のブログや書籍にも書いてあるとおり、一部のピンを除いてGPIOが出力する電流が小さすぎてLチカができない事象がある。
下記の物理ピン以外を使う際にはドライバ回路が別途必要になるかも。
- 8(wPi:3)
- 10(wPi:4)
- 11(wPi:5)
- 13(wPi:7)