15_Blynk

BlynkからLEDを操作する

BlynkアプリからCherryIoTのLEDを遠隔操作します。

LEDモジュールWi-Fi通信
1

準備する

CherryIoTとモジュールを接続する

CherryIoTの指定コネクタに以下のモジュールを接続し、CherryIoTをPCのUSB-A挿入口に接続します。

LEDモジュール

LEDモジュール

接続先:A

Wi-Fiの情報を確認する

CherryIoTを接続する2.4GHz Wi-FiのSSID(ネットワーク名)とパスワードを確認します。Wi-Fiルーター本体のラベルや設定画面に記載されています。分からない場合は、ネットワークの管理者に確認してください。

Blynkを準備する

Blynkアカウントを準備する

BlynkのWebサイトを開き、右上の「Sign Up」をクリックしてアカウント作成を始めます。すでにBlynkアカウントを持っている場合は、ログインして「テンプレートを作成する」へ進んでください。

BlynkのWebサイトでSign Upを選択する画面

メールアドレスを登録する

メールアドレスを入力して利用規約への同意にチェックを入れ、「Sign Up」をクリックします。

Blynkのアカウント作成画面

確認メールを開く

Blynkから届いたメールを開き、「Complete setup」をクリックします。

Blynkから届いた確認メール

パスワードを設定する

Blynkへログインするためのパスワードを入力し、「Next」をクリックします。

Blynkのパスワード設定画面

プロフィール名を設定する

表示名を入力して「Done」をクリックします。

Blynkのプロフィール設定画面

利用目的を選択する

自分に近い利用目的を選択して、初期設定を完了します。

Blynkで利用目的を選択する画面

テンプレートを作成する

「Developer Zone」→「My Templates」を開き、「+ New Template」をクリックします。

Blynkで新しいテンプレートを作成する画面

テンプレートの情報を入力する

Nameは任意です。このページでは例として「CherryIoT」とします。Hardwareを「ESP32」、Connection Typeを「WiFi」に設定して「Done」をクリックします。

Blynkのテンプレート作成設定画面

作成したテンプレートを開く

Templatesの一覧に表示された新しく作成したテンプレートをクリックします。

BlynkのTemplates一覧に表示されたCherryIoT

Datastreamを作成する

「Datastreams」を開き、「+ New Datastream」をクリックします。

BlynkのDatastreams画面

LED用のDatastreamを作成する

「DATASTREAM NAME」に「LED」と入力し、表示された候補から「LED」を選択します。

BlynkでLED用のDatastreamを作成する画面

LED用のV0を設定する

Nameを「LED」、Pinを「V0」、Data Typeを「Integer」、Minを「0」、Maxを「1」、Defaultを「0」に設定して「Create」をクリックします。

BlynkでLED用のVirtual Pin V0を設定する画面

テンプレートを保存する

LEDのDatastreamが追加されたことを確認し、「Save」をクリックします。

BlynkでDatastreamを保存する画面

デバイスを作成する

左側の「Devices」を開き、「+ New Device」をクリックします。

Blynkで新しいデバイスを作成する画面

テンプレートから作成する

「From template」をクリックします。

BlynkでFrom templateを選択する画面

デバイスを作成する

Templateで新しく作成したテンプレートを選択します。Device Nameは任意です。このページでは例として「CherryIoT」と入力し、「Create」をクリックします。

BlynkでCherryIoTデバイスを作成する画面

認証情報を確認する

デバイスが作成されると、Template ID、Template Name、Auth Tokenが表示されます。Auth Tokenはデバイスを認証するための重要な情報なので、第三者へ公開しないでください。

Blynkでデバイス作成後に認証情報が表示された画面

ダッシュボードを編集する

作成したデバイスの画面で「Edit Dashboard」をクリックします。

Blynkのデバイス画面でEdit Dashboardをクリックする画面

Switchを追加する

左側のWidget Boxにある「Switch」をドラッグして、Dashboardへ配置します。

BlynkのWidget BoxからSwitchをDashboardへ配置する画面

Switchの設定を開く

追加したSwitchをクリックして「Switch Settings」を開きます。

BlynkのSwitch Settings画面

SwitchとLEDを関連付ける

Datastreamに「LED (V0)」を選択し、ON VALUEを「1」、OFF VALUEを「0」に設定して「Save」をクリックします。

BlynkのSwitchにLED V0を設定する画面

ダッシュボードを保存する

Switchの設定ができたら、「Save And Apply」をクリックします。

