Nothing New

楽に楽しく生きれたら幸せ

ラズパイ奮闘記 (7) GPIOコマンドを調べてみる

WiringPiの導入が一通り終わったところで、今後頻繁に使うであろうGPIOコマンドを調べてみます。またしても本家サイトの和訳コピペですがご勘弁。

WiringPi本家サイト(英語)
projects.drogon.net

基本コマンド

GPIOコマンドの一覧を見るコマンド(ややこしい)

man gpio


バージョンの確認

gpio -v


ピン番号をBCM_GPIOピン番号として解釈して出力

gpio -g

標準入出力コマンド

ピンのモードを「入力」「出力」「PWM」「内部プルアップ/プルダウン抵抗をプルアップ」「内部プルアップ/プルダウン抵抗をプルダウン」「「内部プルアップ/プルダウン抵抗を無効化」にする(このとき、PIN番号ではなくGPIO番号を指定するのを忘れずに)

gpio [-g] mode <pin> in # 入力
gpio [-g] mode <pin> out # 出力
gpio [-g] mode <pin> pwm # PWM
gpio [-g] mode <pin> up # 内部プルアップ/プルダウン抵抗をプルアップ
gpio [-g] mode <pin> down # 内部プルアップ/プルダウン抵抗をプルダウン 
gpio [-g] mode <pin> tri # 無効化


ピンの入出力状態変更

gpio [-g] write <pin> 0 # オフ
gpio [-g] write <pin> 1 # オン


ピンのPWM値設定。にピン番号、に0~1023の範囲で値を設定すること

gpio [-g] pwm <pin> <value>


指定したピンの現在の入出力状態を確認

gpio [-g] read <pin>


アクセス可能な全てのピンの現在の入出力状態、番号表(WiringPiとBCM_GPIOの両方が参照可能)を確認

gpio [-g] readall

モジュールロードコマンド

SPIカーネルモジュールを読み込み、内部バッファがKB単位(1024の倍数)で指定したサイズに設定される

gpio load spi [バッファサイズ(KB)]


i2cカーネルモジュールを読み込み、ボーレートが任意の速度(1000の倍数、単位はKB/s)で設定される。デフォルトは100Kb/s

gpio load i2c [ボーレート(Kb /秒)]

/sys/class/gpioモードコマンド

指定されたピン(BCM-GPIO)を入力または出力としてエクスポートし、同じユーザとして実行中のユーザプログラムが使用できるようする

gpio export <pin> in/out


指定されたピンのエクスポートを削除する

gpio unexport <pin>


すべての/sys/class/gpio エクスポートを削除する

gpio unexportall


/sys/class/gpio インターフェースとそのモードでエクスポートされた全てのgpioピンのリストを表示する

gpio exports


これにより、指定されたピンが立ち上がりエッジ、立ち下がりエッジまたは両エッジでエッジ割り込みトリガをイネーブルする(無効にするものはなし)

gpio edge <pin> rising/falling/both/none

内部プルアップ/ダウン抵抗

内部プルアップ/ダウン抵抗内蔵のGPIOピンが入力モードになると、ソフトで制御することができる

gpio mode 0 up
gpio mode 0 down
gpio mode 0 tri

PiFaceコマンド

使用することは無さそうなので省略



書いているうちにコマンド覚えちゃったけど、まあ備忘録ということで残します。