3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめてのアドベントカレンダーAdvent Calendar 2024

Day 15

旧式ATOMでMessaging APIの動作テストしてみた

Last updated at Posted at 2024-12-03

概要

を参考に手持ちの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でも動くと思うが未確認。

【追記】実際の動画

3
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?