目次  MOBOTIXオンラインヘルプ

APIのリモート設定

APIのリモート設定 (Application Programming Interface) http://192.168.11.104/admin/remoteconfig では、カメラのパラメータをリモートから直接変更するために使用される方法が説明されています。

APIのリモート設定を使用する

カメラの HTTP インターフェースは、HTTP POSTリクエストのコマンドおよびパラメタの設定値を処理します:

POST /admin/remoteconfig HTTP/1.0
Content-type: application/x-www-form-urlencoded
Authorization:Basic YWRtaW46bWVpbnNt
Content-length:87
helo
view section audio
write params
audio/MICRO=1
view section audio
update
store
quit
 

HTTP POST リクエストの説明

パート

説明

POST /admin/remoteconfig HTTP/1.0
Content-type: application/x-www-form-urlencoded
Authorization:Basic YWRtaW46bWVpbnNt
Content-length:87

HTTP POSTリクエストのヘッダー。

 

空白行は内容とリクエストヘッダーを区別します。

helo

コマンドシーケンスの開始。

view section audio
write params
audio/MICRO=1
view section audio
update
store

APIのリモート設定のコマンド セクションで記載された、特定のコマンドによるコマンドシーケンス

終了
 

End of the command sequence.

説明

  • コマンドシーケンスを閉じるには最後にブランクとラインブレイクが必要です。

  • コンテントタイプ (Content-type: application/x-www-form-urlencoded) は特定する必要はありませんが、カメラのウェブサーバが必要としています。

  • ウェブサーバで認証を処理します (この場合 基本 認証が必要です)。(":")とBase64でエンコードされたユーザー名とパスワードはコロンで連結されます。"admin:meinsm" ユーザ名とパスワードはライン上を確認してください。

  • コンテントの長さ (Content-length) は、ヘッダーの後に空白行が続く全データの長さです。

  • リクエストのコンテントは、各ラインごとに処理されます。

  • HTTP API ヘルプページの コマンド規定 セクションで説明があるように、パラメータの特殊文字は URL-エンコード する必要があります。

cURL コマンドラインアプリケーションを使用した APIのリモート設定の出力 で詳細に説明があります。

APIのリモート設定のコマンド

以下の構文例で示されるコマンドが使用できます。

利用できるコマンド

コマンド

説明

リセット

工場出荷時の値にカメラの設定や個別のセクション全体をリセットします。

キーワード

結果

configfile

全体の設定をリセットします。

セクション

パラメータとして指定された設定セクションだけをリセットします。

exceptsection

パラメータとして指定したもの 以外の 設定のすべてのセクションをリセットします。

リストア

フラッシュストレージにコピーから設定をリストアします。

キーワード

結果

configfile

全体の設定をリストアします。

セクション

パラメータとして指定された設定セクションだけをリストアします。

消す

全体の設定、特定のセクションまたは個々のパラメータを削除します。

キーワード

結果

configfile

全体の設定を削除します。

セクション

パラメータとして指定された設定セクションだけを削除します。

params

以下にパラメータとして指定された設定セクションだけを削除します。削除のためのパラメータは、 "/" 区切りとして続くセクション名で指定されています:

<section name>/<parameter>

プロファイルを扱う場合、プロファイル名は "/" で区切られたセクション名を拡大します。

<section name>/<profile name>/<parameter>

次のようなプロファイルにアクセスする場合、

SECTION ipnotify
profile=ip0:<value> 
SECTION ipnotify

以下のストリングを使用してください

ipnotify/ip0/profile

書き込み

全てのセクションを書き込む、または、前に params キーワードが使用されている場合は設定のパラメータを個別に書き込みます。

キーワード

結果

(未特定)

次の行で指定された設定のセクションを書き込みます。セクションでは、開始と終了ラインを指定する必要があることに注意してください:

SECTION <section name1>
<parameter>=<value> 
<parameter>=<value> 
ENDSECTION <section name1>
SECTION <section name2>
<parameter>=<value> 
ENDSECTION <section name2>

params

次の行で指定された設定のセクションを書き込みます。パラメータは、 "/" 区切りとして続くセクション名で指定されています:

