スマホとマイコンを連動させるサービスの一つにBlynkサービスと言うのがある。
今回はBlynkについては説明を省略するが、スマホでUIを簡単に作成し、マイコンと通信し制御やデータの表示等を行う事が出来、無償の範囲でも十分使えるサービスである。
過去にBlynkとESP32を使って簡易ラジコンを作成した事もある。
このBlynkサービスであるが、スマホのUIからではなくREST APIでも制御出来る。これが色々と便利に使える。
https://blynkapi.docs.apiary.io/#reference
IFTTTとの組み合わせや、ESP8266/ESP32同士の通信でもBlynkライブラリを使うと割と簡単に実装出来る。受信側も呼び出し関数を準備するだけでデータ受信時に数値を受け取りアクションを起こす事が出来る。このあたりの処理はまた後日紹介する。
今回はESP8266でBlynkのREST APIを呼び出す基本的なスケッチを紹介する。URLを開くだけで何らかのアクションを起こす場合、単純にURLを開き結果を判定するだけのスケッチである。
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
const char* ssid = "ssid";
const char* password = "password";
bool callurl() {
bool ret = true;
char url[128];
sprintf(url,"http://188.166.206.43/[auth_token]/update/V1?value=1");
HTTPClient http;
http.begin(url);
int httpCode = http.GET();
if (httpCode < 0)
ret = false;
http.end();
return ret;
}
void setup() {
WiFi.mode(WIFI_STA);
if (String(WiFi.SSID()) != String(ssid)) {
WiFi.begin(ssid, password);
}
while (WiFi.status() != WL_CONNECTED) {
delay(200);
}
callurl();
}
void loop() {
}