Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション
Search
Infiniteloop
August 17, 2023
Technology
0
300
あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション
インフィニットループで開発した、Raspberry Pi上で動作するLED警告灯システムについてご紹介します。
(Kita-Tech 2016発表資料)
Infiniteloop
August 17, 2023
Tweet
Share
More Decks by Infiniteloop
See All by Infiniteloop
俺の PHP プロファイラの話 PHP スクリプトで PHP 処理系のメモリをのぞき込む
infiniteloop_inc
0
270
心理的安全性を学び直し、 「いい組織とは何か?」を考えてみる
infiniteloop_inc
0
340
ゼロからつくる 2D物理シミュレーション ~物理現象をコードに落とし込む方法~
infiniteloop_inc
0
410
詫び石の裏側
infiniteloop_inc
0
370
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
6
25k
リファクタリングで実装が○○分短縮した話
infiniteloop_inc
0
140
ADRという考えを取り入れてみて
infiniteloop_inc
0
130
500万行のPHPプロジェクトにおけるログ出力の歩み
infiniteloop_inc
0
110
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
infiniteloop_inc
0
83
Other Decks in Technology
See All in Technology
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
AIチャットボット開発への生成AI活用
ryomrt
0
170
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
120
Lexical Analysis
shigashiyama
1
150
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
SSMRunbook作成の勘所_20241120
koichiotomo
2
130
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
GraphQLとの向き合い方2022年版
quramy
43
13k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
BBQ
matthewcrist
85
9.3k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Unsuck your backbone
ammeep
668
57k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Transcript
あらゆるイベントを可視化する ! 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/