<section name>/<parameter>=<value> 

プロファイルを扱う場合、プロファイル名は "/" で区切られたセクション名を拡大します。

<section name>/<profile name>/<parameter>=<value> 

次のようなプロファイルにアクセスする場合、

SECTION ipnotify
profile=ip0:<value> 
ENDSECTION ipnotify

以下のストリングを使用してください

ipnotify/ip0/profile

注記

プロファイルは、全体としてのみ記述することができます。プロファイルの個々のパラメータにアクセスすることはできません。

末尾に追加

設定セクションにデータを追加します。セクションに追加するパラメータは、 SECTION および ENDSECTION ラインごとに指定されています:

SECTION <section name>
Parameter=<value>
Parameter=<value>
ENDSECTION <section name>

表示

設定全体または特定のセクションに戻ります (表示します)。

キーワード

結果

configfile

全体の設定に戻ります。

セクション

パラメータとして指定された設定セクションへのみ戻ります。

保存

設定値をフラッシュメモリへ永久保存します。

再起動

カメラを再起動します。

更新

カメラを再起動せずに設定値の変更を適用します。

キーワード

結果

すべて (またはキーワードなし)

すべての変更を有効にします。

セクション

パラメータとして指定されたセクションへの変更のみ適用します。

プロファイル

現在の設定プロファイル名を持つ 1行を返信します。有効なプロファイルがない場合は、ラインは空欄にしてください。

activate_profile

パラメータとして指定された設定プロファイルを有効にします: activate_profile <profile name>

reboot_needed

適用される前に、再起動を必要とするすべての変更された設定セクションを返信します。変更に再起動が必要ない場合、このラインは空欄になります。

注記

設定全体を変更した後 (ウェブインターフェースの設定からの 書き込みリセット削除 またはアップロード/編集後の使用)、カメラはどのセクションが変更されたのか理解していません。この場合、コマンドは "unknown" を返信します。

exit quit

同じ意味です。どちらのコマンドも、上記のコマンドを終了し、APIコマンドシーケンスを閉じます。コマンドシーケンスでは 2つのどちらか 一方 のコマンドのみ使用することができます。

ヘルプ

利用できるコマンドのリストを返信します ( ヘルプを使用してコマンドリストを返信)。

APIのリモート設定のコマンドの出力

カメラ APIはラインごとに回答を返信します。

例:マイクロホンを起動

