3.10. REST API#
GMSL2-10GbE 変換モジュールには REST API インターフェイスがあります。このセクションでは、使用可能な API について説明します。
3.10.1. 概要#
接続先は下記の通りです。
プロトコル:
http
ホスト名:
assigned-ip-address
またはkria-gmsl.local
ポート:
3000
したがって、REST APIのURIは http://kria-gmsl.local:3000/<URI-path>
です。
パラメータが必要な場合は、JSON 形式にする必要があります。パラメータはcontent-type ヘッダーに含める必要があります。
3.10.2. 利用可能なエンドポイント#
3.10.2.1. C1カメラのセットアップ#
- 説明:
C1カメラの画像出力設定の設定
- リクエスト:
POST
/setup-cam1
- パラメータ:
パラメータは有りません
- 例:
curl -X POST http://kria-gmsl.local:3000/setup-cam1
3.10.2.2. C2カメラの設定#
- 説明:
C2カメラの画像出力設定の設定
- リクエスト:
POST
/setup-cam2
- パラメータ:
パラメータは有りません
- 例:
curl -X POST http://kria-gmsl.local:3000/setup-cam2
3.10.2.3. タイムスタンプの適用#
- 説明:
タイムスタンプを設定する
- リクエスト:
POST
/apply-timestamp
- パラメータ:
timestamp
: カスタムタイムスタンプを適用するかどうか0
: 適用しない1
: 適用する
frame
: タイムスタンプの位置0
: フレームの終了 (EoF)1
: フレームの開始 (SoF)
- 例:
curl -d '{"timestamp":"1","frame":"1"}' -H "Content-Type: application/json" -X POST http://kria-gmsl.local:3000/apply-timestamp
3.10.2.4. フレーム同期設定を構成する(すべてのカメラ)#
- 説明:
フレーム同期パルス設定(周波数、デューティ サイクル、オフセット)を構成します。これはすべてのカメラに適用されます。
- リクエスト:
POST
/command
- パラメータ:
frequency
: パルスの出力周波数。duty_cycle
: パルスのデューティサイクル。offset
: オフセットパラメータの例を以下に示します。
{ "data":{ "trigger_mode":"triggered", "deserializers":{ "p1":[ { "frequency":"20", "duty_cycle":"20", "offset":"0" }, { "frequency":"20", "duty_cycle":"20", "offset":"0" }, { "frequency":"20", "duty_cycle":"20", "offset":"0" }, { "frequency":"20", "duty_cycle":"20", "offset":"0" } ], "p2":[ { "frequency":"20", "duty_cycle":"20", "offset":"10000000" }, { "frequency":"20", "duty_cycle":"20", "offset":"20000000" }, { "frequency":"20", "duty_cycle":"20", "offset":"25000000" }, { "frequency":"20", "duty_cycle":"20", "offset":"30000000" } ] } } }
カメラをフリーランモードに設定するには、以下のパラメータをセットして下さい。
{ "data":{ "trigger_mode":"free-running", "deserializers":{ "p1":[ { "frequency":"0", "duty_cycle":"20", "offset":"0" }, { "frequency":"0", "duty_cycle":"20", "offset":"0" }, { "frequency":"0", "duty_cycle":"20", "offset":"0" }, { "frequency":"0", "duty_cycle":"20", "offset":"0" } ], "p2":[ { "frequency":"0", "duty_cycle":"20", "offset":"0" }, { "frequency":"0", "duty_cycle":"20", "offset":"0" }, { "frequency":"0", "duty_cycle":"20", "offset":"0" }, { "frequency":"0", "duty_cycle":"20", "offset":"0" } ] } } }
- 例:
curl -X POST http://kria-gmsl.local:3000/apply-timestamp -data-raw $(cat trigger.json)
上記のjsonが
trigger.json
として保存されていると仮定します
3.10.2.5. 単一カメラのフレーム同期パルスを設定する#
- 説明:
単一のカメラのフレーム同期パルス設定 (周波数、デューティ サイクル、オフセット) を構成します。
- リクエスト:
POST
/save-single
- パラメータ:
{index, frequency, duty_cycle, offset, fsync_source}
- 例:
3.10.2.6. P1からC1のストリーミングを開始する#
- 説明:
ボードの P1 ポートから C1 カメラの画像ストリーミングを開始します。
- リクエスト:
POST
/streaming-cam1-des1
- パラメータ:
パラメータは有りません
- 例:
curl -X POST http://kria-gmsl.local:3000/streaming-cam1-des1
3.10.2.7. P2からC1のストリーミングを開始する#
- 説明:
ボードのP2ポートからC1カメラの画像ストリーミングを開始します。
- リクエスト:
POST
/streaming-cam1-des2
- パラメータ:
パラメータは有りません
- 例:
curl -X POST http://kria-gmsl.local:3000/streaming-cam1-des2
3.10.2.8. 両方のデシリアライザプロトコルからC1のストリーミングを開始する#
- 説明:
ボードの P1 ポートと P2 ポートの両方から C1 カメラの画像ストリーミングを開始します。
- リクエスト:
POST
/streaming-cam1-des12
- パラメータ:
パラメータは有りません
- 例:
curl -X POST http://kria-gmsl.local:3000/streaming-cam1-des12
3.10.2.9. P1からC2のストリーミングを開始する#
- 説明:
ボードの P1 ポートから C2 カメラの画像ストリーミングを開始します。
- リクエスト:
POST
/streaming-cam1-des2
- パラメータ:
パラメータは有りません
- 例:
curl -X POST http://kria-gmsl.local:3000/streaming-cam2-des1
3.10.2.10. ストリーミングを停止#
- 説明:
すべてのポートからのカメラストリームのストリーミングを停止します
- リクエスト:
POST
/stop-streaming
- パラメータ:
パラメータは有りません
- 例:
curl -X POST http://kria-gmsl.local:3000/stop-streaming
3.10.2.11. システム時間の更新#
- 説明:
HTTP リクエストを介してローカル時刻を取得し、システム時刻を更新します。
このエンドポイントは対応するGUIコントロールと同等です。
- リクエスト:
POST
/update-time
- パラメータ:
パラメータは有りません
- 例:
curl -X POST http://kria-gmsl.local:3000/update-time
3.10.2.12. PTPベースの同期を開始する#
- 説明:
eth0 で ptp4l スレーブ (クライアント) プログラムを起動します。
このエンドポイントは対応するGUIコントロールと同等です。
- リクエスト:
POST
/sync-ptp
- パラメータ:
パラメータは有りません
- 例:
curl -X POST http://kria-gmsl.local:3000/sync-ptp
3.10.2.13. システムクロックを PHC に同期する#
- 説明:
PHC 時間に基づいてシステム クロックを更新するプログラムを起動します。
このエンドポイントは対応するGUIコントロールと同等です。
- リクエスト:
POST
/sync-phc
- パラメータ:
パラメータは有りません
- 例:
curl -X POST http://kria-gmsl.local:3000/sync-phc
3.10.2.14. PTP ベースの同期を停止する stop-ptp4l#
- 説明:
ptp4l スレーブ プログラムを停止します。
このエンドポイントは対応するGUIコントロールと同等です。
- リクエスト:
POST
/stop-ptp4l
- パラメータ:
パラメータは有りません
- 例:
curl -X POST http://kria-gmsl.local:3000/stop-ptp4l
3.10.2.15. システムへのPHCを停止#
- 説明:
PHC ベースのシステムを停止します。
このエンドポイントは対応するGUIコントロールと同等です。
- リクエスト:
POST
/stop-phc2sys
- パラメータ:
パラメータは有りません
- 例:
curl -X POST http://kria-gmsl.local:3000/stop-phc2sys
3.10.2.16. カメラの露出設定の適用#
- 説明:
各カメラに露出時間設定を適用します。
このエンドポイントは対応するGUIコントロールと同等です。
- リクエスト:
POST
/apply-exposure-cam<X>
X は0 から 7 まで
- パラメータ:
expCam<X>
: 0 - 33000, [usec]- 例:
curl -d '{"expCam0":11000}' -H "Content-Type: application/json" -X POST http://kria-gmsl.local:3000/apply-exposure-cam0
これにより、カメラ 0 の露出時間が 10 ミリ秒に設定されます。
3.10.2.17. 自動露出の有効化/無効化#
- 説明:
各カメラの自動露出設定を有効/無効にします。
このエンドポイントは対応するGUIコントロールと同等です。
- リクエスト:
POST
/apply-auto-exposure-cam<X>
X は0 から 7 まで
- パラメータ:
autoExpCam<X>
:0
: 無効1
: 有効
- 例:
curl -d '{"autoExpCam0":1}' -H "Content-Type: application/json" -X POST http://kria-gmsl.local:3000/apply-auto-exposure-cam0
これにより、カメラ0の自動露出が有効になります
3.10.2.18. 歪み補正の有効化/無効化#
- 説明:
各カメラの歪み補正設定を有効/無効にします。
このエンドポイントは対応するGUIコントロールと同等です。
- リクエスト:
POST
/apply-dist-corr-cam<X>
X は0 から 7 まで
- パラメータ:
distCorrCam<X>
:0
: 無効1
: 有効
- 例:
curl -d '{"distCorrCam0":1}' -H "Content-Type: application/json" -X POST http://kria-gmsl.local:3000/apply-dist-corr-cam0
これにより、カメラ0の歪み補正が有効になります。