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
ラズパイとスラックで作るミーティングスペースモニタリングツール
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ieiriyuki
July 20, 2019
How-to & DIY
2
720
ラズパイとスラックで作るミーティングスペースモニタリングツール
ラズパイとスラックで社内のミーティングスペースをモニタリングする装置を作りました。
@TFUG沖縄 vol. 4
ieiriyuki
July 20, 2019
Tweet
Share
More Decks by ieiriyuki
See All by ieiriyuki
データドリブンな幸せになる方法
ieiriyuki
0
81
dynamic_pricing_fundamentals
ieiriyuki
1
1.4k
Rust超初心者が頑張って勉強するの巻き
ieiriyuki
0
400
スキルアップ・キャッチアップこうやってます
ieiriyuki
1
640
Other Decks in How-to & DIY
See All in How-to & DIY
キャリア科目では教えてくれない、就活を生き抜く法則
logica0419
2
260
AWS re:Invent 2024 re:Cap – AWS Community Perspective / JAWS-UG新潟
awsjcpm
0
210
2026年、書籍をちゃんと読むぞ👊 〜約3万円分の書籍を積読にしないためにやること〜
subroh0508
4
780
いしかわ暮らしセミナー~知って安心!移住とお金講座~
matyuda
0
150
ATOMS3R-CAMとClaude SKILLSでタイムラプスチャレンジ #iotlt
n0bisuke2
0
250
JAWS-UGのご紹介 JAWS-UGとは?
awsjcpm
0
5.6k
移動は善 / 20260124-NGK2026S
girigiribauer
1
110
ライブ感を生む 巻き込み型スライドの作り方/Create your slide like a heavy metal concert
ikuodanaka
5
1.3k
251011「ひとりより、みんなで!」 九州の支部で始めた、新しい連携のかたち
east_takumi
2
140
評価のギャップから紐解く、「評価軸」と「ソフトスキル」の重要性
blajir
2
140
AWSコミュニティプログラムのご紹介 -グローバル展開するコミュニティプログラム-
awsjcpm
0
290
M5StickS3触ってXiaoZhiAI触ってみた #にぼし香 #iotlt
n0bisuke2
0
210
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.4k
From π to Pie charts
rasagy
0
150
Navigating Team Friction
lara
192
16k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
200
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
230
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
250
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
300
So, you think you're a good person
axbom
PRO
2
1.9k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
280
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
230
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Transcript
RaspiとSlackでミーティング スペースのモニタリング 2019-7-20 家入雄樹
自己紹介 名前: 家入雄樹 所属: ブレインパッド 職種: データサイエンティスト 専門: データいじり そのほか:
TFUG 福岡にも登壇しました http://blog.brainpad.co.jp/entry/2018/11/28/112907 http://blog.brainpad.co.jp/entry/2019/07/09/110739 GCPとAWSの資格とったりしました
合宿をしました 6月に社内の有志で合宿を行いました。 目的: • 部署・役職を超えた交流 ◦ 入社1ヶ月 ~ 10年目 •
目標観の共有 ◦ 今後こうしたい • これやりたい!をやる ◦ 社内便利ツール 3チームに分かれて取り組み
もくもく組Aが取り組んだもの ラズパイとスラックでミーティングスペース確認するクン 設計1人、開発3人
ラズパイでミーティングスペースの確認 社内のミーティングスペース(通称ファミレス席、会議室とは別) 行ってみるまで空いてるか分からない お手軽に調べる装置が欲しい と言い続けて幾星霜 作ったらええねん! 空いてるかな...? 空いてた!
アーキテクチャ Raspberry Pi 3 B+ - Linux -ランニングコストも電気代のみ - wifiでネット接続
①Chatの特定のチャンネル にコマンド投稿 ②空間の撮影 ファミレス席全体をカメラで撮影する APIでラズパイへ命令 自席にいながら席の混雑状態がわかる WEBカメラor RasPi専用カメラ ③画像の確認 撮影した画像をチャットに返す 撮影指示 API経由で画像表示
チャットから指示を送る GitHub 製の hubot を使います。 ラズパイ上でサーバーが動きます。 ボットに対してメンションをすると写真を撮ってくれます。 エンジニアの方が担当してくれました。 (coffee script
何も分からない。Node.js 何も分からない...) https://hubot.github.com/
コード: coffee script capture というコマンドを受け取ります execute.sh を実行します ‘Capturing done.’ と返信
(エラーなどがあれば表示 )
画像を撮る fswebcamを使えば簡単に撮れます。 ただし、撮影環境ごとにカメラの調整が必要です。 (やっぱりここが難しい) 参考: https://qiita.com/stkdev/items/992921572eefc7de4ad8 https://www.raspberrypi.org/documentation/usage/webcams/
コード: capture 日時でファイル名を指定 subprocess でカメラ撮影 画像へのパスを返します
Vision API で物体検知 物体検知は object_localization を使います。 name == ‘Person’ のみ数える。
返り値が 0 ~ 1 スケールなのに注意。 画像の編集はPILLOWを使います。 公式ドキュメントは分かりやすいです。 https://cloud.google.com/vision/docs/object-localizer?hl=ja
コード: Vision API 顔検出のチュートリアルを参考 検出した顔情報を受け取ります 顔情報に基づいて、 PILLOWで加工 https://cloud.google.com/vision/docs/face-tutorial?hl=ja
コード: Vision API 公式ドキュメントのレスポンス例は、実 際と異なっているが、このような形に なっている コードの方は正しい https://cloud.google.com/vision/docs/object-localizer?hl=ja
コード: Vision API object_localization() を使います 返ってきた JSON の localized_object_annotations が検出された物体
そのうち、name == ‘Person’ であるものを抽出 物体情報のリストを返します
PILLOW で描画 画像の編集は PILLOW を使います。 公式ドキュメントを参考にしました。 https://cloud.google.com/vision/docs/face-tutorial?hl=ja 発表者編集
コード: PILLOW object_localization() を使います 返ってきた JSON の localized_object_annotations が検出された物体 そのうち、name
== ‘Person’ であるものを抽出 (OpenCV なんていらないんだ ...!)
スラックに送る files.upload API を使います。 python の slack-client ライブラリなどもあるそうです。 現状 ID
などがベタ書きなのは要修正。 https://api.slack.com/methods/files.upload
PILLOW で編集された画像を送ります チャンネルやアクセストークンなども指定します コード: スラックへの送信
デモ
終わりです ご静聴ありがとうございました !