M5CameraでLineに通知を送る最小限のサンプル
M5Cameraをルータに繋いだときのカメラのIPアドレスを知りたいときなど、
画面がないので何らかの方法で通知する必要があります。
シリアルコンソールにつないでいれば Serial.print 等で出力して確認できますが、
モバイルバッテリーにつないで動作させている場合はそれもできません。
そういった場合に Line に通知するとわかりやすいので、実現のためのプログラムを以下に示します。
Lineに通知するにはインターネットにつなげる必要があるので、
ソース中のSSID、PASSWORDを書き換えるのと、
LINE_TOKENに Line Notify から取得したトークンに書き換えてください。
Line Notify のトークンは
https://notify-bot.line.me/ja/
にログインしてマイページから発行できます。
プログラムソースは以下のとおりです。
#include <HTTPClient.h>
#include <WiFi.h>
//インターネットアクセスポイントのSSID、パスワード
#define SSID "(お使いのルータのSSID)"
#define PASSWORD "(お使いのルータのパスワード)"
//LINE Notify トークン
#define LINE_TOKEN "(Line Notifyで取得したトークン)"
// URLエンコード(URLに任意の文字を設定するときに使用)
String urlencode(const String &sourse) {
static const char lookup[] = "0123456789abcdef";
String result;
for (const char* c = sourse.begin(); c != sourse.end(); c++) {
if('0' <= *c && *c <= '9'
|| 'a' <= *c && *c <= 'z'
|| 'A' <= *c && *c <= 'Z'
|| *c=='-' || *c=='_' || *c=='.' || *c=='~') {
result += *c;
} else {
result += '%';
result += lookup[(*c >> 4) & 0xf];
result += lookup[*c & 0xf];
}
}
return result;
}
void setup() {
// シリアル通信開始
Serial.begin(115200);
Serial.setDebugOutput(true);
Serial.println("power on");
// WiFi接続
WiFi.mode(WIFI_STA);
WiFi.begin(SSID, PASSWORD);
for (int i = 0; WiFi.status() != WL_CONNECTED; i++) { // 接続できるまで最大30秒間試行
if (i >= 30) esp_restart(); // 接続できない場合はリセット
delay(1000);
Serial.print(".");
}
Serial.println("\nconnected: " SSID);
// Line Notify にメッセージ送信
HTTPClient http;
http.begin("https://notify-api.line.me/api/notify");
http.addHeader("Authorization", "Bearer " LINE_TOKEN);
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
http.POST("message=" + urlencode("M5Cameraからの通知"));
http.end();
Serial.println("posted");
}
void loop() {
}
Author And Source
この問題について(M5CameraでLineに通知を送る最小限のサンプル), 我々は、より多くの情報をここで見つけました https://qiita.com/nakazawaken1/items/138a1760edf4b8ef819b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .