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を返して点灯する方法です。💯

では✋



この記事が気に入ったらサポートをしてみませんか?