目次
SDK開発環境を構築するための準備
ソフトウェアをダウンロードおよびインストールするための設定
各種ツール類を導入するために、Ubuntu のパッケージ管理システムである apt の設定を行います。
Proxy 経由でネットワーク接続されている場合、Proxy の設定を行います。(必要な環境のみ実施してください)
/etc/apt/apt.conf を以下のように変更します。
Acquire::http::proxy "http://my.http-proxy.co.jp:Port_Number";
Acquire::https::proxy "http://my.https-proxy.co.jp:Port_Number";
# http://my.http-proxy.co.jp:PortNumber と http://my.https-proxy.co.jp:Port_N umber には環境に応じた設定をしてください。
apt のパッケージ情報を更新します。
$ sudo apt-get update
ホストマシン用ツールをインストール
ホストマシン用ツール類のインストールを行います。具体的には、コンパイラやリンカ、アセンブラなど の開発用ツールチェーンや、各種ライブラリを導入します。 導入には、apt-get コマンドを用います。
g++ toolchain をインストールします。
$ sudo apt-get install g++
g++-multilib をインストールします。
$ sudo apt-get install g++-multilib
libjpeg パッケージをインストールします。
$ sudo apt-get install libjpeg-turbo8-dev
もう一度、g++-multilib をインストールします。
$ sudo apt-get install g++-multilib
64-bit システム上で 32-bit バイナリを実行するためのパッケージをインストールします。
$ sudo dpkg –-add-architecture i386 $ sudo apt-get update $ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
失敗した場合、下記コマンドも実行してください。
$ sudo apt-get install multiarch-support
各ターゲットに応じたモジュールのインストール
i-pro の ambaCV2X モデル向けの AdamApp を作成するには、クロスコンパイラとして AdamAppSDK_ DevTools_YYYYMMDD.zip(こちらから取得できます)に含まれている Ambarella_Toolchain_Linaro_2018.08 をインストールしてく ださい。ambaCV2X モデル以外の場合は適宜読み替えてください。
コンパイラは、 AdamAppSDK_DevTools_YYYYMMDD/toolchain/Ambarella_Toolchain_Linaro_2018.08 にあります。なお、コンパイラは、Ubuntu 64bit 版のみです。
下記のように、このファイルを実行して、クロスコンパイラをインストールし てください。
$ sudo apt-get install python3 $ tar xvf Ambarella_Toolchain_Linaro_2018.08.tar.xz $ cd Ambarella_Toolchain_Linaro_2018.08 $ sudo chmod +x ubuntuToolChain-201808 $ ./ubuntuToolChain-201808
VirtualBox上の環境の場合、共有ディレクトリ上ではインストールに失敗する可能性がありますので、Ubuntu上のディレクトリにてインストールしてください。
Google Chrome ブラウザのインストール
下記の URL にアクセスをして、Google Chrome ブラウザをインストールしてください。Chrome のイン ストール先としては、Windows 上で、VirtualBox 中の Ubuntu 上でも、どちらでも構いません。
Google Chrome ブラウザ:
Adam Operation UI を Chrome にインストール
次に、Adam Operation UI の Google Chrome 用 Extension をインストールします。
Chrome の「メニューボタン→その他のツール→拡張機能」を選択して、拡張機能ページを表示してください。
ファイルマネージャで、<iPRO_CAMERA_SDK_Vx_xxx>/toolを開き、AdamControlExtensionフォル ダを拡張機能ページ上にドラックアンドドロップをしてください。
インストールできない場合は、拡張機能ページの「デベロッパーモード」を有効にしてください。
リソースモニター拡張機能をChromeにインストール
リソースモニターをインストールしてください。インストール方法は Adam Operation UI の Google Chrome 用 Extension と同じです。
ファイルマネージャで、<iPRO_CAMERA_SDK_Vx_xxx>/toolを開き、ResourceMonitorExtension フォル ダを拡張機能ページ上にドラックアンドドロップをしてください。
リソースモニターの使い方はこちらを参照してください。
AdamAppSDK のインストール方法
AdamAppSDK のインストール
iPRO_CAMERA_SDK_Vx_xx.zip(こちらから取得できます)を、開発用 PC の任意の場所で展開してください。(Vx_xx の部分は、 AdamAppSDK のバージョンに応じた数値が入ります。)
$ cd <開発者が AdamAppSDK をインストールするディレクトリ> $ unzip iPRO_CAMERA_SDK_Vx_xx.zip $ ls –CF iPRO_CAMERA_SDK_Vx_xx/
これで、AdamAppSDK のインストールは完了です。
VirtualBox上の環境の場合、共有ディレクトリ上ではシンボリックリンクの作成やコンパイルに失敗する可能性がありますので、Ubuntu上のディレクトリにインストールしてください。
開発ライセンスの取得
市販されている i-PRO カメラには、本来、暗号化された AdamApp のみインストール可能です。 開発ライセンスを組み込んだ SDK を用いることで、暗号化されていない AdamApp を、特定の MAC ア ドレスを持つ i-PRO カメラへインストールすることが可能です。
こちらを参考にし、i-PRO 株式会社から開発ライセンスを入手してください。
開発ライセンスが入手できたら、 <AdamAppSDK のインストールディレクトリ>/conf/development.key
として保存してください。
サンプルアプリをビルドする
サンプルアプリ「additional_info_sample_app」をビルドして、カメラにインストールすることで、SDK開発環境の構築が完了しているか確認します。
必要最低限の手順のみ記載しているので、詳細な開発方法はこちらを参照してください。
ソースファイルと Makefile を生成する
AdamAppSDK では、AdamApp のソースコードは、
<AdamAppSDK の イ ン ス ト ー ル デ ィ レ ク ト リ >/src/adamapp
以下に置くことを前提としています。
Pythonのソースコードは、
<AdamAppSDK の イ ン ス ト ー ル デ ィ レ ク ト リ >/src/adamapp-py
となります。このチュートリアルではC/C++を用いますので、Pythonを用いた開発方法は★こちら(準備中)★を参照してください。
その前提に従って、AdamAppSDK 付属のサンプルプログラム(additional_info_sample_app)のソースコード
は、
<AdamAppSDK の イ ン ス ト ー ル デ ィ レ ク ト リ >/src/adamapp/additional_info_sample_app
に配置されています。
このため、新規に AdamApp を作りたい場合は、
<AdamAppSDK のインストールディレクトリ>/src/adamapp/<新規 AdamApp のディレクトリ名>
のディレクトリを作成し、その下にソースコード、及び、ヘッダファイル、Makefile を作成・配置する
ようにしてください。
サンプルアプリをビルドする
ビルド用環境設定ファイルとして、setup_env.sh が用意されています。これを source コマンドを用い て読み込むことで、環境設定が完了します。その際、AdamApp を動作させる実行環境に応じて、引数 を指定する必要があります。
指定できる引数は下記の通りです。
i-pro ambaCV2X 用の AdamApp を作成する場合 ipro-ambaCV2X
下記に、それぞれの場合の詳細な手順を示します。
※[実機環境(i-pro ambaCV2X モデル)実行用の AdamApp を作成する場合]
$ cd <directory of installed AdamAppSDK> $ source setup_env.sh ipro-ambaCV2X ***** /usr/local/linaro-aarch64-2018.08-gcc8.2/bin/aarch64-linux-gnu-gcc found. ***** PF_BASEDIR = /home/user/adamappsdk BUILD_TARGET = ipro-ambaCV2X TARGET_FOR_ADAM = ambaCV2X TARGET_ARCH = aarch64-linux-gnu VERBOSE = 0 PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
make の実行(AdamApp のビルド&パッケージの作成)
続いて、AdamApp(追加アプリ)のビルドとパッケージ作成を行うために、make を実行します。
make を実行すると、ビルドとパッケージの作成を一気に行います。
make が成功した場合には、additional_info_sample_app ディレクトリ直下に、
AdditionalInfoSampleApp :additional_info_sample_app の実行プログラム
AdditionalInfoSampleApp.zip :additional_info_sample_app のパッケージ
AdditionalInfoSampleApp.ext :additional_info_sample_app.zip を Base64 化したもの
の 3 つのファイルが生成されます。
$ cd <directory of installed AdamAppSDK> $ cd src/adamapp/additional_info_sample_app $ make
サンプルアプリの動作確認
作成した「AdditionalInfoSampleApp.ext」をカメラにインストールして動作確認します。
ここでは下記のようにWebブラウザからカメラにアクセスし、インストールを試します。
画像の緑枠からインストールします。ファイルの選択ボタンを押下し作成した
「AdditionalInfoSampleApp.ext」を選択し、インストールを実行します。
インストールが完了したら、画像の赤枠ボタンを押下しサンプルアプリの動作を確認します。
アプリ画面に以下の文字列が表示されていれば開発環境の構築は成功です。
{"r_appDataType":"0","r_appData":"e3tMYW5ndWFnZTowfX0="}