あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

30
あらゆるイベントを可視化する ! RaspberryPi で作る LED 警告灯ソリューション 株式会社インフィニットループ システム開発部 水野源

Transcript of あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

Page 1: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

あらゆるイベントを可視化する !RaspberryPi で作る LED 警告灯ソリューション

株式会社インフィニットループシステム開発部 水野源

Page 2: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

株式会社インフィニットループとは

ゲーム開発

モバイルアプリ開発

Webアプリ開発

VR/AR開発

Linuxサーバー構築運用

などを手がけているPHPとMySQLを得意とする会社です!

Page 3: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

サーバー運用監視の話

Page 4: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

運用監視あるある

システムが障害を検出しても人間が気づかない✔ メールが来たことに気づかない✔ チャットのメンションにも気づかない

結局ボトルネックは人間である✔ 物理の壁を越えて、いかにして通知するか?✔ システムと人の間のラスト1マイルをどう埋めるか?

Page 5: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

ILのアラート通知システム

通称「ゆっくり」✔ アラートをパトライトと音声でお知らせ✔ 何かあった時に「誰かが」気づけるのが大事

パトライトはパトライト社の登録商標です。

Page 6: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

これ便利だし、もっと導入したいよね!

Page 7: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

全員が机上に置いて、色々通知させたい!

Page 8: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

○| ̄ |_

Page 9: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

よろしい、ならば自作だ!

基本はLチカなので簡単工作

Raspberry Piはみんな自宅に余らせている

フルスタックのLinuxが使えるので開発コストが低い

Web UIやAPIも自分で自由に実装できる

製品のパトライトよりも、さらに自由で柔軟で高機能なシステムをLinux上で実装できるんじゃないか?

Page 10: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

基本設計と先行試作機

Page 11: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

先行試作機の部品と回路図

Page 12: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

先行試作一号機

Page 13: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

ソフトウェア設計

GPIOの操作にはPIGPIODを使う

Apache上で動くWeb APIを用意

PIGPIODに命令を投げるコントローラーを自作

Page 14: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

耐熱試験

ハイパワーなフルカラーLEDを連続点灯させることによる加熱が心配

マイコンと温度センサーを使って、連続点灯時の温度変化をモニター

Page 15: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

耐熱試験のようす

Page 16: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

耐熱試験結果

Page 17: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

社内への試験的導入

Page 18: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

社内への試験的導入

とりあえずcurlでチカチカさせて遊んでみる

サーバーアラートが発生したら光らせてみる

既存のパトライトを置き換えてみる

Page 19: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

社内からのフィードバック

外付けタワー型は使い勝手がよくない✔ HAT型へ設計を変更しよう✔ 専用基盤を設計して量産しよう

市販ケースの使い勝手、入手性、価格の問題✔ レーザーカッターで専用ケースを自作しよう✔ ついでにパーツを吟味して小型化しよう

複数のアラートを同時に投入すると誤作動する✔ ジョブをハンドリングするデーモン✔ デーモンへジョブを投げるコントローラー✔ Web API/UI

の三層構造にソフトウェアを再設計しよう

Page 20: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

改善された最終試作機

Page 21: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

導入事例

Page 22: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

SlackのMentionを通知

HubotでSlackの発言を監視

自分の名前が呼ばれたらLEDを光ってお知らせ

Page 23: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

ネットワークトラフィックを可視化

ネットワークのトラフィックを常時監視したい

Zabbixでルーターのトラフィックを監視

流量によって色と点滅速度を変化

Page 24: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

新着メールをお知らせ

getmailコマンドがメールボックスをチェック

新着メールがあったら光ってお知らせ

ログ機能を使ってサブジェクトも通知

Page 25: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

引きこもりながら外の天気を知る

北海道では天候や気温は命にかかわる重要情報

定期的に天気情報サービスのAPIをコール

結果のJSONをパースして、天気を色でお知らせ

Page 26: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

そして量産化へ

Page 27: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

「作る」から「配る」へステージを進めるには

一般向けに頒布しよう!✔ ソフトウェアはどこに置く?✔ マニュアルを整えないと✔ パッケージはどうする?✔ ランディングページも作ろう

物理の壁は厚い

Page 28: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

まとめ

Page 29: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

実際に作ってみて…

安価に、思っていた以上によいものが作れた✔ Raspberry Piのおかげで我々のレイヤー(Webプログラム)に低コストで持ち込めた

✔ プログラマーフレンドリーな仕様が嬉しい

プログラム同士の連携は簡単にできるけど、モノと人のインターフェイスは難しい

✔ 光や音はとても有効なので、みんなもっと使うべき

市販品が高いのにはそれなりの理由がある✔ モノを作るって大変ですね……

Page 30: あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション

詳細はこちらから! http://crystal-signal.com/