概要
を参考に手持ちのM5 ATOMで確かめようとしたが、旧式のATOMだったのでそのままでは動かなかったので、スケッチを旧M5 ATOM用に修正した。
ほとんど内容が同じなのでオリジナリティは薄いものの、検索すると新旧の情報が錯綜していてわかりづからかったのもあり備忘録として記事にする。
スケッチ
#define CHANNEL_ACCSESS_TOKEN "チャネルアクセストークン"
// 旧ATOM用のヘッダ
#include "M5Atom.h"
#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "Wi-FiのSSID";
const char* password = "Wi-Fiのパスワード";
const char* authorization ="Bearer " CHANNEL_ACCSESS_TOKEN;
// LINE Messaging API ブロードキャストメッセージで通知
void notify(char* message) {
HTTPClient http;
http.begin("https://api.line.me/v2/bot/message/broadcast");
http.addHeader("Content-Type", "application/json");
http.addHeader("authorization", authorization);
char body[256];
sprintf(body,"{\"messages\":[{\"type\": \"text\",\"text\":\"%s\"}]}",message);
http.POST(body);
Serial.println(http.getString());
http.end();
}
void setup() {
// M5ATOM 用の初期設定
M5.begin(true, false, true);
delay(10);
// シリアルポート設定
Serial.begin(115200);
// Wi-Fi接続
Serial.print("WiFi connecting.");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(100);
}
}
void loop() {
// ボタンが押されているか判断
M5.update();
// 0番(左上隅)のLEDを青に光らせる
M5.dis.drawpix(0, 0x0000ff);
// ボタンが押された
if(M5.Btn.wasPressed()) {
// 0番(左上隅)のLEDを赤に光らせる
M5.dis.drawpix(0, 0x00ff00);
// ボタンが押されたことを通知
notify("ボタンを押しました!");
}
delay(100);
}
オリジナルに対してヘッダの変更等に加えて、通知が目に見えないと寂しいと思い、待機状態では青色に、ボタンを押したら赤色に光るようにした。
光らせるボタンはいずれも0番にしているので、旧式ATOM LITEでも動くと思うが未確認。
【追記】実際の動画