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
560
あらゆるイベントを可視化する! RaspberryPiで作るLED警告灯ソリューション
インフィニットループで開発した、Raspberry Pi上で動作するLED警告灯システムについてご紹介します。
(Kita-Tech 2016発表資料)
Infiniteloop
August 17, 2023
Tweet
Share
More Decks by Infiniteloop
See All by Infiniteloop
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2025年版)
infiniteloop_inc
16
61k
俺の PHP プロファイラの話 PHP スクリプトで PHP 処理系のメモリをのぞき込む
infiniteloop_inc
1
570
心理的安全性を学び直し、 「いい組織とは何か?」を考えてみる
infiniteloop_inc
1
810
ゼロからつくる 2D物理シミュレーション ~物理現象をコードに落とし込む方法~
infiniteloop_inc
1
1.2k
詫び石の裏側
infiniteloop_inc
0
790
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
7
34k
リファクタリングで実装が○○分短縮した話
infiniteloop_inc
0
240
ADRという考えを取り入れてみて
infiniteloop_inc
0
250
500万行のPHPプロジェクトにおけるログ出力の歩み
infiniteloop_inc
0
180
Other Decks in Technology
See All in Technology
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
230
20251102 WordCamp Kansai 2025
chiilog
0
200
re:Inventに行くまでにやっておきたいこと
nagisa53
0
810
datadog-incident-management-intro
tetsuya28
0
110
Kotlinで型安全にバイテンポラルデータを扱いたい! ReladomoラッパーをAIと実装してみた話
itohiro73
3
120
AIを使ってテストを楽にする
kworkdev
PRO
0
350
組織全員で向き合うAI Readyなデータ利活用
gappy50
5
1.9k
20251027_findyさん_音声エージェントLT
almondo_event
2
510
オブザーバビリティが育むシステム理解と好奇心
maruloop
3
1.7k
AIがコードを書いてくれるなら、新米エンジニアは何をする? / komekaigi2025
nkzn
22
15k
進化する大規模言語モデル評価: Swallowプロジェクトにおける実践と知見
chokkan
PRO
2
370
OpenCensusと歩んだ7年間
bgpat
0
270
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Music & Morning Musume
bryan
46
6.9k
Code Reviewing Like a Champion
maltzj
526
40k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Writing Fast Ruby
sferik
630
62k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Unsuck your backbone
ammeep
671
58k
Documentation Writing (for coders)
carmenintech
75
5.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
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/