Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

目次

...

Table of Contents
minLevel1
maxLevel4

はじめに

この章では、AdamApp を 開発する際に利用するユーティリティについて説明します

Metadata stream Receiver

Metadata stream Receiver を使用して、ONVIF メタデータを取得し、内容を確認できます。

(1) Google Chrome を起動

(2) Chrome 中のアドレスバーの右横にある「拡張機能」ボタンを押し「Resource Monitor for i-pro」を押してください。

...

(3) Select Mode から「Metadata Stream Receiver」を選択します。

...

...

(4) URI、カメラ ID、カメラ Password を設定し、Start をクリックするとメタデータを確認することができます。i-PROカメラアプリケーション開発環境の構築が完成していることを前提に説明します。
開発環境の構築が準備できていない場合、こちらを参考に完成させてください。

また、このチュートリアルではSDKのインストールディレクトリを${SDK_DIR}として記載します。

動作概要

...

skeleton_sample_appはアプリケーション開発のベースです。ビルドして実行しても、特筆するような機能はありません。
アプリケーションを新規作成する際は、skeleton_sample_appをフォルダ毎コピーして利用してください。

動作に必要な外部ライブラリ

...

特になし。

サンプルアプリのディレクトリパス

...

C/C++のソースコードは下記に格納されています。

${SDK_DIR}/src/adamapp/skeleton_sample_app

Pythonのソースコードはありません。

Info

Pythonのアプリケーション開発のベースとなるサンプルアプリは、jpeg_app を推奨します。

${SDK_DIR}/src/adamapp-py/jpeg_app

サンプルアプリのビルド方法(C/C++)

...

Info

ここでは、AdamAppとしてビルドする方法を記載しています。

Container AdamApp for Azure IoT Edgeとしてビルドする場合は下記を参照ください。

チュートリアル(Container AdamApp for Azure IoT Edge編) - Technology Partner - Confluence (atlassian.net)

SDKのインストールディレクトリでビルド用環境設定ファイルの読み込みを実施します。

Code Block
$ cd ${SDK_DIR}
$ source setup_env.sh ipro-ambaCV2X
Info

ビルド用環境設定は各環境に合わせて実施してください。
ここでは、ipro-ambaCV2X を指定します。

次にサンプルアプリのディレクトリに移動し、makeします。

Code Block
$ cd src/adamapp/skeleton_sample_app
$ make

${SDK_DIR}/src/adamapp/skeleton_sample_app に.extファイルが作成されていれば成功です。

カメラにインストールします(例:下記画像の緑枠からインストール可能)。作成した.extファイルを選択してインストールしてください。
アプリ画面を開きます(下記画像の赤枠ボタン)。

...

 

下記画像のような、文字列が表示されていれば成功です。

...

サンプルアプリの使用方法

...

アプリケーション開発のベースのため、特筆事項なし。

補足情報

...

・サンプルアプリについて

このサンプル アプリケーションには、システムに必要なイベント ハンドラーのみが含まれています。 システム イベント ループはメイン スレッドを使用します。

・イベントハンドラ

1. Stop Handler
stopApplication コマンドが要求されたときに呼び出されます。 このサンプル ハンドラーは、メイン イベント ループを終了するために ADAM_Eventloop_Exit() を呼び出します。

2. Server Request Receive Handler
sendDataToAdamApplication コマンドが要求されたときに呼び出されます。 このサンプル ハンドラーは次の値を返します。
 - 同じ m_type ( s_appDataType -> r_appDataType )
 - 大文字と小文字の入れ替え ( s_appData -> r_appData )

・メインプログラム

最低限の処理を行います。

1. ADAM_Open() : ADAM_APP_TYPE_SKELETON を選択

2. ADAM_Eventloop_Dispatch() : メイン イベント ループ

3. ADAM_Close() : アプリの終了