本記事は「SORACOM LTE-M Button powered by AWS Advent Calendar 2018」12月12日(水)の記事です。その他のアドベントカレンダーはこちら。
概要
私は割と会社でもミーティングやら外出やらで割と自席にいないことが多いので、「SORACOM LTE-M Button powered by AWS」を使っていつでも私を呼び出せるボタンを作ることにしました!
仕様
呼び出すといってもSlackに通知を飛ばすだけです。つまりサンプルコードをちょっと変えるだけで実装できてしまいます。なんて手抜き安上がりなんでしょう!
SORACOM LTE-M Buttonにはアクションが3種類あるので、それぞれにメッセージを割り当てることにします(ロングクリックされたら切ない)。
- シングルクリック … 「席に戻ってきてください」(メンションなし)
- ダブルクリック … 「至急席に戻ってきてください!」(メンションあり)
- ロングクリック … 「もう戻ってこなくていいです」
実装
準備
まずSORACOM LTE-M Buttonを入手していない方はこちらから入手しておきましょう。
そして「SORACOM LTE-M Button powered by AWS をクリックしてSlackに通知する」の手順のステップ1〜5までを行うと、Slack通知までが簡単に実装できます。
ステップ 1: AWS IoT 1-Click に登録する
ステップ 2: AWS IoT 1-Click のプロジェクトを作成する
ステップ 3: SORACOM ガジェット管理に登録する
ステップ 4: SORACOM ガジェット管理からデバイスの情報を確認する
ステップ 5: Lambda関数を作成してSlackに通知する
次からがいよいよ本題です。
Slack通知メッセージを変更する
本題と言ってもLambda関数のサンプルが非常によくできているので、ほとんどやることはありません。IoT 1-Click のコンソールからプレイスメントを指定するだけである程度のことが可能です。
上記のとおり設定するだけで、各ボタンのアクションに対するメッセージを変更することができます。複数ボタンがあれば、それぞれメッセージを変更することも可能ですね。
1点だけ公式ドキュメントに間違いがあるので注意が必要です。プレイスメントの指定でSlackのChannelを指定する際には “channel”ではなく”slackChannel”と設定する必要があります。
メンションを飛ばすには
投稿にメンションを飛ばすには “@channel” と書かずに “<!channel>” と書く必要があるのでご注意ください。
パネルをカスタマイズする
せっかくなのでパネルもカスタマイズしてみました。我ながらダサいです。
感想とか
SORACOM LTE-M Buttonを初めて触った感想ですが、とりあえずSlackに投稿するまでであれば本当に簡単にものの数分でできてしまうのが素晴らしいです。
パネルテンプレートダウンロード
パネルをカスタマイズしたくてテンプレートを探したんですが見つからなかったので作ってみました。こちらにおいておくのでご活用ください。
それでは皆さん良いお年を!