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
車載GoogleHomeで写真撮影
Search
Kiyotaka Doumae
September 07, 2018
Technology
1
200
車載GoogleHomeで写真撮影
スマートスピーカーを遊びたおす会 vol.3 - connpass
https://kotodama.connpass.com/event/97273/
Kiyotaka Doumae
September 07, 2018
Tweet
Share
More Decks by Kiyotaka Doumae
See All by Kiyotaka Doumae
うちの会社の評判は?SNSの投稿分析にAIを使ってみた
doumae
0
270
テックブログなんてやるつもりはなかった - テックブログカンファレンス (2020.02.25)
doumae
0
2.9k
スマートスピーカーで身の回りのメトリクスを管理しよう!
doumae
2
1k
車載スマートスピーカーで自動車コミュニケーション
doumae
1
1.4k
Other Decks in Technology
See All in Technology
コードの考古学 〜労務システムから発掘した成長の糧〜
kenta_smarthr
1
1.2k
Data Hubグループ 紹介資料
sansan33
PRO
0
1.7k
OSMnx Galleryの紹介
mopinfish
0
150
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
8
65k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
継続戦闘能⼒
sansantech
PRO
0
220
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
25k
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
810
CSSDay, Amsterdam
brucel
0
130
mnt_data_とは?ChatGPTコード実行環境を深堀りしてみた
icck
0
210
ローカル環境でAIを動かそう!
falken
PRO
1
170
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
1.2k
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
750
It's Worth the Effort
3n
184
28k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Building an army of robots
kneath
306
45k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
42
2.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Being A Developer After 40
akosma
91
590k
The Cost Of JavaScript in 2023
addyosmani
49
8.1k
Practical Orchestrator
shlominoach
188
11k
Music & Morning Musume
bryan
47
6.6k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Transcript
車載Google Homeで 写真撮影 堂前清隆
[email protected]
https://twitter.com/IIJ_doumae https://www.facebook.com/kdoumae 1
Idea • 運転中に「写真に撮っておきたい(あとでtweet したい)」という場面にしばしば遭遇する • 運転中なのでカメラやスマホが操作できない • ドライブレコーダーも搭載しているが、面倒 • いちいちファイルを回収するのが面倒
• 長い動画から必要な場所を切り出すのが面倒 • 音声操作で写真が撮れればいいじゃん! 2
Concept Google Assistant Mobile Wi-Fi (1) (2) (3) (4) Webhook
(HTTPS) (5) MQTT (6) shoot (7) HTTPS (8) OK, Google. Take a Picture. Mobile Service 3
[PR] IIJmio IoT Service • IIJmio IoTサービス (MVNO SIMカード) •
IoT利用を想定・個人向け (クレカ支払い) https://www.iijmio.jp/mit/ 4
Experiment 5
Movie 6
Results • ひとまず動いた • スマホに写真が送り込まれるのは便利 • 動作が遅い (タイムラグがある) • 指示→撮影
(5sec) • Google AssistantとIFTTTの反応が遅い • 音声の応答があってからWebhookが飛ぶ • 撮影→slack (15sec) • 解像度を高くしたことと、カメラの都合 (後述) 7
Camera • カメラの特性 • 今回使用したカメラはLogicool HD Webcam C615 • FullHD・オートフォーカスなど、比較的高級
• 起動直後にゲイン調整が行われる。調整前のタイミング で撮影すると、露出があっておらず真っ白/真っ黒になる。 • fswebcamだとこの現象が発生する (コマンド実行してから カメラが起動される?) • 数フレームディレイさせると回避。ディレイを増やせば より画質が良くなるようだが、撮影に時間がかかるよう になる。 • 安物のカメラだとこういう調整が行われないので、 影響が出にくい (そもそも画質が悪いが) 8
Device • Google Homeじゃなくてもいい? • Google Home Mini • 電源・モバイルWi-Fiルータが必要
• 音声認識は比較的良好 (それでも取りこぼしはある) • HUAWEI P10 lite (Google Assistant) • 単体で通信可能・電源不要 • ラジオがかかっていると音声認識の失敗が多い • 他のデバイス • LINE Clova Friends • ペットボトルサイズでドリンクホルダーに収まる • バッテリー搭載なので電源配線なくてもOK • かわいい 9
Traffic • Google Homeの通信量 • 今回の実験での通信量 20MByte程度 • 音声コマンド20回、画像15枚程度 •
画像が大きい(1MB強/枚) • モバイル(SIM)で利用することを考慮すると、 どの程度通信が発生しているか気になる →そこで… • 自宅のGoogle Home miniで通信量を測定してみた • 車の中とは雑音の状況が異なるので、あくまで参考値 10
Environment • 自宅・リビングに設置 • Wi-Fi AP・ルータ・Flets回線でインターネット に接続 • 用途は家電(TV・エアコン)のコントロール程度 Wi-Fi
AP Internet SEIL/X1 tcpdump IIJmio with Flets 11
Overview Day1 Day2 Day3 Day4 Day5 Day6 Day7 5.26MB 6.04MB
6.95MB 4.64MB 4.69MB 9.09MB 9.20MB Day8 Day9 Day10 Day11 Day12 Day13 Day14 11.01MB 8.89MB 7.30MB 7.68MB 9.92MB 12.87MB 10.34MB • 5分間ごとに通信量を集計 ∵1回のアクションが5分を超えることはない • 14日分のデータを重ね合わせ • 200KB, 400KB, 600KB…と、ピークに特徴がある (ような気がする。あくまで大雑把な感触) →1回のアクションで200KB程度通信してる? 12
Detail • アクションがあった時間帯からサンプリング • 5分間に発生した通信 (約200KB) • 別の時間帯で8.8.8.8にDNS queryを投げている のも観測
(DHCPで通知されたDNSは無視する?) プロトコル 通信量 (Bytes) 通信相手 ICMP 1232 FCM (5228/tcp) 562 2404:6800:4008:c00::bc (tm-in-xbc.1e100.net.) FCM (5228/tcp) 2106 2404:6800:4008:c02::bc (tg-in-xbc.1e100.net.) HTTPS (443/tcp) 6458 2404:6800:4004:80a::200e (nrt12s23-in-x0e.1e100.net.) HTTPS (443/tcp) 178905 2404:6800:4004:80b::2004 (nrt20s09-in-x04.1e100.net.) HTTPS (443/tcp) 9280 2404:6800:4004:80d::200a (nrt12s17-in-x0a.1e100.net.) HTTPS (443/tcp) 2895 2404:6800:4004:80f::2003 (nrt13s49-in-x03.1e100.net.) HTTPS (443/tcp) 18577 2404:6800:4004:818::200e (nrt13s50-in-x0e.1e100.net.) FCM: Firebase Cloud Messaging 13
Attention • < 50KB/5minのグラフを拡大 • アクションを起こしていないときにも通信が 発生していることがわかる • 5KB/5minと20KB/5minにラインが見える 14
Transition • ヒートマップ風に表示してみた • 青: 15KB/5min 以下 • 橙: 15KB/5min
以上 (40KB/5min以下) • Day6の2:30頃を境にアクションが ない時の通信の傾向が変わっていた! • 何か挙動の変化があったと思われる 15 Date→ Time→
Before • ~Day6 2:30(変化前)の中からサンプリング • 無アクションの時間帯、5分間に発生した通信 プロトコル 通信量 (Bytes) 通信相手
ICMP 1288 NTP (123/UDP) 112 2001:4860:4806:c:: (time4.google.com.) FCM (5228/tcp) 594 2404:6800:4008:c00::bc (tm-in-xbc.1e100.net.) FCM (5228/tcp) 676 2404:6800:4008:c02::bc (tg-in-xbc.1e100.net.) HTTPS (443/tcp) 2863 2404:6800:4004:818::2003 (nrt13s50-in-x03.1e100.net.) 16
After • Day6 2:30~(変化後)の中からサンプリング • 無アクションの時間帯、5分間に発生した通信 プロトコル 通信量 (Bytes) 通信相手
ICMP 1400 NTP (123/UDP) 112 2001:4860:4806:c:: (time4.google.com.) FCM (5228/tcp) 384 2404:6800:4008:c00::bc (tm-in-xbc.1e100.net.) FCM (5228/tcp) 700 2404:6800:4008:c06::bc (tk-in-xbc.1e100.net.) HTTPS (443/tcp) 3407 2404:6800:4004:809::2003 (nrt20s02-in-x03.1e100.net.) HTTPS (443/tcp) 3407 2404:6800:4004:80c::2003 (nrt12s22-in-x03.1e100.net.) HTTPS (443/tcp) 3407 2404:6800:4004:80d::2003 (nrt12s17-in-x03.1e100.net.) HTTPS (443/tcp) 3407 2404:6800:4004:819::2003 (nrt13s51-in-x03.1e100.net.) HTTPS (443/tcp) 3407 2404:6800:4004:81a::2003 (nrt12s13-in-x03.1e100.net.) 17
Conclusion • 車にGoogle Homeを積んでみた • 音声操作での写真撮影を試した • タイムラグは少々悩ましい • Google
Homeの通信量を確認した • 1回のアクションで200KB程度通信しているのでは • アクション無しでも20KB/5min程度通信が発生する • 突然挙動が変化することもあるようだ • ストリーミング(ラジオなど)を利用する場合は当然 その分の通信が発生する 18