スマホとマイコンを連動させるサービスの一つに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() { }