1つ目は、Raspberry Pi2 のGPIO出力をST-4へ変換することです。2つ目は、lin_guiderのGPIO設定を手動で行うことです。3つ目は、RaspbianでGPIOポートの初期化を行うことです。
Raspberry Pi2 GPIO -> ST-4 変換
GPIO出力をST-4のスイッチング動作にコンバートするハードウェアが必要です。簡単なコンバータの例は下記のリンクを参照してください。
GPIO -> ST-4コンバータ
lin_guiderのGPIO設定
デフォルトの状態でlin_guiderを起動します。
そのまま lin_guiderをいったん終了させます。
すぐに、llin_guiderを起動しなおし設定を反映させたら、再びすぐに終了させます。
面倒ですが、GPIO設定で起動->終了をしないとデバイスの設定ファイルが作成されません。
ターミナルを開き、コマンドプロンプトより、
$ cd
$ cd .config/GM_software/
ディレクトリ内に io_gpio.conf が出来ているのでviなどで開きます。
デフォルトの内容は次のようになっています。
.config/GM_software/io_gpio.conf
[gpio]
RAP=27
RAN=22
DECP=23
DECN=24
RAP=RA+, RAN=RA-,DECP=DEC+, DECN=DEC- それぞれの信号を送り出すGPIOポート番号が書かれています。(上記例だとRA+ は GPIO27 に信号が出る)
lin_guiderにはこれらポートを編集する機能が無いので、エディタで直接編集します。
今回は、
RA+ = GPIO19
RA- = GPIO16
DEC+ = GPIO26
DEC- = GPIO20
に割り当てるので、次のように変更して保存します。
.config/GM_software/io_gpio.conf
[gpio]
RAP=19
RAN=16
DECP=26
DECN=20
RaspbianのGPIOデバイス初期化
Raspbian でGPIOを使用するには、/sys/class/gpio/export を使って使用したいGPIOピンを有効にする必要があります。
lin_guider起動時にGPIOデバイスファイルが参照できるように、起動スクリプトを書いておきます。
/usr/local/bin/startlin
#!/bin/sh
RAP=19
RAN=16
DECP=26
DECN=20
echo "$RAP" > /sys/class/gpio/export
sleep 1
echo out > /sys/class/gpio/gpio$RAP/direction
echo "$RAN" > /sys/class/gpio/export
sleep 1
echo out > /sys/class/gpio/gpio$RAN/direction
echo "$DECP" > /sys/class/gpio/export
sleep 1
echo out > /sys/class/gpio/gpio$DECP/direction
echo "$DECN" > /sys/class/gpio/export
sleep 1
echo out > /sys/class/gpio/gpio$DECN/direction
/usr/local/bin/lin_guider
echo "$RAP" > /sys/class/gpio/unexport
echo "$RAN" > /sys/class/gpio/unexport
echo "$DECP" > /sys/class/gpio/unexport
echo "$DECN" > /sys/class/gpio/unexport
実行権限付加。
$ sudo chmod 755 /usr/local/bin/startlin
以上。
Xターミナル上で次のように実行してください。
$ startlin
GPIOを初期化してlin_guiderが起動します。
0 件のコメント:
コメントを投稿