2016年5月28日土曜日

2016年5月21日土曜日

ESP-WROOM-02とiphoneをBlynkで制御する

Blynkという、iphone (やandroid)でarduino(やRaspberry Pi )のI/0を制御するアプリがあります。

今回は、iPhoneとarduino化したESP-WROOM-02(ESP8266)でLチカ動作確認しました。

システムの仕組みは、スマホアプリからコントロールされる、ドライバ的なプログラムをarduinoに入れ、アプリに表示される"Auth Token"という文字列でアプリとarduinoを紐づけしてコントロールするものです。arduinoの動作はアプリ側で定義・設定する形になっており、arduino側プログラムはwifiの設定(SSID,password)、アプリとの紐づけの"Auth Token"の設定以外は変更する必要はありませんでした。


Blynkingのwebが、一次情報になります。アプリのダウンロードリンクや、ファーストステップの説明があります。

arduinoのlibraryやサンプルプログラムは、こちらにあります。
ダウンロードしたzipファイルを解凍して、手動で、下記4つのフォルダをarduinoのフォルダにコピーします。(コピーするようにダウンロードサイトに説明書きがあります)
~\Arduino\libraries\Blynk
~\Arduino\libraries\BlynkESP8266_Lib
~\Arduino\libraries\SimpleTimer
~\Arduino\libraries\Time
サンプルプログラムは、解凍したzipファイルの下記のフォルダにあります。
~\Blynk_v0.3.6\Blynk\examples\Boards_WiFi\ESP8266_Shield\ESP8266_Shield.ino
予めESP-WROOM-02をarduino化しておきます。サンプルプログラムにwifiのSSID,passwordとアプリとの紐づけ用のAuth Tokenを転記して、ESP-WROOM-02に書き込んでおきます。
 * Blynk library is licensed under MIT license
 * This example code is in public domain.
 *
 **************************************************************
 * This example runs directly on ESP8266 chip.
 *
 * You need to install this for ESP8266 development:
 *   https://github.com/esp8266/Arduino
 *
 * Please be sure to select the right ESP8266 module
 * in the Tools -> Board menu!
 *
 * Change WiFi ssid, pass, and Blynk auth token to run :)
 *
 **************************************************************/

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YourAuthToken";         // ←"YourAuthToken"の部分をAuthTokenに置き換え)


void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, "ssid", "pass");           // ←ここに"ssid", "pass"にSSIDとpasswordを置き換え
}

void loop()
{
  Blynk.run();
}
アプリ側でLEDを接続する端子の設定を行うため、arduino側プログラムでの端子の設定は不要です。
アプリ側の設定ですが、本家のファーストステップや、紹介記事を参考にしてください。