シリアルポートを介したカスタムコマンドの送信

以下もご覧ください:ONVIFデバイスIOサービス デバイスIOサービスを使用する

必要条件

PTZページに対するデバイス能力と一致するようにシリアルポートが構成されているか確認してください。

ONVIFデバイスIO機能

ほとんどのユースケースで本アプローチを推奨しています。

デバイスIO機能を使用してマルチプレックスカスタムおよび標準(PELCO PTZなど)コマンドをデバイスに送信します。

サードパーティークライアントはONVIFデバイスIOサービスに接続するためにGetServices応答が報告したURIを使用します。
CoaxlinkSendReceiveSerialCommandRequestを送信し、シリアルデバイスにメッセージを転送します。
シリアルデバイスからの返信を想定している場合は、要求のDataLength引数にバイト数を入力します。
バイナリーを想定している場合、<SerialData>内の<Binary>エレメントを使用します。
要求にバイナリーが使用されている場合、Coaxlinkは自動的にバイナリー伝送で返信します。

tty.phpを使用する

tty.phpのオペレーションは変更の対象になります。そのため、サードパーティーアプリケーションへの使用は推奨していません。
tty.phpはクイックテストにのみ使用します。
tty.phpを使用する前に
ログインWebページからHTTPクライアントを認証します。
要求にセッションクッキーが含まれていることを確認します。

Euresysリモートシリアルプロトコル(ERSP)を使用する

ERSPはライトTCP-シリアルブリッジプロトコルです。

SendReceiveSerialCommandに似た機能を提供します。
低リソースデバイスで稼働するクライアントソフトウェアのためにデザインされました。
ERSPサーバーをローンチする際に1度だけ認証する必要があります。

ERSPはTLSでは利用できず、プレーンTCPでのみ利用可能です。
ソフトウェアクライアントとCoaxlinkの接続が物理的にセキュアである場合にのみ使用することを考慮してください。

完全統合アプローチ

1. プロプライエタリPTZサービスにGetTransparentSerialURI()コマンドを送信します。
2. 返されたURIからIPアドレス、ポート番号、認証コードを抽出します(remoteSerial.pyサンプルプログラムで示される通り)
3. データを送受信します(サンプルプログラムで示される通り)。

プロトタイプアプローチ

1. remoteSerial.pyサンプルプログラムを適用してテストしたいデータ交換を実行します。
2. PTZページシリアルポート設定パネル内のERSP開始ボタンを使用します。

3. 返信Webページからersp://で始まるURIをコピーします。

4. それを使用してPython remoteSerial.py URIを呼び出します。

ERSPサーバーはクライアントがTCPセッションを閉じると自動的に終了します。