ESP32にBlynkを入れてフルカラーLEDを動かしてみる

おはようございますこんにちはこんばんは

わんわんです!

twitter.com

 

今日はスタートアップカフェKOZAで開催された、FAB勉強会に参加して面白いことをして来たので。

その復習を兼ねてブログを書きました。

www.facebook.com

 

このブログを読むと、最後にこんなのが出来ます

youtu.be

使うもの

  1. ESP32
  2. AndroidiPhoneだとうまくいかない)
  3. ArduinoIDE(Windows でもMacでも大丈夫)
  4. Blynk
  5. Adafruit社製のLED

www.switch-science.com

 

 

Blynkについて

Blynk アプリを使うと「Raspberry Pi」や「ESP32」などが簡単、スマートフォンからコントロールできます。今までコントローラのようなものをスマートフォンで使えるようにするには、自分たちでアプリ作ったりHTMLを書いていましたが、それを気軽に置き換えれるというような感じです。

ただ、ビルドしたりして自分のサービスみたいにして配布する事はできないようです。

 

www.blynk.cc

 

ESP32の設定

秋月とかで買って下さい

akizukidenshi.com

LEDを接続して下さい、今回は楽なLEDなので電源とGNDとPIN4だけを使います、以下の画像のような感じです。

 

ArduinoIDE

ESP32はArduino互換なので、ArduinoIDEで開発ができます、入れていない方は入れて下さい。

Arduino - Software

 

ESP32が動くように

ESP32が動くようにボード情報を入れます。

開発元espressifがArduinoボード設定をgithubに置いているので設定。
https://github.com/espressif/arduino-esp32

mkdir -p ~/Documents/Arduino/hardware/espressif && \
cd ~/Documents/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32/tools/ && \
python get.py

 

Blynk用のライブラリをインストール

メニューの 「スケッチ」>「ライブラリのインクルード」>「ライブラリマネージャ」で「Blynk」と検索でインストール。

そのあと一応ソフトを再起動させて下さい。 

f:id:itarenai:20180513192553p:plain

 

その他必要なライブラリ

  •  Windowsだと「Documento」の下Adruinoというフォルダーがあるのでその中の「libraries」にDLしたファイルを入れて下さい
  • Macだと「書類」下Adruinoというフォルダーがあるのでその中の「libraries」にDLしたファイルを入れて下さい

GithubからダウンロードしたZIPは、解凍して、ファイル名-masterのmasterを取り除いて下さい)

 

f:id:itarenai:20180513193317p:plain

 

以下のを入れて下さい

github.com

 

これは、「hardware」内の「/espressif/esp32/libraries/BLE/」にそのままコピペします。

github.com

 

ソースコード

 以下のコードをArduinoのスケッチに書き込み、マイコンに書き込みます、一旦エラーが出ると思います、がとりあえずOK

#define BLYNK_PRINT Serial
#define BLYNK_USE_DIRECT_CONNECT
#include <BlynkSimpleEsp32_BLE.h>
#include <BLEDevice.h>
#include <BLEServer.h>
char auth = "";


//NeoPixelColorのライブラリの読み込み
#include <Adafruit_NeoPixel.h>
#define MAX_VAL 64 // 0 to 255 for brightness
#define DELAY_TIME 50
#define LED_NUM 6
#define PIN_NUM 4
int ledR = 0;
int ledG = 0;
int ledB = 0;
//NeoPixel strip の初期化
Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_NUM, PIN_NUM, NEO_GRB + NEO_KHZ800);

//--------------------------------------------

void setup()
{
// Debug console
Serial.begin(9600);
Serial.println("Waiting for connections...");
Blynk.begin(auth);
//Strip initialise
strip.begin();
strip.show(); // Initialize all pixels to 'off'
}

//ヴァーチャルピンV0
BLYNK_WRITE(V0)
{
ledR = param[0].asInt();
ledG = param[1].asInt();
ledB = param[2].asInt();
Serial.print( "ledR: ");
Serial.print(ledR);
Serial.print( " ledG: ");
Serial.print(ledG);
Serial.print( " ledB: ");
Serial.println(ledB);

//LED点灯
for(int i=0;i<LED_NUM;i++){
//strip.Color(ledR, ledG, ledB), DELAY_TIME;
strip.setPixelColor(i,ledR, ledG, ledB);
}
strip.show();
delay(DELAY_TIME);
}

void loop()
{
Blynk.run();
}

 

Blynkアプリの設定

登録はここを見て下さい。

jh1lhv.hatenablog.jp

 

この内容でNewProjectを作ります。

f:id:itarenai:20180513194217j:plain

 

画面で右スライドさせると部品が出てくると思います

f:id:itarenai:20180513194440j:plain

その中から、「BLE」ボタンと「zeRGBa」ボタンを選択します。

こんな感じで置けるのおけたらOK

f:id:itarenai:20180513194701j:plain

 

 

 

zeRGBaの設定

・MERGEに指定

・V0に指定 

f:id:itarenai:20180513215339p:plain

仕上げ作業

先ほど、スマホに Blynk アプリをインストールしてプロジェクトを作成した時に送られてきたメールを見てみて下さい。

「Auth Token」が入っているはずなので、それをコピーして、ソースコードの「char auth = "";」に記入して下さい。

f:id:itarenai:20180513211027p:plain

 

以上で設定は完了です

 

  • ArduinoIDEで「マイコンボード」書き込みを行い
  • BLEボタンをクリックして、「Blynk」という項目があるので選択します。

    f:id:itarenai:20180513215001j:plain

 

  • クリックして起動させる f:id:itarenai:20180513220337j:plain