Versions Compared

Key

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

目次

...

Table of Contents
minLevel1
maxLevel4

概要

...

AdamAppSDK(i-PRO AIカメラ向けアプリケーション開発キット)はLinux環境で動作します。

AdamAppSDK動作要件

  • 開発用PC    :x86_64(amd64)のPC

  • 開発用PCのOS :Ubuntu Linux 16.04 LTS (64bit版)
             Ubuntu Linux 18.04 LTS (64bit版)

  • 開発用言語   :C/C++, Python

本チュートリアルでは、開発用PCのOSがwindowsであった場合を想定して、仮想化ソフトウェアVirtualBoxとUbuntuのインストール手順を解説します。

※開発用PCのOSがUbuntuである場合は、SDK開発環境を構築するための準備 から始めてください。

VirtualBoxをインストールする

...

インストーラをダウンロードする

WebサイトからVirtualBoxのインストーラをダウンロードします。

https://www.virtualbox.org/wiki/Downloads

チュートリアルでのインストール対象バージョン

  • VirtualBox 6.1.36 platform packages

...

「Windows hosts」をクリックすると、インストーラがダウンロードされます。

VirtualBoxをインストールする

ウィザードに従ってインストールを行います。

変更は必要ありません。

...

完了するとVirtual Boxが起動します。

...

Ubuntu環境を作成する

...

イメージファイルをダウンロードする

WebサイトからUbuntuのDesktopイメージファイルをダウンロードします。

http://releases.ubuntu.com/16.04/

http://releases.ubuntu.com/18.04/

チュートリアルでのインストール対象OS

  • Ubuntu 18.04.6 LTS

...

仮想マシンを作成する

VirturalBoxを起動し、「新規(N)」ボタンをクリックします。

...

仮想マシン名とOSタイプを選択します。

  • 仮想マシン名:任意

  • OSタイプ:Linux

  • バージョン:Ubuntu (64bit)

...

仮想マシン用のメモリを任意に割り当てます。推奨は1024MB以上です。

AIモデル変換ツールを使用する予定があれば、4096MB以上としてください。

...

仮想ハードディスクを作成します。

...

ハードディスクのファイルタイプは変更不要です。

...

仮想ハードディスクは、「可変サイズ」をお勧めします。

...

任意のサイズを設定します。

...

完了すると、仮想マシンが作成されます。

...

Ubuntuをインストールする

作成した仮想マシンにUbuntuをインストールします。

作成した仮想マシンを起動します。

...

起動したウィザードでフォルダマークをクリックします。

...

「追加」をクリックします。

...

ダウンロードしたイメージファイルを選択します。

...

「選択」をクリックします。

...

「起動」をクリックすると、インストールが始まります。

...

Ubuntuをセットアップする

Ubuntuの初期設定を行います。

言語を選択し、「Ubuntuをインストール」をクリックします。

...

キーボードレイアウトを選択して「続ける」をクリックします。

...

変更せずに「続ける」をクリックします。

...

変更せずに「インストール」をクリックします。

...

「続ける」をクリックします。

...

地域を選択して「続ける」をクリックします。

...

ログイン情報を設定して「続ける」をクリックします。

...

インストールが完了したらOSを再起動します。

...

再起動後Enterを入力し、起動できれば完了です。

...

外部と通信するためのネットワーク設定

VirtualBox の外部からネットワークアクセスを行うための設定を行います。なお、デフォルトで、NAT の設定がされていますので、その設定はそのままで利用してください。

VirtualBox を動作させている Windows PC と VirtualBox を通信させたい場合は、次の URL を参考にし て、Host only network の設定を行ってください。

http://christophermaier.name/blog/2010/09/01/host-only-networking-with-virtualbox

以上で仮想化ソフトウェアVirtualBoxとUbuntuの環境構築は完了です。

SDK開発環境を構築するための準備

...

ソフトウェアをダウンロードおよびインストールするための設定

各種ツール類を導入するために、Ubuntu のパッケージ管理システムである apt の設定を行います。

...

/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";

Info

# http://my.http-proxy.co.jp:PortNumber と http://my.https-proxy.co.jp:Port_N umber には環境に応じた設定をしてください。

...

Code Block
$ sudo apt-get update

ホストマシン用ツールをインストール

ホストマシン用ツール類のインストールを行います。具体的には、コンパイラやリンカ、アセンブラなど の開発用ツールチェーンや、各種ライブラリを導入します。 導入には、apt-get コマンドを用います。

...

64-bit システム上で 32-bit バイナリを実行するためのパッケージをインストールします。

Code Block
$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

...

Code Block
$ sudo apt-get install multiarch-support

各ターゲットに応じたモジュールのインストール

i-pro の ambaCV2X モデル向けの AdamApp を作成するには、クロスコンパイラとして AdamAppSDK_ DevTools_YYYYMMDD.zip(こちらから取得できます)に含まれている Ambarella_Toolchain_Linaro_2018.08 をインストールしてく ださい。ambaCV2X モデル以外の場合は適宜読み替えてください。

...

下記のように、このファイルを実行して、クロスコンパイラをインストールし てください。

