You are here

Blynkの基本

ESP32,ESP8266,UNOなどのIoTデバイスの種類に依存しない基本事項についていくつか説明します。


Blynkアプリケーションの構成方法

ここでは、ESP8266,ESP32,Raspbarry Pi,Arduino UNOなどを核として構築する装置をIoTデバイスと呼びます。
また、スマートフォン上のBlynk用アプリをBlynkアプリと呼びます。

Blynkで作成するアプリケーションは、機能や利用形態により、大きくは以下の4種類に分けて考えることができます。
同じBlynkのアプリケーションといっても、これらの4種類で、IoTデバイスのスケッチの記述内容や、BlynkアプリのWidgetの設定方法はかなり異なります。
これらの基本的な利用形態を理解していないと、Blynkアプリケーションを開発する際に、必要とする機能性が得られなかったり、不必要な苦労をすることになります。
自分が作成しようとするアプリケーションの利用形態を確認したうえで、それに合致したIoTデバイスと、Blynkアプリの構成法を採る必要があります。


  1. IoTデバイスの入出力として信号線を単純に利用するアプリケーション
    BlynkアプリでIoTデバイスを操作すると、IoTデバイス側では、それぞれのMPUのデジタルピンやアナログピンの信号をそのまま利用します。
    また、IoTデバイスの状態は、Blynkアプリが実行されている間のみサーバーに記録されます。
  2. IoTデバイスに接続されたセンサーなどの周辺機器を何らかの操作手順で利用するアプリケーション
    BlynkアプリでIoTデバイスを操作すると、温度センサーなどの入力や、サーボモーターなどの出力など、何らかの操作手順でデジタルピンやアナログピンを操作して必要な結果を得ます。
    また、IoTデバイスの状態は、Blynkアプリが実行されている間のみサーバーに記録されます。
    例えば、温度センサーの計測値などは、Blynkアプリが起動されている間のみサーバーに記録されています。
  3. IoTデバイスに接続されたセンサーデータをサーバーに記録するアプリケーション
    IoTデバイスで計測される温度などは、Blynkアプリを実行中か否かにかかわらず、Blynkサーバーに記録されます。
    スマートフォンのBlynkアプリでIoTデバイスで計測された温度などを参照でき、計測値はBlynkアプリが実行されていなかった期間を含めて過去にさかのぼって記録されたデータを参照できます。
  4. 3-4の機能を組み合わせたアプリケーション

PULL型アプリケーション

1,2のタイプのアプリケーションでは、IoTデバイスは、Blynkアプリから指示を受け、その指示に従って環境の計測や、周辺機器の操作などの処理を行います。
このようなタイプのシステムは、PULL型のアプリと呼ばれます。(指示待ちIoTデバイスですね。)
PULL型のBlynkアプリケーションでは、Blynkアプリが実行されていない場合には、IoTデバイスは指示が来ないので何もしません。
したがって、IoTデバイスはBlynkサーバーに環境の計測値などを能動的に送らないので、Blynkアプリが実行されていない間のデータは何も記録されていません。
このタイプのIoTデバイスの開発は、Blynkアプリから来る様々な指示に対して、それぞれに対応する処理を記述することでシステムを作成します。

PUSH型アプリケーション

3のタイプのアプリケーションでは、IoTデバイスは、スマートフォンのBlynkアプリが実行されているかどうかにかかわらず、計測したデータ等をBlynkサーバーに送信し蓄積する仕組みを構築し利用します。
このようなタイプのシステムは、PUSH型のアプリと呼ばれます。(能動的なIoTデバイスですね。)
このタイプのIoTデバイスは、Blynkアプリからの指示に対応するのではなく、IoTデバイスに定められた処理(基本的には計測とその結果のBlynkサーバへの送信)を定期的に、あるいは周囲の事象に対応して実行する処理を記述することでシステムを作成します。

Blynkアプリが実行されると、BlynkアプリはIoTデバイスからデータを取得するのではなく、Blynkサーバーから過去のデータも含めて取得できます。このため、Blynkアプリが実行されていない期間のデータも含めて参照・利用することができるようになります。
また、Blynkアプリは、IoTデバイスから直接データを取得するわけではなく、Blynkサーバーからデータを得るので、IoTデバイスは、いつ来るかわからないBlynkアプリからの接続に備えて常時稼働する必要がなくなります。このため、数分に1回起動し、データ計測を含めた必要な処理を実行し、取得データをBlynkサーバーに送付して再度スリープするなどの仕組みを構築し、IoTデバイスの電力使用量を低減させることもできるようになります。

PUSH/PUSH混成型アプリケーション

4のタイプのアプリケーションは、1,2と3の組み合わせとなります。
IoTデバイスは、3のタイプのIoTデバイスで示したように、自身に定められた間隔もしくは事象に基づきデータの収集等とBlynkサーバーへの送信・蓄積を行うだけでなく、Blynkアプリから何らかの指示があれば、1,2のタイプのIoTデバイスの様に、それに対応する処理を行うことになります。


BlynkアプリのWidgetの利用法

Widgetの機能設定も、上記のPULL型かPUSH型かで、設定方法が異なってきます。


開発ソフト: 
技術: