車載GoogleHomeで写真撮影

 車載GoogleHomeで写真撮影

スマートスピーカーを遊びたおす会 vol.3 - connpass
https://kotodama.connpass.com/event/97273/

9f1a0c7527c9f3052b06ce9340d53e0a?s=128

Kiyotaka Doumae

September 07, 2018
Tweet

Transcript

  1. 車載Google Homeで 写真撮影 堂前清隆 doumae@iij.ad.jp https://twitter.com/IIJ_doumae https://www.facebook.com/kdoumae 1

  2. Idea • 運転中に「写真に撮っておきたい(あとでtweet したい)」という場面にしばしば遭遇する • 運転中なのでカメラやスマホが操作できない • ドライブレコーダーも搭載しているが、面倒 • いちいちファイルを回収するのが面倒

    • 長い動画から必要な場所を切り出すのが面倒 • 音声操作で写真が撮れればいいじゃん! 2
  3. 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
  4. [PR] IIJmio IoT Service • IIJmio IoTサービス (MVNO SIMカード) •

    IoT利用を想定・個人向け (クレカ支払い) https://www.iijmio.jp/mit/ 4
  5. Experiment 5

  6. Movie 6

  7. Results • ひとまず動いた • スマホに写真が送り込まれるのは便利 • 動作が遅い (タイムラグがある) • 指示→撮影

    (5sec) • Google AssistantとIFTTTの反応が遅い • 音声の応答があってからWebhookが飛ぶ • 撮影→slack (15sec) • 解像度を高くしたことと、カメラの都合 (後述) 7
  8. Camera • カメラの特性 • 今回使用したカメラはLogicool HD Webcam C615 • FullHD・オートフォーカスなど、比較的高級

    • 起動直後にゲイン調整が行われる。調整前のタイミング で撮影すると、露出があっておらず真っ白/真っ黒になる。 • fswebcamだとこの現象が発生する (コマンド実行してから カメラが起動される?) • 数フレームディレイさせると回避。ディレイを増やせば より画質が良くなるようだが、撮影に時間がかかるよう になる。 • 安物のカメラだとこういう調整が行われないので、 影響が出にくい (そもそも画質が悪いが) 8
  9. Device • Google Homeじゃなくてもいい? • Google Home Mini • 電源・モバイルWi-Fiルータが必要

    • 音声認識は比較的良好 (それでも取りこぼしはある) • HUAWEI P10 lite (Google Assistant) • 単体で通信可能・電源不要 • ラジオがかかっていると音声認識の失敗が多い • 他のデバイス • LINE Clova Friends • ペットボトルサイズでドリンクホルダーに収まる • バッテリー搭載なので電源配線なくてもOK • かわいい 9
  10. Traffic • Google Homeの通信量 • 今回の実験での通信量 20MByte程度 • 音声コマンド20回、画像15枚程度 •

    画像が大きい(1MB強/枚) • モバイル(SIM)で利用することを考慮すると、 どの程度通信が発生しているか気になる →そこで… • 自宅のGoogle Home miniで通信量を測定してみた • 車の中とは雑音の状況が異なるので、あくまで参考値 10
  11. Environment • 自宅・リビングに設置 • Wi-Fi AP・ルータ・Flets回線でインターネット に接続 • 用途は家電(TV・エアコン)のコントロール程度 Wi-Fi

    AP Internet SEIL/X1 tcpdump IIJmio with Flets 11
  12. 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
  13. 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
  14. Attention • < 50KB/5minのグラフを拡大 • アクションを起こしていないときにも通信が 発生していることがわかる • 5KB/5minと20KB/5minにラインが見える 14

  15. Transition • ヒートマップ風に表示してみた • 青: 15KB/5min 以下 • 橙: 15KB/5min

    以上 (40KB/5min以下) • Day6の2:30頃を境にアクションが ない時の通信の傾向が変わっていた! • 何か挙動の変化があったと思われる 15 Date→ Time→
  16. 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
  17. 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
  18. Conclusion • 車にGoogle Homeを積んでみた • 音声操作での写真撮影を試した • タイムラグは少々悩ましい • Google

    Homeの通信量を確認した • 1回のアクションで200KB程度通信しているのでは • アクション無しでも20KB/5min程度通信が発生する • 突然挙動が変化することもあるようだ • ストリーミング(ラジオなど)を利用する場合は当然 その分の通信が発生する 18