この例では、HTTP要求を使用してマイクを有効化する方法を説明します。API のリモート設定を簡単にチェックするには、 cURL Windowsにコマンドラインツール (http://curl.haxx.se/download.html) がダウンロードできます。Mac OS X およびほとんどの Linux PC には自動的にインストールされます。

このツールはカメラとの通信を操作するので、 cURL を使用することで素早く、簡単にコマンドをチェックすることができます。例えば、 cURL は自動的に正しいヘッダーを送信し、コマンドシーケンスの長さを計算します。

コマンド

説明

helo
view section audio
write params
audio/MICRO=1
view section audio
update
store
quit
 
# Beginning of the command sequence.
# Output the audio section.
# Write the parameter specified in the following line.
# Set the MICRO parameter in the audio section to the value "1".
# Output audio section once more.
# Apply the changes without rebooting.
# Store the configuration in the camera's flash memory.
# End of the command sequence.
 
順序:
  • コマンドシェル (Windows) または ターミナル (Mac OS X, Linux) を開きます。

  • 以下のコマンドラインを入力し、カメラの実データの <user name><password> および <IP address> を置き換えてください:

    curl -q -v -u "<user name>:<password>" --data-binary @- "http://<IP address>/admin/remoteconfig"
  • [Enter] キーをクリックします; cURL はコマンドを待機します。

  • 最後のテーブル helo から quitの左列からテキストブロックをコピーします。

  • クリップボードのコンテンツをコマンドシェルまたはターミナルにコピーします。

  • [Ctrl+D] キーの組み合わせを 2回 (Windows, Linux) または 1回 (Mac OS X) 入力し、カメラへコマンドシーケンスを送信します。

以下のデータとコマンドシーケンスの出力:
  • <ユーザ名>admin

  • <パスワード>meinsm

  • <IP address>10.8.0.118

* About to connect() to 10.8.0.118 port 80 (#0)
* Trying 10.8.0.118... connected
* Connected to 10.8.0.118 port 80 (#0)
* Server auth using Basic with user 'admin'
> POST /admin/remoteconfig HTTP/1.1
> Authorization:Basic YWRtaW46bWVpbnNt
> User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18
> Host:10.8.0.118
> Accept:*/*
> Content-Length:87
> Content-Type: application/x-www-form-urlencoded
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: text/plain; charset=utf-8
< Cache-Control: no-cache
<
#read:helo:
#read:view section audio:
#exec cmd=view section audio
SECTION audio
SPEAKER=1
MICRO=0
PREAMPLIFIER=2
SPEAKERLEVEL=0
ENDSECTION audio
#read:write params:
#exec cmd=write params
#read:view section audio:
#exec cmd=view section audio
SECTION audio
SPEAKER=1
MICRO=1
PREAMPLIFIER=2
SPEAKERLEVEL=0
ENDSECTION audio
#read:update:
#exec cmd=update
#updating daemons!
#read:store:
#exec cmd=store
#Storing to flash...
#read:quit:
OK
#bye
* Closing connection #0

注記

"*"、 "<" または ">" 文字で始まる出力は cURLで生成されています。出力では、 ">" はカメラに送信されたコマンドを優先し、 "<" はカメラのウェブサーバから戻されるメッセージを優先します。残りのラインは APIのリモート設定のコマンドの出力 の説明通り API のリモート設定から戻されます。

例: helpを使用してコマンドリストを戻す

コマンド

説明

helo
help
quit
 
# コマンドシーケンスの開始。
# 遠隔制御 APIのヘルプを呼び出す
# コマンドシーケンスの終了。
 
順序:
  • コマンドシェル (Windows) または ターミナル (Mac OS X, Linux) を開きます。

  • 以下のコマンドラインを入力し、カメラの実データの <user name><password> および <IP address> を置き換えてください:

    curl -q -v -u "<user name>:<password>" --data-binary @- "http://<IP address>/admin/remoteconfig"
  • [Enter] キーをクリックします; cURL はコマンドを待機します。

  • 最後のテーブル helo から quitの左列からテキストブロックをコピーします。

  • クリップボードのコンテンツをコマンドシェルまたはターミナルにコピーします。

  • [Ctrl+D] キーの組み合わせを 2回入力し、カメラへコマンドシーケンスを送信します。

以下のデータとコマンドシーケンスの出力:
  • <user name>: admin

  • <パスワード>: meinsm

  • <IP address>:10.8.0.118

* About to connect() to 10.8.0.118 port 80 (#0)
* Trying 10.8.0.118... connected
* Connected to 10.8.0.118 port 80 (#0)
* Server auth using Basic with user 'admin'
> POST /admin/remoteconfig HTTP/1.1
> Authorization:Basic YWRtaW46bWVpbnNt
> User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18
> Host:10.8.0.118
> Accept:*/*
> Content-Length:87
> Content-Type: application/x-www-form-urlencoded
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: text/plain; charset=utf-8
< Cache-Control: no-cache
<
#read:helo:
#read:help:
The following commands are currently implemented:
append
reboot_needed
view
reboot
write
profile
restore
activate_profile
reset
update
delete
store
exit
quit
help
#read:quit:
OK
#bye
* Closing connection #0

注記

"*"、 "<" または ">" 文字で始まる出力は cURLで生成されています。出力では、 ">" はカメラに送信されたコマンドを優先し、 "<" はカメラのウェブサーバから戻されるメッセージを優先します。残りのラインは APIのリモート設定のコマンドの出力 の説明通り API のリモート設定から戻されます。

例: writeを使用してプロファイルラインを変更する

ipnotify 設定セクションのネットワークメッセージプロファイル ip0 のターゲットアドレス ipnotifyaddress は、 10.0.0.42:8000 から 10.11.12.13:6750に変更されます。

注記

常にプロファイルライン全体を書き込む必要があります。プロファイルの個別の値は変更することができません。

コマンド

説明

helo
view section ipnotify
write params
ipnotify/ip0/profile=ip0:_profilename=MxCC-Alarm
:preset=mxpeg_alarm:ackn_time=60
:ipnotifyaddress=10.11.12.13%3A6750
:send=on_error:protocol=raw
:boundary=--next-image--:httppath=:httpauth=
:data=msg:ipnotifymessage=Hello World!
:filetype=mxg:rate100=100:antetime=1
:posttime=1:systime=1440:ipnotifyport=0
view section ipnotify
update
store
quit
 
# Beginning of the command sequence.
# Output the ipnotify section.
# Write the profile specified in the following line.
# Set profile ip0 in section ipnotify with the address
# "10.11.12.13" and the port 6750 ...
# ...
# ...
# ...
# ...
# ...
# ...
# ipnotify セクションを再度出力。
# ルーティングなしで変更を適用。
# カメラのフラッシュメモリにシステム設定値を保存。
# コマンドシーケンス終了。
 
順序:
  • コマンドシェル (Windows) または ターミナル (Mac OS X, Linux) を開きます。

  • 以下のコマンドラインを入力し、カメラの実データの <user name><password> および <IP address> を置き換えてください:

    curl -q -v -u "<user name>:<password>" --data-binary @- "http://<IP address>/admin/remoteconfig"
  • [Enter] キーをクリックします; cURL はコマンドを待機します。

  • 最後のテーブル helo から quitの左列からテキストブロックをコピーします。

  • クリップボードのコンテンツをコマンドシェルまたはターミナルにコピーします。

  • [Ctrl+D] キーの組み合わせを 2回入力し、カメラへコマンドシーケンスを送信します。

以下のデータとコマンドシーケンスの出力:
  • <user name>: admin

  • <パスワード>: meinsm

  • <IP address>:10.8.0.118

* About to connect() to 10.8.0.118 port 80 (#0)
* Trying 10.8.0.118... connected
* Connected to 10.8.0.118 port 80 (#0)
* Server auth using Basic with user 'admin'
> POST /admin/remoteconfig HTTP/1.1
> Authorization:Basic YWRtaW46bWVpbnNt
> User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18
> Host:10.8.0.118
> Accept:*/*
> Content-Length:87
> Content-Type: application/x-www-form-urlencoded
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: text/plain; charset=utf-8
< Cache-Control: no-cache
<
#read:helo:
#read:view section ipnotify:
#exec cmd=view section ipnotify
SECTION ipnotify
ipnotify/ip0/profile=ip0:_profilename=MxCC-Alarm
:preset=mxpeg_alarm:ackn_time=60
:ipnotifyaddress=10.0.0.42%3A8000
:send=on_error:protocol=raw
:boundary=--next-image--:httppath=:httpauth=
:data=msg:ipnotifymessage=Hello World!
:filetype=mxg:rate100=100:antetime=1
:posttime=1:systime=1440:ipnotifyport=0
...
ENDSECTION ipnotify
#read:write params:
#exec cmd=write params
#read:view section ipnotify:
#exec cmd=view section ipnotify
SECTION ipnotify
ipnotify/ip0/profile=ip0:_profilename=MxCC-Alarm
:preset=mxpeg_alarm:ackn_time=60
:ipnotifyaddress= 10.11.12.13%3A6750
:send=on_error:protocol=raw
:boundary=--next-image--:httppath=:httpauth=
:data=msg:ipnotifymessage=Hello World!
:filetype=mxg:rate100=100:antetime=1
:posttime=1:systime=1440:ipnotifyport=0
...
ENDSECTION ipnotify
#read:update:
#exec cmd=update
#updating daemons!
#read:store:
#exec cmd=store
#Storing to flash...
#read:quit:
OK
#bye
* Closing connection 0

注記

"*"、 "<" または ">" 文字で始まる出力は cURLで生成されています。出力では、 ">" はカメラに送信されたコマンドを優先し、 "<" はカメラのウェブサーバから戻されるメッセージを優先します。残りのラインは APIのリモート設定のコマンドの出力 の説明通り API のリモート設定から戻されます。


© 2001-2024 MOBOTIX, · http://www.mobotix.com/