IoT用途で簡単に使えるWebRTC Engine
をつくった話
中蔵 聡哉
NTTコミュニケーションズ
&慶應義塾大学大学院
2018/6/22
自己紹介
NTT Communications
WebRTC プラットフォーム
SkyWayチーム
リサーチャ
慶應義塾大学博士課程3年生
2
• Skypeみたいなものが簡単に作れる通信プロトコル
– 動画・音声(H.264, VP8, VP9, Opus, etc.)
– 任意のデータ
• NATやFirewallを飛び越えてP2Pで接続してくれる
• ブラウザにも入っているのでWebページから
利用できる
WebRTC
The
Internet
Copyright © NTT Communications Corporation. All rights reserved. 4
スマホとビデオ通話できる家庭用
コミュニケーションデバイス
petoco
NTTドコモ www.petoco.jp
ハンズフリーでアドバイスを受け
整備作業を効率化
遠隔作業支援
三菱ふそう
CLINICS
MEDLEY clinics.medley.life
オンライン診療が
受けられる
スマホアプリ
OLECO
スタディラボ oleco.jp
学習塾向けのオンライン英会話
8.ユースケース(参考)
仕事
テレビ会議だけじゃつまらないので、
WebRTCのユースケース拡大する係
• Native SDK開発
• ロボットの研究
5
Movie: https://bit.ly/2MznaKF
6
IoTデバイスをインターネット
越しに操作したいんだけど
NATやFirewallがジャマ!
サーバリレーは遅延がある…
WebRTCで
いけると思います
7
よさそう!
だけど、ブラウザが必要なの?
IoTデバイスでうごくの?
動かないなら別に要らないんだけど
うっ…
ブラウザ以外でWebRTCを使うには
8
• ブラウザに搭載されているWebRTC Engineは
あくまでブラウザ上のJavaScriptプログラム用
= ハードウェアが叩けない…
• 一応OpenWebRTCやJanusというOSSはある
– ビルドが面倒
– ARMで動かなかったり動かすのが辛かったり
– WebRTCの専門知識が要求される
– IoTデバイスで動かすにはスペック要求もキツイ
IoT用途で動かすにはハードルが高い
ブラウザ上のWebRTC Engineは外から触れない
9
ブラウザ剥いちゃいました
10
IoTデバイスを無改修で動かしたい
• 設置済みデバイスにいちいち通信エンジンを
インストールするのは大変
• 組み込み機器だとspec的にムリ
そういうのをクリアできるように作りました
11
例えば監視カメラから映像を飛ばすようなケース
12
今は同一LAN内で映像を飛ばしています
13
The
Internet
同じネットワークに魔法の箱を設置します
14
The
Internet
魔法の箱
そいつにデータを送ってやると
15
The
Internet
魔法の箱
WebRTCでインターネット上に中継します
16
The
Internet
魔法の箱
ネットの向こうの
再生装置へ
逆にWebRTCで飛んできたやつを
17
The
Internet
魔法の箱
ネットの向こうの
カメラから
流し込んであげたら再生できますよね
18
The
Internet
魔法の箱
こっち側の
再生装置へ
ネットの向こうの
カメラから
この魔法の箱が
SkyWay WebRTC Gateway
というやつ
19
モジュール図
20
監視カメラのインターネット対応
21
UseCase(クラウド上のAIへのデータ送信)
22
Unityと通信してオンラインゲーム
23
UseCase(レガシーデバイスの活用)
24
ブラウザからのIoTデバイスのコントロール
25
デモ
26
IoTデバイスとユーザの間のInternetという壁
27
ラズパイ
Lチカ
アプリ
The
Internet
SkyWay WebRTC Gatewayを入れると
28
ラズパイ
SkyWay
WebRTC
GW
Lチカ
アプリ
The
Internet
The
Internet
WebRTCで乗り越えて
29
ラズパイ
SkyWay
WebRTC
GW
Lチカ
アプリ
WebRTC
The
Internet
光る!
30
ラズパイ
SkyWay
WebRTC
GW
Lチカ
アプリ
WebRTC
やったね!
UIもJS/CSSで
書ける
あなたの自慢のIoTデバイス、
インターネット対応させませんか
https://goo.gl/6E35ey
(ARM版もcoming soon)
Unityで動かしたサンプル
https://goo.gl/cVgqDJ
31

IoT用途で簡単に使えるWebRTC Engineを作った話