M5StackでSlackカスタムステータス変更APIを叩いてステータスを変更してみる

はじめに

前回の記事の続きとなります。
https://www.skyarch.net/blog/?p=18253

このご時世でZoomを繋ぎっぱなしで作業しているのですが、離席中・別MTG参加中の状況を発信するため、M5Stackを活用してみる事にしました。

検索してみると、SlackのLegacyAPITokenを利用した例が多いのですが
2020年5月5日以降には新規作成出来なくなるようなので、めんどうですがSlack Appを作成して実施してみました。

Legacy Tokenについて
https://api.slack.com/legacy/custom-integrations/legacy-tokens

出来上がった物

予めButtonに割り当てた文言/emojiアイコンがSlack画面上に反映されます。
コード中の下記となります。
UpdateSlackStatus("Working", ":floppy_disk:");

目次

手順の概要

  1. SlackAppの作成
  2. Curlコマンドで動作確認
  3. ArduinoJsonのインストール(ArduinoIDE上)
  4. コード編集
  5. 実機確認

手順

SlackAppの作成

適当な名前でSlackAppを作成し、下記権限を与えます。

こちらのTokenを利用します。

Curlコマンドで動作確認

手始めにgetから

postしてみる

すんなり行きました、後はこれをM5Stackから叩けば良さそうです。

ArduinoJsonのインストール

ArduinoIDEを開き、下記メニューからArduinoJsonをインストール
スケッチ > ライブラリをインクルード > ライブラリの管理

コード編集

ボタン押下イベントを割り込みで取ろうと考えておりましたが、簡易版に…

参考URL

SlackでユーザーStatusを設定する
User presence and status
https://api.slack.com/docs/presence-and-status#user_presence

users.profile.get
https://api.slack.com/methods/users.profile.get#arg_token

M5Stick-CでJsonをPOSTする
https://qiita.com/poruruba/items/4bf6a52520e431a8f4a5

ArduinoJsonでNestedObjectを作成
https://arduinojson.org/v6/api/jsondocument/createnestedobject/

実機確認

ArduinoIDEにて、検証⇢マイコンボードへ書き込みを実行します。

まとめ

次回はMQTTでAWSIoTとお喋りしてみたいと考えております。

投稿者プロフィール

takashi
Japan AWS Ambassadors 2023-
開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て
2010年よりスカイアーチネットワークスに在籍しております

機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。

ABOUTこの記事をかいた人

Japan AWS Ambassadors 2023- 開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て 2010年よりスカイアーチネットワークスに在籍しております 機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。