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

Preview:

Citation preview

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

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

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

ゲーム開発

モバイルアプリ開発

Webアプリ開発

VR/AR開発

Linuxサーバー構築運用

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

サーバー運用監視の話

運用監視あるある

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

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

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

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

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

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

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

○| ̄ |_

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

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

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

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

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

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

基本設計と先行試作機

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

先行試作一号機

ソフトウェア設計

GPIOの操作にはPIGPIODを使う

Apache上で動くWeb APIを用意

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

耐熱試験

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

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

耐熱試験のようす

耐熱試験結果

社内への試験的導入

社内への試験的導入

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

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

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

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

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

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

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

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

改善された最終試作機

導入事例

SlackのMentionを通知

HubotでSlackの発言を監視

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

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

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

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

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

新着メールをお知らせ

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

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

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

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

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

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

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

そして量産化へ

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

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

物理の壁は厚い

まとめ

実際に作ってみて…

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

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

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

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

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

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

Recommended