LoginSignup
3
1

More than 3 years have passed since last update.

SkyWay IoT SDK+ラズパイで遠隔監視カメラが作れなかった話

Last updated at Posted at 2019-11-24

SkyWayを使いラズパイに付けたカメラを遠隔監視カメラにしたかったけどできなかった話です。ちゃんと設定できれば動くと思いますが私にはできませんでした。いつか動かせると信じてここに失敗手順を残します。

構成

カメラモジュール Raspberry Pi Camera Module V2 カメラモジュール
ラズパイ Raspberry Pi Type B
  • OSバージョン
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

参考


やったこと

ではここからやったこと(動かない手順)をつらつらとかいていきます。

SkyWayアプリケーション登録した

SkyWayのサイトでアカウント登録し、新しくアプリケーションを追加するボタンをクリックします。

アプリケーションの説明欄には、管理しやすい文字列を登録し、利用可能ドメイン名には、アクセスを許可するドメインを登録します。後で、テストサイトで動作確認をするので、nttcom.github.ioskyway.github.ioは登録しておくとよいと思います。

  • APIキーは後で使うのでメモしておきます。
ラズパイにOSインストールと基本的なセットアップをした。
  • 以下コマンドの実行以外にロケールの設定やカメラモジュールの有効化などいろいろやりました。
# パッケージ更新
$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get dist-upgrade
# ファームウェアを更新
$ sudo rpi-update

カメラモジュールが認識していることを確認します。

$ vcgencmd get_camera
supported=1 detected=1

ラズパイにskyway-iot-sdkをインストールする

  • サイトに従いRaspbian stretchを実行する
curl https://nttcom.github.io/skyway-iot-sdk/install_scripts/raspbian_stretch/installer.sh | sudo -E bash -

インストール終了時の画面はこんな感じです。

  • ssg setup を実行し、APIキーを設定する
$ ssg setup
Input your SkyWay API Key : XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
setup finished

これで、セットアップは完了です。念のため、ラズパイOSをリブートしました。

遠隔監視を開始してみる

ラズパイで3つのコマンドを実行するためssh接続のターミナルを3つ用意して、それぞれ以下のコマンドを実行します。

# 【ターミナル①】 Janus gatewayを動かす
$ /opt/janus/bin/janus

# 【ターミナル②】 SSGを動かす
$ ROOMNAME=testroom MQTT_URL=mqtt://localhost MQTT_TOPIC=testtopic/+ ssg start

# 【ターミナル③】 Video Streamingを動かす
gst-launch-1.0 videotestsrc is-live=true ! \
  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 \
audiotestsrc ! \
  audioconvert ! queue ! \
  audioresample ! \
  audio/x-raw,channels=1,rate=16000 ! \
  opusenc bitrate=20000 ! \
    rtpopuspay ! udpsink host=127.0.0.1 port=5002

ターミナル①(赤枠)とターミナル②(青枠)でコマンド実行したところ、ターミナル③(緑枠)は、まだ実行してません。

ターミナル③でもコマンドを実行したところ、ターミナル①に、New audio stream!New video stream!と表示されました。

SkyWayのサイトで確認した

ラズパイで遠隔監視を開始した状態で、SkyWayのアプリケーションの管理画面で状況を確認します。
登録したアプリケーション管理画面を開き、接続中のPeerIDを確認します。

何も接続していない場合は、このようになります。

テストサイトで確認した

確認サイト https://nttcom.github.io/skyway-siru-client/examples/で確認してみます。

apikeyに取得したAPIキーを設定し、start ボタンをクリックします。成功例は、こちらのサイトで紹介されているような画面になるそうです。私は、以下のように中途半版な結果になりました。

stausは、connected となったのですがvideoはidleとなりました。video映像がちゃんと取れてないようです。uuidも表示されてないです。

ブラウザのデバッグモードで確認したところエラーと警告が発生していました。

エラーメッセージ

Unchecked runtime.lastError: The message port closed before a response was received.

警告メッセージ

A cookie associated with a cross-site resource at was set without the SameSite attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with SameSite=None and Secure. You can review cookies in developer tools under Application>Storage>Cookies and see more details at and .

警告メッセージの内容から、ブラウザ側のセキュリティにブロックされているような?ちがうような。。。この問題の対策がわからず断念しました。

Signalingが18回と増えているので、動いている感がある(?)んだけどなぁ~

3
1
2

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
3
1