BlynkをRaspberry Piに導入した後,このままではPython3でコードを書いてBlynkを使うことが出来ないことに気づいた.ネットで情報を探していると,どうやらPython3からBlynkへ接続するためのライブラリが用意されているようだったので,そのインストール手順のメモ.
Raspberry PiへのBlynkインストールの手順
これは前回の記事で書いたので,必要に応じて参照頂きたい.
www.eletech.work
Blynkライブラリ for Python3のインストール
pip3を使って以下のようにインストールする.
pi@raspberrypi:~ $ sudo pip3 install blynk-library-python Collecting blynk-library-python Downloading https://files.pythonhosted.org/packages/37/01/91c464c3f9a36ad96e397c9652a339fbde71a3de99eabc22e7de6b2f3923/blynk-library-python-0.2.0.tar.gz Building wheels for collected packages: blynk-library-python Running setup.py bdist_wheel for blynk-library-python ... done Stored in directory: /root/.cache/pip/wheels/fc/d4/df/7128f5d8bf6e86fba6107a971acb3f695fbde461a74dc75205 Successfully built blynk-library-python Installing collected packages: blynk-library-python Successfully installed blynk-library-python-0.2.0
無事,ver-0.2.0のライブラリがインストールされた.インストールはこれだけでOK.
スマホからRaspberry Piに数値を送ってみる
まずは,Raspberry Piと同じネットワークに接続されているスマホでは面白くないので,スマホのWiFiは切って4G接続にしておく.そして,スマホ側ではBlynkアプリを立ち上げ,以前作成したtestプロジェクトに「Slider」を設置する.この状態で,設置されたSliderのタップすると,色々設定できる画面になる.ここでは,以下リスト&図の通りに設定した.
- OUTPUT:接続先はV1,数値は0~255の範囲
- DECIMALS:整数
- SEND ON RELEASE:ON
- SHOW VALUE:ON
次にRaspberry Pi側のプログラムの準備.Githubにサンプルコードがあるので,これを参考に以下のようなコードを書く(blynk-library-python/README.md at master · vshymanskyy/blynk-library-python · GitHub).Tokenは誰かに悪いことされないように隠しています.
import BlynkLib # Initialize Blynk blynk = BlynkLib.Blynk('b8********************************5a') # Register Virtual Pins @blynk.VIRTUAL_WRITE(1) def my_write_handler(value): print('Current V1 value: {}'.format(value)) while True: blynk.run()
これを,Raspberry Piで実行する.
pi@raspberrypi:~ $ sudo python3 blynk_test.py blynk_test ___ __ __ / _ )/ /_ _____ / /__ / _ / / // / _ \/ '_/ /____/_/\_, /_//_/_/\_\ /___/ for Python v0.2.0 (Linux)
無事,PythonからBlynkを起動できていることを確認.この状態で,スマホアプリ側ではプロジェクト右上の接続ボタン(再生ボタンみたいな横サンカクボタン)を押すと,以下のような画面になる.この状態で,スライダを動かしてみると・・・
pi@raspberrypi:~ $ sudo python3 blynk_test.py blynk_test ___ __ __ / _ )/ /_ _____ / /__ / _ / / // / _ \/ '_/ /____/_/\_, /_//_/_/\_\ /___/ for Python v0.2.0 (Linux) Current V1 value: ['127']
おぉ!Raspberry Pi側でちゃんと受信できている!さらにスライダを動かしてみると・・・
pi@raspberrypi:~ $ sudo python3 blynk_test.py blynk_test ___ __ __ / _ )/ /_ _____ / /__ / _ / / // / _ \/ '_/ /____/_/\_, /_//_/_/\_\ /___/ for Python v0.2.0 (Linux) Current V1 value: ['127'] Current V1 value: ['255']
おぉぉ!ちゃんと,外部のネットワークからRaspberry Piに数値が送られ,Raspberry Pi側でこれを受信してアクション(今回はただのPrint)を起こせている.Blynk,なんて便利なんだろう.とりあえずこれで,Raspberry PiでPython3を使ってBlynkへ接続することに無事成功.