シェルスクリプトでGPIOポートをオンオフする

ラズベリーパイB Raspberry Pi

わたしはラズベリーパイを購入した当初、シェルスクリプトを作って色々と試していました。
PythonでもGPIOポートの操作が出来ると知ったのは大分経ってからでした。(笑)

シェルスクリプトとは?

LinuxやUnixなどのOSに備わっている単機能のプログラム群
上記OSは、これらシェルスクリプトをキーボードから打ち込むことでコンピュータに仕事をさせる。
シェルスクリプト同士はデータの受け渡しができるため、シェルスクリプト同士を繋げて複雑な処理も可能。

/sys/以下の特定のディレクトリにecho命令でONなら「1」、OFFなら[0]を書き込むことでGPIOポートのオンオフが出来ます。

以下のシェルスクリプトでは、ラズベリーパイのGPIO25番のポートをオンオフしています。(2秒後に電源が切れます)
実行は、「sudo」をつけて実行します。

onoff.sh

1#!/bin/bash
2# リレー回路テスト用に作成(2秒後に電源を切る)
3gpio_number=25
4echo "${gpio_number}" > /sys/class/gpio/export
5echo "out" > /sys/class/gpio/gpio${gpio_number}/direction
6echo "1" > /sys/class/gpio/gpio${gpio_number}/value
7 
8sleep 2
9 
10echo "0" > /sys/class/gpio/gpio${gpio_number}/value
11echo "${gpio_number}" > /sys/class/gpio/unexport

実行

sudo bash onoff.sh

わたしはこのスクリプトをとりあえず電気が流れているか確認したり、LEDが点灯するかどうかを確認するのに利用していました。

ところでbashやshなどのシェルは、息の長いプログラミング言語とも言えますね。
憶えると色々と楽しいです。

コメント

タイトルとURLをコピーしました