BlynkのDashboardを保存する画面

デバイス画面を確認する

Devicesから作成したデバイスを開き、LEDのSwitchが表示されていることを確認します。プログラムを書き込む前はデバイスが「Offline」と表示されます。

BlynkのCherryIoTデバイスがOfflineと表示された画面

Template IDとTemplate Nameを確認する

「Developer Zone」→「My Templates」→作成したテンプレートを開き、HomeのFirmware configurationに表示されるTemplate IDとTemplate Nameを確認します。Auth Tokenとあわせて、次のサンプルコードで使用します。

BlynkのFirmware configurationにTemplate IDとTemplate Nameが表示された画面

Arduino IDEに必要なライブラリをインストールする

このサンプルでは、次のライブラリを追加する必要があります。

  • Blynk by Volodymyr Shymanskyy

初めて使用する場合のみインストールしてください。

ライブラリをインストールする
2

サンプルコード

GitHubで公開しているサンプルコードです。コードをコピーして Arduino IDEで使用します。

15_Blynk.ino
GitHubで開く
GitHubからコードを読み込んでいます...
3

プログラムを書き込む

上のサンプルコードをコピーし、Arduino IDEに貼りつけます。

設定情報を書き換える

コード内の以下の箇所を、「1 準備する」で確認・取得した情報に 書き換えます。

コード内の項目入力する情報
BLYNK_TEMPLATE_IDBlynkのテンプレートID
BLYNK_TEMPLATE_NAMEBlynkのテンプレート名
BLYNK_AUTH_TOKENBlynkの認証トークン
ssid接続するWi-FiのSSID
passWi-Fiのパスワード
#define BLYNK_TEMPLATE_ID "ここにテンプレートIDを入力"#define BLYNK_TEMPLATE_NAME "ここにテンプレート名を入力"#define BLYNK_AUTH_TOKEN "ここに認証トークンを入力"char ssid[] = "ここにSSIDを入力";char pass[] = "ここにパスワードを入力";

コードの左側にある項目名や記号は残し、例を参考に値の部分だけを 書き換えます。値を囲む"、行末の;、 証明書の開始・終了行などは削除しません。書き換えたあと、xxxxxなどの仮の文字が残っていないことを確認してください。

Wi-Fiのパスワード、APIキー、トークン、証明書などを入力したコードは、 Webサイト、SNS、GitHubなどへ公開しないでください。

ボードとポートの設定を確認し、左上の 「→(書き込みボタン)」を押してCherryIoTに書き込みます。

初めて書き込む方は「はじめてのCherryIoT」で詳しい手順を確認してください。

4

動作確認

Blynkで確認する

デバイスがOnlineになったことを確認する

プログラムを書き込むと、Blynkのデバイス画面で作成したデバイスが「Online」と表示されます。LEDのSwitchをON・OFFして、LEDが点灯・消灯することを確認します。

BlynkでCherryIoTがOnlineになりLEDのSwitchを操作する画面

Blynkの画面からLEDを点灯・消灯できるなら成功です。

動作中、シリアルモニターにはLEDの状態に合わせて「LED ON」または「LED OFF」と表示されます。

Arduino IDEの画面右上にあるアイコンをクリックすると、 画面下にシリアルモニターが表示されます。

Arduino IDEでシリアルモニターを表示する場所
5

コードの解説

Blynkへ接続し、仮想ピンV0で受け取った値をLED出力へ反映します。

15_Blynk.ino
GitHubで開く
GitHubからコードを読み込んでいます...

Serial.begin(115200);シリアルモニターへ文字や測定値を表示するため、通信速度を115200bpsに設定します。

#define BLYNK_AUTH_TOKEN "xxxxxx"Blynkのデバイス認証トークンを設定します。テンプレート情報も同様に設定します。

Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);認証情報とWi-Fi情報を使ってBlynkへ接続します。

BLYNK_WRITE(V0)Blynkの仮想ピンV0の値が変わったときに自動で実行されるコールバック処理です。仮想ピンは実際のGPIO端子ではなく、Blynkアプリとプログラムの間で値を受け渡すための番号です。

int value = param.asInt();V0から受け取った値を整数として取り出します。

digitalWrite(ledPin, value);受信値をLED端子へ出力し、点灯または消灯します。

Serial.println(value ? "LED ON" : "LED OFF");受信値に応じてLEDの状態をシリアルモニターへ表示します。

Blynk.run();Blynkとの通信を維持し、アプリからの操作を受け取ります。