...
Table of Contents | ||||
---|---|---|---|---|
|
1.はじめに
AdamApp は、定められた形式(AdamApp パッケージ形式)にパッケージングをして、インス トールする必要があります。このため、AdamAppSDK では、AdamApp のビルドと AdamApp パッケージ 作成を、容易に行える環境を提供します。
本章では、AdamApp のビルド、及び、AdamApp パッケージ形式の作成に必要な情報と手順について、 AdamAppSDK で提供するサンプルプログラム(SkeletonSampleApp)を用いて説明します。
また、このチュートリアルでは、SDKのインストールディレクトリを${SDK_DIR}
として記載します。
...
この章では、AdamApp を i-pro 上で実行(インストール、スタート、ストップ、アンインストールする など)する方法について説明します。
1.1.i-pro で AdamApps を実行する
...
この節では、AdamApp の実行方法について説明します。
1.1.1.
...
AdamApp パッケージ形式とは、カメラにインストールする際のパッケージ形式です。 具体的には、下記に示すディレクトリ構成で、かつ、これらを zip 化 + 暗号化したものです。
bin/
AdamApp 実行プログラムを格納するディレクトリ
config/
コンフィギュレーション情報を格納するディレクトリ
data/
AdamApp 用外部データファイルを格納するディレクトリ
external/
AdamApp で使う外部ソフトウェアを配置するディレクトリ
setup/
セットアップスクリプトファイルを格納するディレクトリ
上記のディレクトリに、AdamApp の実行プログラムや、コンフィギュレーション情報などの関連ファイ ルを配置します。それぞれのディレクトリの詳しい説明は、下記の通りです。
⚫ bin ディレクトリ: AdamApp 実行プログラムを格納するディレクトリ
bin ディレクトリは、AdamApp の実行プログラムを格納するディレクトリです。実行プログラ ム名は、任意の名前で構いません。 なお、AdamAppSDKを用いて、AdamAppをビルド、パッケージ化した場合には、このディレ クトリに、実行プログラムが自動的に配置されます。その際、実行プログラム名は、Makefile の PROG_NAME マクロで指定した名前となります。
⚫ config ディレクトリ: コンフィギュレーション情報を格納するディレクトリ
config ディレクトリは、AdamApp 用のコンフィギュレーション情報を格納するディレクトリで す。コンフィギュレーション情報は、applicense.bin と profile.binの 2つのファイルが必須です。 applicense.bin と profile.bin の 2 つのファイルは、adamapp_configurator というツールを用い て、コンフィギュレーションファイル(AdamAppSDK のサンプルでは、configuration.txt とい う名前で配置しています)から生成します。コンフィギュレーションファイルの記載方法につい ては、★1.4 を参照してください。 なお、 AdamAppSDK を用いて、 AdamApp をビルド、パッケージ化した場合には、 configuration.txt から applicense.bin と profile.bin を自動的に生成して、このディレクトリに配 置します。
⚫ data ディレクトリ: AdamApp 用外部データファイルを格納するディレクトリ
data ディレクトリは、AdamApp 用外部データファイルを配置できる唯一のディレクトリで す。 AdamApp 用外部データファイルを、インストール時に同時にコピーしたい場合には、そのフ ァイルをこの下に配置します。インストール時に、コピーしたい AdamApp 用外部データファイ ルがない場合は、このディレクトリは空にしておきます。
⚫ external ディレクトリ: AdamApp で使う外部ソフトウェアを配置するディレクトリ
AdamApp で利用する外部ソフトウェアのライブラリファイル(.a や.so ファイル)とヘッダファイル (.h .hpp .hxx ファイルなど)を、external ディレクトリ以下に配置してください。
⚫ setup ディレクトリ: セットアップスクリプトファイルを格納するディレクトリ
setup ディレクトリは、AdamApp のインストール時、アップデート時、アンインストール時に 実行させたいシェルスクリプトを格納します。記述できるシェルスクリプトは、Bourne Shell (実際には、Bourne Shell 互換シェルである ash を利用)スクリプトのみです。 シェルスクリプトは、下記の環境変数が渡されて実行されますので、シェルスクリプト内から これら環境変数を参照することができます。
ADAM_INSTALLID
AdamApp のインストール ID
ADAM_APP_DATA_DIR
AdamApp 用外部データファイルを格納するディレクトリのパス (= data ディレクトリのパス)
ADAM_APP_TMP_DIR
AdamApp の一時的なファイルを格納するディレクトリのパス
それぞれのシェルスクリプト名は、コンフィギュレーションファイルで指定します。 なお、シェルスクリプトを使うかどうかを、スクリプト毎に任意に設定可能です。使わない場 合は、コンフィギュレーションファイルに、シェルスクリプトのファイル名を記載しないでくだ さい。(その際、setup ディレクトリに、スクリプトファイルを配置しても問題は発生しません が、FlashROM の容量を無駄に消費することになりますので、配置しない方がよいです。)
➢ インストールスクリプト(任意)
AdamApp をインストールする際に実行されるシェルスクリプトです。AdamApp がインス トールされた直後に実行されます。
➢ アップデートスクリプト(任意)
AdamApp をアップデートする際に実行されるシェルスクリプトです。AdamApp がアップ デートされた直後に実行されます。
➢ アンインストールスクリプト(任意)
...
Adam 実行環境に関する配慮事項
Adam 実行環境を動作させる際、下記のことに配慮してください。
⚫ 配慮事項
市販されている i-PRO カメラでは、暗号化された AdamApp のみインストール可能です。しかし、AdamAppSDK では、暗号化された AdamApp の生成はできません。
i-PRO 株式会社に依頼して、AdamApp を暗号化した後、インストールを行ってください。開発ライセンス(4.2 節)を用いることで、暗号化されていない AdamApp を特定の i-PRO カメラへインストールすることが可能です。
1.1.2.Adam 実行環境のセットアップ方法
i-pro 上には、Adam 実行環境が既にインストールされているため、新規の設定は必要ありません。
1.1.3.Adam実行環境の起動方法
i-pro では、電源 on 時に、Adam 実行環境と、HTTP サーバが実行されます。このため、開始のために、新規の作業はありません。
1.1.4.AdamApps の操作方法: インストール、開始、停止、アンインストールなど
i-pro での AdamApp を操作する方法は、Adam Control Extension を用いる方法と、i-pro カメラの操作画面を利用する方法の 2 種類の方法があります。1.1.4.1 では、Adam Control Extension を用いる方法を説明し、1.1.4.2では、i-proの操作画面を利用する方法について説明します。
1.1.4.1.方法 1: Adam Control Extensionを使用する
この節では、Adam 実行環境が動いているマシンに対し、AdamApp の操作(インストール、スタート、ストップ、アンインストールなど)する手順について説明します。
(1) ブラウザを起動(Chrome 6.0 以降)
AdamApp の操作するための UI は、Chrome 用の拡張機能として用意されています。まず、Chromeブラウザを立ち上げてください。
(2) Adam Control Extension を起動
下記のように、Chrome 中のアドレスバーの右横にあるボタンを押し、Adam Control Extensionを選択してください。
...
(3) Adam実行環境と接続
...
Info |
---|
カメラにログインしている状態でなければカメラに接続できません。 事前にURLにカメラのIPアドレスを入力するなどして、カメラにログインした状態で 「Connect」ボタンを押してください。 |
(4) AdamAppをインストールする
インストールする AdamApp を選択します。
1.2.ターゲット依存マクロ
...
この節では、ターゲット依存マクロについて説明します。ターゲット依存マクロは、機種や OS などの違 いを示すもので、マクロ変数として定義され、ソースコード、ヘッダファイル、Makefileから利用すること ができます。開発者は、機種や OS などによって AdamApp の実装を変える必要がある場合、このマクロを 利用することで、作り分けることができます。
...