BlynkとRaspberry piを繋ぐ(4)シェルを呼び出してみる
今度はvirtualの機能を使ってLEDを光らせてみます。💪
Blynkの設定は前回のまま、main.cppを書き換えてLEDを光らせます。
RaspberryPiらしく点灯にはコマンド&シェルを使います。
1、シェルの作成
点灯シェルはこんな感じにしました。nanoでエディターを立ち上げて作成します。
$nano GPOUT.sh
gpio -g mode $1 out
gpio -g write $1 $2
シェルの引数1にピン番号、引数2に出力にします。念のため確認して起きましょう。
$ chmod 700 ./GPOUT.sh
$ ./GPIO.sh 4 1
$ ./GPIO.sh 4 0
まずは実行権限を与えてからポート4に1、0を出力して点灯、消灯すれば成功です。👏
ちなみにwiringpiのバージョンによってはgpioコマンドは正常に動かないようです。自分は以下のコマンドを実行してwiringpiのバージョンを2.52にしました。
$ cd /tmp
$ wget https://project-downloads.drogon.net/wiringpi-latest.deb
$ sudo dpkg -i wiringpi-latest.deb
こちらにも詳細が書いてあります。🧐
2、main.cppプログラムの変更
次にmain.cppのBLYNK_WRITE(V4)を書き換えましょう。
BLYNK_WRITE(V4)
{
char command[64]="";
printf("Got a value: %s\n", param[0].asStr());
sprintf(command,"/home/pi/blynk/GPOUT.sh 4 %d",param[0].asInt());
system(command);
}
param[0]の値をシェルに渡して、シェルを実行するプログラムにします。
$ make clean all target=raspberry
でコンパイルし、Blynkを実行してみましょう。
点灯すれば成功です。✌️
3、まとめ
BlynkでLEDを点灯させるにも、BlynkとRaspberry piを繋ぐ(2)で紹介したようにポートを直接コントロールする方法と、今回のようにOSを返してコントールする方法があります。
何か物を作る時は、これらは混在せず、どちらかに統一する方が良いと思います。
自分のオススメは今回のようにOSを返して点灯する方法です。💯
では✋
この記事が気に入ったらサポートをしてみませんか?