目次
概要
Slack通知があったときにLEDが点灯し、視覚的に分かるようにしました。
また、通知があったらメッセージから消灯もできるようにしました。
人の判断が介在するような簡易human in the loop的なシステムが作れます。
目的
とあるイベントが発火したときに、Slackに通知するボットがあり、その通知を絶対に見逃したくないというシチュエーションがあったとします。
スマホ版のSlackでも実現は可能そうですが、外出先でも通知が来てしまい、公私混同になりますし、スマホを肌身離さず持っていないといけません。
PC版のSlackでは音と通知のポップアップが出てきますが、画面がスリープになってしまったり、離席してしまったら通知音を聞き逃してしまうリスクもあります。
なので、通知が来たらLEDライトを光らせることで通知を見逃さないというシステムを実現しました。
必要なもの
- LEDライト
LEDライトを用意します。電子工作が得意な方でコストを抑えたい場合は、LEDライトと基板を購入して、制御しても良いですが、横着して私は市販のLEDライトの購入をしました。
ただし、SDKが公開されていたり、Python等のライブラリが公開されているか事前に確認が必要です。
- サーバー
Slackの通知を受け取るためのサーバーを用意します。
サーバーがSlackの通知をSubscribe(購読)して、イベント(メッセージの主体(ボットor人間)、メッセージ内容)に応じてLEDを点灯したり、消灯したりできます。
利用技術
WebSocketを使います。
Slackは、WebSocketのためのフレームワークであるBoltを提供しているので、それを用います。
なお、Real Time Messaging APIはLegacyになってしまっています。
構成図
参考文献
- WebSocket
- Bolt 入門ガイド
- DIY $10 Slack Notification Light 回路から自作したい方向け。
さいごに
以上です。もし、詳細が知りたい方、作りたいシステムがある方はLinkedin等経由でご連絡ください。