techveinのkawamotoです。スマートフォンアプリ開発をメインで担当しています。OSは主にAndroidの割合が多いです。あと、gopherを社内で布教しています。
概要
そんな私が、社内用オフィス開閉通知システムを作りました。
社内用オフィス開閉通知システムというと大げさに聞こえますが、簡単な電子工作です。
まず下図を見てください。
文字で書くと、
1 2 |
セキュリティ装置 → Raspberry Pi 3(Model B) → Golang → slack |
という構成になっています。
セキュリティ装置(上図の左側)は社内に設置されていて、オフィスの扉を開けると必ずセキュリティカードで解除してあげなければ大きな音がビル中に鳴り響くので、解除する必要があるものです。
セキュリティ開始したり解除したりすることで、ランプがON/OFFします。
このランプのON/OFFを監視して、ランプが切り替わったときにslackに通知するということをしています。
少し詳しく見ていきます
- Raspberry Pi 3(Model B)
-
Raspberry Pi 3(Model B)と光センサ(CdSセル)を使っています。
セキュリティ装置のランプのON/OFFを光センサが反応して、Raspberry PiがON/OFFを判断します。ちなみに、Raspberry Pi 3(Model B)からWifiがすでに組み込まれてるので、設定だけでWifiにつなぐことができるので超便利です。
- Gobot
-
GobotというIoTフレームワークを利用して、ランプを監視しています。ONかOFFのどちらかになったときに、slack APIを使ってslackに通知します。
- slack APIクライアント
-
slackに通知する部分は、slack APIクライアントをGoで作って使っています。
これらを組み合わせると、↓のようにSlackに通知がいきます。(アイコンは適当に8種類ぐらいからランダムに表示させてます。)
なぜ作ったか
私達の会社は、出社・退社時間が決まってなく自由です。10時に出社するのもいいし、15時に出社することもあります(15時の場合は、夜が遅くなるのですが・・・)。
また、お手伝い頂いてるフリーランスの方々とも一緒にオフィスで仕事することが増えてきました。
その方に来て頂くにあたって、オフィスを開けたときに、slackで「開けました!」と連絡していました。
それを自動化したい!と思ったのがきっかけです。
まとめ
ラズパイと光センサを使っただけで、簡単に実用的なものが作れました。
もし、IoTに興味あるけどなかなか踏み出せないという方がいましたら、光センサからやってみるといいかもしれません。光を検知してインターネットにつなぎたいというのは、意外とすぐ近くにありますよ。
あと、この機能だけのために、Raspberry Pi 3(Model B)はものすごく高機能なので、arduino + ES-WROOM-02とかもう少し安くしたいなぁと思うのと、見た目がガムテープをなんとかしたいですね・・・。次の課題ですね!