AWS DeepLens Tips

TL;DR

AWS DeepLensがやっと届いたので動かしてました。 挙動を掴むまで結構ハマったので、注意点とか確認方法などのTipsを纏めてみました。

トラブルシューティング

DeepLensのセットアップ中にインターネットに接続できない

手順にも記載されていますが仕様です。DeepLensのセットアップ時にはRegistration用のUSBポートでセットアップで使用するPCに接続しますが、この際有線LANとして認識されます。 無線LANの設定よりも有線されるため、セットアップで使用しているPCが一時的に通常利用しているネットワークから切り離されます。

注意書きを読み飛ばしているとびっくりするのでご注意を。

SSHでログインできない

初期設定ではSSHでログインできません。SSHサーバは別途設定を行って有効化する必要があります。

SSHの有効化をしても保存ができない

ネットで調べると、以下のreset pinholeでセットアップ用のアクセスポイントを有効化して設定する方法がでてくる事がありますが、なぜかこの方法だとSSHの設定を変更しても保存ができません(なぜか保存ボタンが存在しない)。

Registration用のUSBポートでUSB接続した上で、AWSコンソールからデバイスの設定を変更する手順であればSSHを有効化して保存が可能です。

ビデオストリームを表示するための4000ポートで待ち受けているサービスがない

色々いじっているとこの状態になることがあります。 ビデオストリームはvideoserverというプログラムが4000ポートでサービスしています。

videoserverは以下が本体です。

/opt/awscam/awsmedia/video_server.py

videoserverが稼働しているかどうかは以下で確認ができます。

sudo service videoserver status

動いていないようであれば、以下の様に実行してみるとSSLエラーと表示されることがあります。

sudo /opt/awscam/awsmedia/video_server.py

なんらかの原因で証明書がおかしくなるらしく、この状態であれば以下のコマンドでawscamを再インストールすると直ります。

sudo apt-get install awscam --reinstall
sudo apt-get install awscam-webserver --reinstall

証明書をインストールしたのにChromeでビデオストリームが表示できない

Macの場合の話ですが、証明書をキーチェーンに登録した後にChromeは一度完全に終了させる必要があります。

Firefoxでビデオストリームを表示できない

手順にもありますがFirefoxはキーチェーンではなく、Firefox固有の設定画面で設定する必要があります。 以下の画面です。

一番上のLEDが点灯しない

プロジェクトをデプロイしていない、あるいはデプロイしたプロジェクトが正しく起動していません。 デプロイしたプロジェクトはDeepLens上でLambdaとして起動します。DeepLens上のLambdaはpython2のプロセスとして表示されます。

ps aux | grep python2

これで表示されないようであれば、以下の様にawscam関連のサービスを再インストールしてみると直るかもしれません。

sudo apt-get install awscam --reinstall
sudo apt-get install awscam-webserver --reinstall

ステルスSSIDの無線LANに接続したい

AWSコンソールからは設定できません。SSHで接続して設定する必要があります。

nmcli dev wifi connect "your-ssid" password "your-password" hidden yes

とりあえずgreengrassdを再起動してみる

プロジェクトのデプロイが進まない場合や、デプロイしたプロジェクトが起動しない場合(AWSコンソール上でオンラインにならない場合)は、greengrassdを再起動してみると改善するかもしれません。

sudo service greengrassd restart

deeplens用のsource.listが無効になっている

原因が不明ですが、私の場合はapt用のsourcelistが不完全な形で保存されていました。 aptが参照するリポジトリは/etc/apt/sources.listに設定されています。

DeepLens固有のリポジトリはaws_deeplens.listというファイル名で存在するはずですが、私の場合はなぜかaws_deeplens.list.saveだけ存在するという状態でした。

この状態の場合、以下のコマンドでファイル名を変更してからaptを実行する必要があるかも知れません。

cd /etc/apt/sources.list
sudo mv aws_deeplens.list.save aws_deeplens.list
sudo apt-get update

一番下のLEDが点滅している

awscam-intel-dldtというパッケージを再インストールすると治るかも知れません。

sudo apt-get install awscam-intel-dldt --reinstall

なぜかvideoserver.serviceのパーミッションが変

/var/log/syslogを見ていたらvideoserver.serviceのパーミッションが変だと警告が出ていました。 ほっといてもいいような気がしますが、以下のコマンドで修正できます。

sudo chmod 644 /etc/systemd/system/videoserver.service

工場出荷状態に戻したい

工場出荷状態に戻すためにはブート用のUSBメモリ(16GB以上)を用意し、ブートイメージと初期設定用のファイルをダウンロードして設定する必要があります。 以下の手順を参照してください。

USBメモリのパーティション分割に指定があり、さらに一部のファイルシステムにNTFSを要求します。 MacでもWindowsでも簡単に必要な準備ができないので、(手元にあれば)Ubuntuマシンで行うかDeepLensにモニタとキーボード、マウスを接続して準備する必要があります。

情報の確認

待ち受けているポート一覧を表示する

ss -antp | grep -i LISTEN

デーモンのステータスを確認する

service [デーモン名] status
service greengrassd status

デーモンの一覧を確認する

service --status-all

ファイアウォールを無効化する

普通に使っている限りは必要ありません。

sudo ufw disable

有効化する場合は以下を実行してください。

sudo ufw enable

DeepLensの温度を確認する

DeepLensは推論まで行うためかなり機体の温度が高くなります。 熱のせいか不意に再起動するため、温度を確認したくなるかもしれません。

grep temperature /var/log/syslog

参考文献