Blynk アプリで 遠方から スマホ とESP32 の双方向リアルタイム同時通信

記事公開日:2017年6月21日


スポンサーリンク

スマホにBlynk アプリをインストール

まず、Android スマホの場合は Play ストアから以下のリンクをタッチしてください。
インストールは無料で、数種類のアイテムを無料で使うことができます。

iPhone の場合は App Store から以下のページをタッチしてください。
こちらもインストールは無料で数種類のアイテムを無料で使うことができます。

Blynk - IoT for Arduino, ESP32
Blynk - IoT for Arduino, ESP32
Developer: Blynk Inc
Price: Free+

以下、インストール方法は Android (アンドロイド)で説明します。

Play ストアで、以下のようにインストールをタッチして、インストールします。
終了後は「開く」をタッチします。

esp32_blynk_10.jpg


スマホ側 Blynk の設定

アカウントの登録

まずは、Blynk アカウントを作成します。
Facebook アカウントを使わない場合で説明します。
ご自分のメールアドレスを用意し、パスワードを事前に考えておいて、下図の様に入力してください。
Sign UP をタッチすると登録完了し、すぐにプロジェクト作成画面へ移行します。

esp32_blynk_11.jpg


新規プロジェクトの作成

まず最初に、プロジェクトというものを作成しなければなりません。
下図の様に、「New Project」をタッチ

esp32_blynk_12.jpg


次に、下図の様にプロジェクト名を好きな名前で入力し、Device は ESP32 Dev Board を選択してください。

esp32_blynk_13.jpg


次に、Connection Type を WiFi にして、「Create」ボタンをタッチすると下図の様なメッセージウィンドウが表示されます。
「OK」をタッチすると、ご自分のメールアドレスに Auth コードが送られてきます。

esp32_blynk_14.jpg


下図が送られてきたメールの内容です。
Auth コードは Arduino スケッチに入力するものですので、大切に保管しておいてください。
もし、無くした場合はプロジェクトを新たに作り直せば、また別の Auth コードが送られてくるので、あまりシビアになる必要はありません。

esp32_blynk_15.jpg


スマホから送信するコントローラーの設置

次に、スマホ側から操作するコントローラーを設置します。
ここでは、LED を連続調光コントロールするためのスライダーを設置してみます。

test という名前のプロジェクトを作成すると、下図の左のようになり、タッチするなりスワイプするなりするとアイテムが表示されます。

esp32_blynk_16.jpg


そして、下図の様に「 Slider 」をタッチするとスライダーが自動配置されます。

esp32_blynk_17.jpg


再度、空白にタッチするなり、スワイプさせると、下図の様に電池マークの Energy が減っています。
Slider は 200 Energy なので、残り 1800 Energy となっています。
つまり、2,000 Energy まで無料で使えますので、それ以上使いたい場合は「+Add」ボタンをタッチして追加すればよいわけです。

esp32_blynk_18.jpg


スライダーアイテムをタッチすると、下図の様に設定画面が出てきますので、OUTPUT のところのPIN のところをタッチします。

esp32_blynk_19.jpg


すると下図の様な画面になるので、Virtual の V0 に設定します。
これは、後で述べる Arduino IDE スケッチで使うハンドル名です。
スライダーを操作する毎に送信するデータは 100ms のインターバルを置いて送信するようにします。
これが最速です。
それ以外に PUSH というものがあるのですが、通信トラフィックを圧迫して、まともに操作できないので、100ms 以上にします。
LED は スケッチ上で sigmaDelta 関数を使うので、0-255 の範囲の値としておきます。

esp32_blynk_20.jpg


次に、下図の様にアイテムを長押しすると、位置を自由に変えられ、大きさも変えられます。
これは便利ですね。

esp32_blynk_21.jpg


ESP32 側からの受信データを表示するアイテムの設置

では、ESP32 – DevKitC 側から送信されてくるデータを表示させるアイテムを設置していきます。

例えば、下図の様に Level H というアイテムを選択します。
これは、水平表示のレベルメーターです。

esp32_blynk_22.jpg


そして、アイテムを長押しして好きな位置と大きさに設定し、下図の様に Virtual を V1 にします。
センサー値はとりあえず下図の様にしておいて、後で LED の明るさを見ながら調整していきます。
Reading Rate は 1秒以上に設定します。
通信トラフィックを軽減させるためには 1秒以上ないとフリーズしてしまうので、止むを得ないでしょう。

esp32_blynk_23.jpg


また、下図の様にアイテムの色を変えることができますので、いろいろ試してみて下さい。

esp32_blynk_24.jpg


Arduino IDE および、Arduino core for the ESP32のインストール

Arduino IDE は 1.8.2 で動作確認しましたのでそれをインストールすることをお勧めします。

Arduino core for the ESP32 のインストール方法については以下の記事を参照してください。
Arduino core for the ESP32 は最新版を使うようにしてください。
頻繁に更新されていますので要注意です。

Arduino core for the ESP32 のインストール方法


スポンサーリンク


「Blynk アプリで 遠方から スマホ とESP32 の双方向リアルタイム同時通信」への8件のフィードバック

  1. 初めまして。
    現在ESP32と3gimの接続を試みているのですが、うまくいかず手詰まりの状態です。そこで、ESP32と3gimについて記事を書いていただけないでしょうか?

    1. cyprisさん

      このブログにお越しくださり、ありがとうございます。

      残念ではございますが、3gim は持ち合わせておりません。
      値段を調べたらメチャメチャ高価ですね。
      これはとても私には購入できません。

      余談で 3gim とは関係ありませんが、私が3Gや4G回線で Blynk 通信する場合は、モバイルルーターやデザリングでやったことはありました。

  2. zaudy といいます
    blynk 初心者です
    わかりやすい説明でありがとうございます
    スマホで部品を設定する事は理解できましたが
    arduino 側でのサンプルプログラムはどの様に準備するのでしょうか
    メールで送られて来るのでしょうか
    そこにauth コードなどを設定するのでしょうか
    お教え願えませんでしょうか

    1. zaudyさん
      記事をご覧いただきありがとうございます。
      この記事を更に読み進めていき、3ページ目の
      「Arduino IDE に Blynk ライブラリをインストールする」
      の節で書かれておりますので、それをご覧ください。
      スマホでBlynkプロジェクトを作成したら、登録したアドレスにメールが送られてくるので、そこにライブラリ用のリンクが貼られています。
      そこにauthコードが書かれています。
      そのauthコードをArduino IDEのスケッチに入力します。

  3. 初めまして。いつも参考にさせて戴いております。
    スマホ1台での双方向通信はできましたが、2台目のスマホの接続方法が解りません。スケッチには1つのAuth コードしか設定できないし…   1台目のスマホのAuth コードを2台目のスマホに設定するのでしょうか? ご教授願います。

    1. Blynk3035さん

      記事をご覧いただき、ありがとうございます。

      2台目以降の複数の別のスマホでは、同じように Blynk をインストールしていただき、同じアカウントでログインしていただくと、同じプロジェクトが使えるように反映されていると思います。
      ログインする時にfacebookでログインしたならば、おなじアカウントでログインしてみてください。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください