LoginSignup
3
5

More than 3 years have passed since last update.

M5Cameraをルータに繋いだときのカメラのIPアドレスを知りたいときなど、
画面がないので何らかの方法で通知する必要があります。
シリアルコンソールにつないでいれば Serial.print 等で出力して確認できますが、
モバイルバッテリーにつないで動作させている場合はそれもできません。
そういった場合に Line に通知するとわかりやすいので、実現のためのプログラムを以下に示します。

Lineに通知するにはインターネットにつなげる必要があるので、
ソース中のSSID、PASSWORDを書き換えるのと、
LINE_TOKENに Line Notify から取得したトークンに書き換えてください。

Line Notify のトークンは
https://notify-bot.line.me/ja/
にログインしてマイページから発行できます。
image.png
image.png
image.png

プログラムソースは以下のとおりです。

#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() {
}
3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5