💡

BlynkからRaspberryPiを操作する

2022/01/22に公開

Blynkとは

https://blynk.io/

  • RaspberryPiやArduinoなどのIoT機器をインターネット経由で通信するためのアプリ
  • IoT機器の操作を自前でUIとロジックを用意しなくても簡単にできる
  • 通信プロトコルやUIの種類が豊富

導入

  • アプリをインストールする
  • ログインする(Facebookアカウントを使用)
  • プロジェクトを作成する
    • CHOOSE DEVICEを使用するデバイスを選択する(今回の場合Raspberry Pi 3 B
  • プロジェクトトークンが登録メールアドレスに送られてくるのでメモする(後で使う)
  • Buttonウィジェットを追加
    • OUTPUTVirtual:V1に変更
    • MODESWITCHに変更
  • 右上の三角のPLAYボタンを押して実行

RaspberryPiの設定

GPIO:23番からの出力を確認できるボードを組む。
今回は適当にLEDを光らせてみる。

BlynkをPythonで扱うためのライブラリをインストールする。

$ pip install blynk-library-python

実行コードはこんな感じ。

main.py
import BlynkLib
import RPi.GPIO as GPIO

BLYNK_TOKEN = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
blynk = BlynkLib.Blynk(BLYNK_TOKEN)

GPIO_PIN = 23
GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIO_PIN, GPIO.OUT)

# V1取得時のイベントハンドラー
@blynk.VIRTUAL_WRITE(1)
def my_write_handler(value):
  print('V1: {}'.format(value))

  if value[0] == '1':
    print('ON:')
    GPIO.output(GPIO_PIN, GPIO.HIGH)
  else:
    print('OFF:')
    GPIO.output(GPIO_PIN, GPIO.LOW)

def main():
  while True:
    blynk.run()
    
if __name__ == '__main__':
  main()
$ python main.py

で起動して、BlynkのBUTTONをON/OFFする。
LEDがON/OFFされたら成功!

簡易的ですいません...

Discussion