カメラ機能

カメラ機能のインストール

本製品出荷時では、カメラ機能はインストールされておりません。
そのため、WEB-UIのメンテナンス機能拡張タブからカメラ機能をインストールしてください。

set01

WEB-UIのメンテナンスタブを選び、さらに機能拡張タブをクリックすると機能拡張用のパッケージを選択することができます。

set02

インストール機能のリストからカメラを選択します。
その後、インストールの実行ボタンを押し、インストールを行ってください。

なお、インストール完了後には反映を行うため、本体再起動が必要となります。
そのため、メンテナンス停止・再起動から本製品の再起動を行ってください。

カメラ機能設定

カメラ機能のインストールが完了している場合、サービスWEB-UIのサービス基本タブにカメラの項目が表示されます。
このカメラのリンクを押して下さい。これにより、カメラタブへと遷移します。使用したい機能に関しては、後述の内容を参照の上適宜設定を行ってください。

set03

カメラ ストリーミング機能

カメラカメラタブではOpenBlocks本体に接続しているカメラの画像データをWEB-UI上にストリーミングとして表示することができます。
また、WEB-UIにてストリーミングの表示部の確認を行おうとした場合、URIプロキシ機能を用います。

接続しているカメラ動作の確認を行う場合に、ご使用ください。

set04

  • カメラ
項目説明
USBカメラ設定USBカメラでのストリーミング表示を使用する場合には、使用するを選択してください。
USBカメラデバイスファイルOpenBlocksがカメラとして認識しているデバイスファイルを指定します。通常では変更する必要は ありません。
解像度カメラが撮影する際の解像度を選択します。
※本リスト内に表示される解像度の一覧はカメラ自体とは連動しておりません。
FPSフレームレートを設定します。ドキュメント作成時点での標準的なUSBカメラのFPSは30fps程度です ので、1~30までの間で設定してください。
画質撮影する際の画質を1~100の間で設定します。(100に近づくほど高画質となります)
画質が高い場合、CPU負荷が高くなりますのでリソース状況確認の上、設定してください。
WEB表示用ポート番号WEBに表示するためのポート番号を指定します。
本システムでは使用していない8080をデフォルトで設定しております。
※URIプロキシを用いて確認する場合には、このポート番号を設定して下さい。

設定完了後、保存ボタンを押すことによりカメラのストリーミング機能が起動・停止します。

使用する設定となっている場合、以下のように表示されます。

set05

  • ストリーミング
項目説明
表示URI名URIプロキシに設定したポート番号が存在する場合、自動入力されます。
また、表示するボタンを押すことによりストリーミング画像がWEB-UI上に表示されます。
表示サイズWEB-UI上に表示されるストリーミング画像のサイズを選択できます。

WEB-UI上に表示されるストリーミング画像は5分間表示されます。

動体検知機能

カメラ動体検知タブではストリーミングデータまたはOpenBlocks本体に接続しているカメラを用いて動体検知を行うことができます。

動体を検知した際に動画の保存及び保存イベントにおけるスクリプトの実行処理についてもおこなうことができます。
また、本機能についてもストリーミングを行うことができます。なお、ストリーミング機能については、URIプロキシ機能を用います。

set06set07
  • 動体検知

動体検知を使用する場合には、使用するを選択してください。

項目説明
動体検知用入力動体検知の検出として入力をIPカメラまたはUSBカメラから選択します。
IPカメラURL(IPカメラ使用時)入力とするIPカメラのURLを指定します。前章のカメラストリーミング機能を入力とする場合はURI プロキシ機能を用いて以下のように設定してください。

http://127.0.0.1:880/<URIプロキシ名>/?action=stream

