Hobby Science&Experiment

愛と工作の日々

趣味でやっている工作や勉強したことのメモ書きです。

BlynkでスマホからRaspberry Pi3+でLチカする

Blynkは各種IoTデバイスに対してスマホ等外部のデバイスから相互に通信を行えるシステムのことです。一つの用途としては、外部ネットからラズパイへのアクセスが考えられます。今回はBlynkからのラズパイLチカを目標に、Blynkの環境構築を試みました。
f:id:tara-chang:20200506100425p:plain
なお今回はこちらの記事の内容をトレースすることで成功しました。Blynk公式のチュートリアルも試したのですが失敗しました➡失敗編

まず下準備

Blynkスマホアプリ側の準備

新しいプロジェクトを作成し、トークンを生成しておきます。これは直感操作で殆ど出来るかと思いますので詳細は割愛します。

配線

Raspberry PiのGPIO18ピンとGNDにLEDを接続しました。GPIO18をBlynkアプリでONできれば目標は達成となります。

Blynkのインストール

まずblynkディレクトリを作成し、そこにblynkのライブラリをgit cloneします。

pi@raspberrypi:~ $ cd blynk
pi@raspberrypi:~/blynk $ git clone https://github.com/blynkkk/blynk-library.git
Cloning into 'blynk-library'...
remote: Enumerating objects: 11456, done.
remote: Total 11456 (delta 0), reused 0 (delta 0), pack-reused 11456
Receiving objects: 100% (11456/11456), 9.20 MiB | 1.80 MiB/s, done.
Resolving deltas: 100% (7204/7204), done.

先ほど生成されたblynk-library/linuxディレクトリに移動し、コンパイル(多分)を行います。

pi@raspberrypi:~/blynk $ cd blynk-library/linux
pi@raspberrypi:~/blynk/blynk-library/linux $ make clean all target=raspberry

rm main.o ../src/utility/BlynkDebug.o ../src/utility/BlynkHandlers.o ../src/utility/BlynkTimer.o blynk
rm: 'main.o' を削除できません: そのようなファイルやディレクトリはありません
rm: '../src/utility/BlynkDebug.o' を削除できません: そのようなファイルやディレクトリはありません
rm: '../src/utility/BlynkHandlers.o' を削除できません: そのようなファイルやディ レクトリはありません
rm: '../src/utility/BlynkTimer.o' を削除できません: そのようなファイルやディレクトリはありません
rm: 'blynk' を削除できません: そのようなファイルやディレクトリはありません
Makefile:64: ターゲット 'clean' のレシピで失敗しました
make: [clean] エラー 1 (無視されました)
g++ -I ../src/ -I ./ -DLINUX -c -O3 -w -DRASPBERRY main.cpp -o main.o
g++ -I ../src/ -I ./ -DLINUX -c -O3 -w -DRASPBERRY ../src/utility/BlynkDebug.cpp -o ../src/utility/BlynkDebug.o
g++ -I ../src/ -I ./ -DLINUX -c -O3 -w -DRASPBERRY ../src/utility/BlynkHandlers.cpp -o ../src/utility/BlynkHandlers.o
g++ -I ../src/ -I ./ -DLINUX -c -O3 -w -DRASPBERRY ../src/utility/BlynkTimer.cpp -o ../src/utility/BlynkTimer.o
g++ main.o ../src/utility/BlynkDebug.o ../src/utility/BlynkHandlers.o ../src/utility/BlynkTimer.o -lrt -lpthread -s -lwiringPi -o blynk

読み方が良く分かりませんが、main.cppがコンパイルされたんだと思います

Blynk立ち上げとLチカ

次のコマンドでBlynkサーバー立ち上げます。

pi@raspberrypi:~/blynk/blynk-library/linux $ sudo ./blynk --token=<トークン>
[0]
    ___  __          __
   / _ )/ /_ _____  / /__
  / _  / / // / _ \/  '_/
 /____/_/\_, /_//_/_/\_\
        /___/ v0.6.1 on Linux

[1] Connecting to blynk-cloud.com:80
[468] Ready (ping: 172ms).

無事Blynkが立ち上がりました。
またスマホアプリからのLチカにも応答しました!

f:id:tara-chang:20200507124502p:plain
Blynkアプリ画面。sliderでLED光度も調節可能
f:id:tara-chang:20200507124615p:plain