LoginSignup
19
19

More than 5 years have passed since last update.

続・SkyWay IoT SDKでのカスタム遠隔監視カメラ

Last updated at Posted at 2018-04-13

これは何?

以前書いた https://qiita.com/komasshu/items/5042c1e18eb4589b977a の続編。SkyWay IoT SDK がv0.1.0にあがって、使い方が若干変わったのでそれのイントロ

構成

全体構成はこんな感じ。グローバルなリレーサーバー使わなくても、宅内のカメラや MQTT 話すIoTデバイスをリモートからあれこれできるようになる。

image.png

宅内の Linux Box(ラズパイとか)の中で以下が稼働。

  • gstreamer
    • 外部カメラ映像からRTPストリームを生成
  • Janus-gateway
    • WebRTC ゲートウェイ。RTP映像ストリームや各種データをWebRTCに変換してくれる便利な子
  • SSG
    • SkyWay Signaling Gateway。Janus-gatewayだけだと、NATとか越えてくれないので、SSGでSkyWayとのシグナリング変換処理をしてグローバルアクセス可能にする。今回からMQTT Relay over WebRTC の機能もつけたので、宅内MQTT機器の制御が、リレーサーバー(グローバルなMQTTブローカー)なしで簡単に実現できるようになった。

SkyWay APIKEYの取得

ここについては、前回記事を参照ください。

SDKインストール

以下のインストーラーを動かすだけ

  • Raspbian stretchの場合
$ curl https://nttcom.github.io/skyway-iot-sdk/install_scripts/raspbian_stretch/installer.sh | sudo -E bash -
$ ssg setup # プロンプト表示されたら、上記で取得したAPIKEYを入力する
  • Ubuntu 16.04の場合
$ curl https://nttcom.github.io/skyway-iot-sdk/install_scripts/debian_based/installer.sh | sudo -E bash -
$ ssg setup # プロンプト表示されたら、上記で取得したAPIKEYを入力する

プロセス起動

Janus gateway と SSG を動かす

  • Janus gateway
$ /opt/janus/bin/janus
  • SSG
$ ssg start

gstreamerを起動する

USBカメラの映像から RTP/H.264ストリームを生成

$ gst-launch-1.0 v4l2src device=/dev/video0 ! \
  video/x-raw,width=640,height=480,framerate=30/1 ! \
  videoscale ! videorate ! videoconvert ! timeoverlay ! \
  omxh264enc target-bitrate=2000000 control-rate=variable ! \
  h264parse ! rtph264pay config-interval=1 pt=96 ! \
    udpsink host=127.0.0.1 port=5004

サンプルWebアプリで見る

https://nttcom.github.io/skyway-siru-client/examples/ で、apikeyに取得したAPIKEYを入力後、start をクリックする

image.png

MQTT Relayは?

これについては、次回記事として書きますー

19
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
19