また、外部のネットワークカメラを入力とすることも可能です。
その場合、Basic認証はサポートしておりますので、認証なしまたはBasic認証でのアクセスを使用して下さい。
デバイスファイル
(USBカメラ使用時
OpenBlocksがカメラとして認識しているデバイスファイルを指定します。通常では変更する必要は ありません。
解像度
(USBカメラ使用時)
カメラが撮影する際の解像度を選択します。
※本リスト内に表示される解像度の一覧はカメラ自体とは連動しておりません。
FPSフレームレートを設定します。
ドキュメント作成時点での標準的なUSBカメラのFPSは30fps程度です ので、1~30までの間で設定してください。
画質撮影する際の画質を1~100の間で設定します。(100に近づくほど高画質となります)
画質が高い場合、CPU負荷が高くなりますのでリソース状況確認の上、設定してください。
動体検知閾値動体と認識するフレーム間での差分ピクセルの閾値を設定します。解像度及び処理したい内容に よって変更が必用となります。
イベント終了時間[sec]動体検出後、動きがなくなった場合に動体検知を終了とする時間を設定します。
保存先ディレクトリ動体検知を行った際に動画を保存する際のディレクトリを指定します。
※動体検知量によって書き込み量が変わる為、USBメモリ等の外部ストレージを推奨いたします。
動画保存動体を検知した際に、動画を保存を行うか設定します。
最大動画保存時間[sec]
(動画保存使用時)
動画を保存する際に最大で保存を行う動画の秒数を指定します。
検知イベントトリガー機能
(動画保存使用時)
動画保存を行った際に、スクリプトを実行するかどうかを指定します。
実行するスクリプトは拡張スクリプト編集タブにて作成可能です。
ストリーミング設定動体検知状況をストリーミング機能にて表示するかを設定します。使用する場合に使用するを 選択してください。
WEB表示用ポート(ストリーミング時)WEBに表示するためのポート番号を指定します。本システムでは使用していない8081をデフォルトで 設定しております。
※URIプロキシを用いて確認する場合には、このポート番号を設定して下さい。
ストリーミング用画質(ストリーミング時)ストリーミング時の画質を1~100の間で設定します。
(100に近づくほど高画質となります)
ストリーミング用FPS(ストリーミング時)ストリーミング時のフレームレートを設定します。
1~100まで設定は可能ですが、カメラのFPSを上回らない値を設定してください

設定完了後、保存ボタンを押すことにより動体検知機能が起動・停止します。

ストリーミング機能を使用する設定となっている場合、以下のように表示されます。

set08

  • ストリーミング
項目説明
表示URI名URIプロキシに設定したポート番号が存在する場合、自動入力されます。
また、表示するボタンを押すことによりストリーミング画像がWEB-UI上に表示されます。
表示サイズWEB-UI上に表示されるストリーミング画像のサイズを選択できます。

WEB-UI上に表示されるストリーミング画像は5分間表示されます。

検知イベントトリガー機能

動体検知の動画保存時に、任意のスクリプト内容を実行することができます。
スクリプトは、拡張スクリプト編集タブから動体検知イベントを選択し、編集することができます。

info

動体検知イベントのスクリプトの実行ユーザーはmotionとなります。そのため、スクリプト内でファイル作成等を行う場合には、パーミッションに注意してください。

set09

なお、本スクリプト向けに環境変数MOVIE_FILEに検知時に撮影した動画のファイルパスが含まれます。
また、本イベントトリガー用に通知向けの以下のスクリプトを用意しています。
これらのスクリプトは、上記の動体検知イベントスクリプトに記載し二次的に呼び出して使用します。

通知方法スクリプトパス補足
SMS/var/webui/scripts/motion_send_sms.shモデム及びSMS対応SIMが必要です。
E-Mail/var/webui/scripts/motion_send_email.shインターネットの経路が必用です。
Unix Domain Socket/var/webui/scripts/motion_send_socket.sh

SMS通知

OpenBlocksに搭載しているモデム及びSIMを用いてSMSの送信を行います。
以下の設定ファイルが必用となります。

/var/webui/upload_dir/motion_cfg/sendsms.json
  • サンプル
{
"send_phone_number" : "09012345678" ,
"send_body" : "動体を検知しました。"
}
キーデータ型内容
send_phone_number文字列送信先電話番号
send_body文字列送信するSMS本文

E-Mail通知

OpenBlocksが稼働中のネットワークを経由して、メールサーバーに対してメールの送信を行います。
以下の設定ファイルが必用となります。

/var/webui/upload_dir/motion_cfg/sendmail.json
  • サンプル
{
"smtp_server" : "smtp.example.com" ,
"smtp_port" : 465 ,
"auth" : true,
"auth_user" : "exampleuser" ,
"auth_pass" : "password" ,
"to" : "from@example.com" ,
"from" : "from@example.com" ,
"subject" : "動体検知" ,
"body" : "動体を検知しました。WEB-UIから保存した動画を確認してください。"
}
キーデータ型内容
smtp_server文字列SMTPサーバー
smtp_portINT型SMTPポート
authBOOLEAN型SMTP-AUTH使用設定
true : 使用、false : 未使用
auth_user文字列認証ユーザー(SMTP-AUTH使用時に必要)
auth_pass文字列認証パスワード(SMTP-AUTH使用時に必要)
to文字列送信先アドレス
from文字列送信元アドレス
subject文字列件名
body文字列メール本文

Unix Domain Socket通知

OpenBlocks内で稼働しているUnix Domain Socket待ち受けを行っているプロセスに対してデータ送信を行うことができます。
以下の設定ファイルが必用となります。

/var/webui/upload_dir/motion_cfg/sendsocket.json
  • サンプル
{
"socket_path" : "/pd_repeater/userdev_0000001.sock" ,
"abstract_flag" : true ,
"send_body" : "動体を検知しました。"
}
キーデータ型内容
socket_path文字列Unix Domain Socketパス
abstract_flagBOOLEAN型Abstract Socket使用設定
true : 使用、false : 未使用
send_body文字列送信メッセージ

本機能での送信データのメッセージはJSONとなります。

メッセージサンプルは以下となります。

  • メッセージサンプル
{ "time" : "2018-07-17T09:32:15.864+09:00" , "message" : " 動体を検知しました。" }

また、以下のPHPファイルのライブラリを用意することでJSONメッセージデータの拡張が行えます。

/var/webui/upload_dir/motion_cfg/extendsocket.lib.php
  • 拡張PHPファイルサンプル
<?php
// Default Data Setting from $data
$data['extend'] = "追加サンプル" ;
?>
  • 拡張メッセージサンプル
{ "time" : "2018-07-17T09:32:15.864+09:00" , "message" : " 動体を検知しました。" , "extend" : "追加サンプル" }

メディア機能

カメラメディアタブでは特定ディレクトリ直下に保存した画像及び動画データを表示及びダウンロードすることができます。

表示される画像データ及び動画データの拡張子は以下となります。

種類対応拡張子
画像データ.svg、.apng、.bmp、.png、.jpeg、.jpg
動画データ.mp4、.ogg、.webm
set10set11
  • メディアディレクトリパス設定
項目説明
メディアディレクトリパス動体検知等にて保存先に指定したディレクトリを設定します。ディレクトリパス設定後、リンクボタンを押してください。
サムネイル自動生成メディアディレクトリパスに保存されている画像及び動画に対して、サムネイル画像の生成を行う かを設定します。
設定後、保存ボタンを押してください。
画像画像を表示します。画像をクリックすることでポップアップします。
画像のダウンロードに関してはポップアップした画像を各ブラウザの機能からダウンロードを実施してください。
動画動画を表示します。動画をクリックすることでポップアップします。
また、ダウンロードボタンを押すことで対象画像をダウンロードできます。

ログ機能

カメラログタブではストリーミング機能及び動体検知機能のログを確認することができます。

set12set13
  • ログ
項目説明
ログカメラストリーミング機能及び動体検知機能のログファイル一覧が表示されます。
確認したいログファイルを選択することで、対象のログファイルが表示されます。
対象のログファイルを選択した場合、ダウンロードボタンが表示されます。
ログファイルをダウンロードしたい場合に押してください。

カメラ及びストリーミングデータ確認用ユーザー

本機能をインストールした場合、カメラまたは動体検知のストリーミングデータ及び保存した画像・動画データの閲覧のみを許容するユーザーを作成します。
このユーザーはカメラ機能のみを閲覧するユーザーであり、OpenBlocksのシステム全体にはアクセスできません。

項目説明
ユーザー名"cam_user"となります。
パスワードデフォルトは"0BSI0T"です。
(0は数字の0です。)

システムWEBユーザータブにてパスワードの変更が可能です。
但し、ユーザー権限の編集を行っても反映されません。

  • ストリーミング
項目説明
表示サイズWEB上に表示するストリーミングデータの画像サイズを選択します。デフォルトでは0x0です。
※0x0の場合、表示されません。
画像メディア機能で設定したパスの画像データ一覧を表示します。
動画メディア機能で設定したパスの動画データ一覧を表示します。なお、本機能でのダウンロード機能はありません。

OpenBlocks IoT VX2のカメラ接続について

OpenBlocks IoT VX2にUSBカメラを接続する場合、USB type-Aポートに対して直接接続は行わないでください。直接接続を行った場合、USBカメラの動作が不安定となります。そのため、USBハブ等を経由しての接続を推奨いたします。

VIDEOデバイスファイルについて

OpenBlocks IoT VXシリーズ及びOpenBlocks IX9では1つのUSBカメラを接続した場合、2つのVIDEOデバイスファイル(ex. /dev/video0及び/dev/video1)が生成されます。
通常では、本機能にて指定するVIDEOデバイスファイルは若番の物(正しくは、キャプチャ機能対応のデバイスファイル)を設定してください。

なお、OpenBlocks IoT BX及びEXシリーズでは1つのUSBカメラを接続した場合、1つのVIDEOデバイスファイルとなりますので、生成されたVIDEOデバイスファイルをご使用ください。

OpenBlocks IoT BX/EXシリーズへのカメラ設定について

OpenBlocks IoT BX/EXシリーズではUSBカメラを用いてストリーミング機能及び動体検知機能を実施しようとし場合、USBドライバの問題により以下のようなメッセージを出力し使用できないケースがあります。

この場合、使用時のFPSや解像度を下げることにより使用できますので、FPS及び解像度を下げての運用をご検討ください。

[10554.131243] usb 1-1.4: new high-speed USB device number 5 using dwc3-host
[10554.258997] usb 1-1.4: New USB device found, idVendor=0bad, idProduct=5823
[10554.259029] usb 1-1.4: New USB device strings: Mfr=3, Product=1, SerialNumber=2
[10554.259049] usb 1-1.4: Product: USB Camera
[10554.259067] usb 1-1.4: Manufacturer: Generic
[10554.259085] usb 1-1.4: SerialNumber: 200901010001
[10554.923089] uvcvideo: Found UVC 1.00 device USB Camera (0bad:5823)
[10554.931799] input: USB Camera as /devices/pci0000:00/0000:00:11.0/dwc3-host.2/usb1/1-1/1-1.4/1-1.4:1.0/input/input2
[10554.932389] usbcore: registered new interface driver uvcvideo
[10554.932408] USB Video Class driver (1.1.1)
[10757.724309] dwc3-host dwc3-host.2: Signal while waiting for configure endpoint command
[10757.741963] usb 1-1.4: Not enough bandwidth for altsetting 0
[10773.412255] dwc3-host dwc3-host.2: xHCI xhci_drop_endpoint called with disabled ep d34ef840
[10773.412288] dwc3-host dwc3-host.2: Trying to add endpoint 0x81 without dropping it.
[10773.412317] usb 1-1.4: Not enough bandwidth for altsetting 7
[10773.412342] dwc3-host dwc3-host.2: xHCI xhci_drop_endpoint called with disabled ep d34ef840
[10804.148391] dwc3-host dwc3-host.2: Trying to add endpoint 0x81 without dropping it.
[10804.148429] usb 1-1.4: Not enough bandwidth for altsetting 7
[11002.887329] dwc3-host dwc3-host.2: Trying to add endpoint 0x81 without dropping it.
[11002.887367] usb 1-1.4: Not enough bandwidth for altsetting 7