Note

VirtualBox上の環境の場合、共有ディレクトリ上ではインストールに失敗する可能性がありますので、Ubuntu上のディレクトリにてインストールしてください。

Code Block
$ 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

Google Chrome ブラウザのインストール

下記の URL にアクセスをして、Google Chrome ブラウザをインストールしてください。Chrome のイン ストール先としては、Windows 上で、VirtualBox 中の Ubuntu 上でも、どちらでも構いません。

Google Chrome ブラウザ:

http://www.google.com/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 フォル ダを拡張機能ページ上にドラックアンドドロップをしてください。

...

リソースモニターの使い方はこちらを参照してください。

Info

./ubuntuToolChain-201808を実行したときにTOOLCHAIN PATH[/usr/local]: の入力を求められた場合、何も入力せずにエンターキーを押下します。その後、インストール先パスが自動生成されますのでYキーを入力してください。

AdamAppSDK のインストール方法

AdamAppSDK のインストール

iPRO_CAMERA_SDK_Vx_xx.zip(こちらから取得できます)を、開発用 PC の任意の場所で展開してください。(Vx_xx の部分は、 AdamAppSDK のバージョンに応じた数値が入ります。)

Code Block
$ cd <開発者が AdamAppSDK をインストールするディレクトリ>
$ unzip iPRO_CAMERA_SDK_Vx_xx.zip 
$ ls –CF 
iPRO_CAMERA_SDK_Vx_xx/
Note

必ずUbuntu内にSDKのzipファイルをコピーしてからzipファイルを展開してください。Windowsなど他OSで展開してからUbuntuに移動させると正常に動作しません。

これで、AdamAppSDK のインストールは完了です。

Note

VirtualBox上の環境の場合、共有ディレクトリ上ではシンボリックリンクの作成やコンパイルに失敗する可能性がありますので、Ubuntu上のディレクトリにインストールしてください。

開発ライセンスの取得

市販されている i-PRO カメラには、本来、暗号化された AdamApp のみインストール可能です。 開発ライセンスを組み込んだ SDK を用いることで、暗号化されていない AdamApp を、特定の MAC ア ドレスを持つ i-PRO カメラへインストールすることが可能です。

...

開発ライセンスが入手できたら、 <AdamAppSDK のインストールディレクトリ>/conf/development.key

として保存してください。

サンプルアプリをビルドする

サンプルアプリ「additional_info_sample_app」をビルドして、カメラにインストールすることで、SDK開発環境の構築が完了しているか確認します。

必要最低限の手順のみ記載しているので、詳細な開発方法はこちらを参照してください。

ソースファイルと Makefile を生成する

AdamAppSDK では、AdamApp のソースコードは、
<AdamAppSDK の イ ン ス ト ー ル デ ィ レ ク ト リ >/src/adamapp
以下に置くことを前提としています。

Info

Pythonのソースコードは、

<AdamAppSDK の イ ン ス ト ー ル デ ィ レ ク ト リ >のインストールディレクトリ>/src/adamapp-py

となります。このチュートリアルではC/C++を用いますので、Pythonを用いた開発方法は★こちら(準備中)★を参照してください。

...

となります。

その前提に従って、AdamAppSDK 付属のサンプルプログラム(additional_info_sample_app)のソースコード
は、
<AdamAppSDK の イ ン ス ト ー ル デ ィ レ ク ト リ >/src/adamapp/skeletonadditional_info_sample_app
に配置されています。
このため、新規に AdamApp を作りたい場合は、
<AdamAppSDK のインストールディレクトリ>/src/adamapp/<新規 AdamApp のディレクトリ名のディレクトリ名>

のディレクトリを作成し、その下にソースコード、及び、ヘッダファイル、Makefile を作成・配置する
ようにしてください。

Info

skeleton_sample_app ディレクトリをコピーして新規ディレクトリを作成することで、新規 AdamApp 作成に必要なファイル一式もコピーされます。新規 AdamApp を作る場合は、 skeleton_sample_app ディレクトリをコピーして利用することをお薦めします。
※Pythonの場合はjpeg_appディレクトリを利用することをお薦めします。

サンプルアプリをビルドする

ビルド用環境設定ファイルとして、setup_env.sh が用意されています。これを source コマンドを用い て読み込むことで、環境設定が完了します。その際、AdamApp を動作させる実行環境に応じて、引数 を指定する必要があります。

...

Code Block
$ 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 つのファイルが生成されます。

Code Block
$ cd <directory of installed AdamAppSDK>
$ cd src/adamapp/skeletonadditional_info_sample_app
$ make
Info

make時に下記のエラーが発生する場合があります。
make: execvp: <AdamAppSDK のインストールディレクトリ>/tool/adamapp_configurator: Permission denied

その際は下記のようにadamapp_configuratorの権限を設定し、再度makeしてください。

cd <AdamAppSDK のインストールディレクトリ>/tool
sudo chmod +x adamapp_configurator

サンプルアプリの動作確認

作成した「AdditionalInfoSampleApp.ext」をカメラにインストールして動作確認します。

...