目次
ESP32を遠隔操作!Blynkの使い方とLチカ
できること
Blynkとは、簡単に言えば外部ネットワークからESP32などのマイコンを操作できるサービスです。スマホアプリがリリースされていて、かなり洗練されています。
今回は以下の動画のようなボタンをトリガーとしてESP32の関数を呼び出すプログラムを作っていきます。
【ESP32×Blynk】
BlynkにはESP32のピンを直接オンオフする機能に加え、バーチャルピンと呼ばれる便利なものもあります!バーチャルピンの入力を読み取り、その値に応じて関数を呼び出すのも可能。
ここでは試しにLEDの点滅ボタンを実装しました???? pic.twitter.com/RvA0BqnozX
— ????????????-????????????????????電子工作 (@wak_tech) December 15, 2019
インストール後は、下記の画面でCreate New AccountかFacebookアカウントでログインしましょう。
トークンの取得
通信するにはトークンが必要です。
- スマホアプリ側で「New Project」から新しくプロジェクトを作成する
- ハードウェアはESP32 Dev Boardにしましょう。
- 以下の画面の条件でCreateを押します。その直後、「あなたのアドレスにトークンを送信しました」という旨のメッセージが表示されます。
- メールを確認して、トークン(ランダムな文字列)をコピーしておきましょう。
Blynk側の設定
Blynkを使うと、直感的でかっこいいボタンやスライドバーなどが使えますが、使い放題というわけにはいきません。
ポイントとしては
- ボタンなどを使うにはエネルギーが必要(スマホゲーでいうスタミナ的な要素)
- 無料のエネルギーが2000支給される
が挙げられます。
ただ関数を呼び出したりするだけであればまず2000ポイントも消費しないので、心配無用です。
ではボタンを配置してみましょう。
- 画面のスワイプでWidget Boxを表示
- ボタンを選択
- ボタンの設定で、Virtual pinのV0を選択
- ボタンの名前やオンオフ時の表示を適当に変えて完成
これでボタンが表示されるはずです。
次は、ESP32側の設定をしましょう。
ESP32側の設定(回路)
非常にシンプルな回路です。32番ピンに抵抗とLEDを繋げています。
プログラム
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#define LED 32
//自分の環境に合わせて変更
char auth[] = "YOUR_TOKEN";
char ssid[] = "SSID";
char pass[] = "PASSWORD";
int LED_Flag = 0;
void setup()
{
//LED settings
pinMode(LED,OUTPUT);
digitalWrite(LED,HIGH);
delay(200);
digitalWrite(LED,LOW);
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
Serial.println("connected");
}
void loop()
{
Blynk.run();
}
BLYNK_WRITE(V0)
{
LED_Flag = param.asInt();
if(LED_Flag == 1){
L_chika();
}
}
void L_chika(){
Serial.println("LED ON");
for(int i=0;i<5;i++){
digitalWrite(LED,HIGH);
delay(200);
digitalWrite(LED,LOW);
delay(200);
}
}
【ESP32×Blynk】
BlynkにはESP32のピンを直接オンオフする機能に加え、バーチャルピンと呼ばれる便利なものもあります!バーチャルピンの入力を読み取り、その値に応じて関数を呼び出すのも可能。
ここでは試しにLEDの点滅ボタンを実装しました???? pic.twitter.com/RvA0BqnozX
— ????????????-????????????????????電子工作 (@wak_tech) December 15, 2019
これで関数が呼び出せましたね!
同様に、「このボタンを押すとエアコンのスイッチオン」や「このボタンを押すとサーボが回って餌や水を自動で与える」なども実装できます。
夢が広がりますね!
お待ちしておりました
wak techさんのわかりやすく具体的な説明 助かります
絶対マスターしたいです
ありがとうございました。
esp32側のプログラムですが、blynkが自動で作成すると聞いた覚えがありますが、どのスケッチ例を選べば良いのでしょうか。
また、ボタン変更すると自動でプログラム側も更新されるのでしょうか
コメントありがとうございます。
自動で作成されるとのことですが、私は残念ながら聞いたことがありません…すみません。
ボタン変更、例えばV3に変更した場合はプログラムの「BLYNK_WRITE(V1)」を「BLYNK_WRITE(V3)」にします。
自動で変更する方法は存じ上げないので、もし情報ありましたらリンクを貼っていただけると助かりますm(_ _)m
wak tech様 失礼しました
私の勝手な思い込みの間違いでした
現在 https:// docs.blync.cc でblynkを勉強しています
申し訳ありませんでした