Versions Compared

Key

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

...

Table of contents

...

Table of Contents
minLevel1
maxLevel4

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

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

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

Proxy 経由でネットワーク接続されている場合、Proxy の設定を行います。(必要な環境のみ実施してください)

Overview

...

AdamAppSDK (Application Development Kit for i-PRO AI Camera) works in Linux environment.

AdamAppSDK operating requirements

  • For development PC :x86_64(amd64)

  • For development OS :Ubuntu Linux 16.04 LTS (64bit版)
    Ubuntu Linux 18.04 LTS (64bit版)

  • development language :C/C++, Python

In this tutorial, assuming that the OS of the development PC is windows, explain the installation procedure of VirtualBox and Ubuntu.

If the OS of the development PC is Ubuntu, start by establishing the Preparation-for-establishing-the-SDK-development-environment.

Install VirtualBox

...

Download the installer

Download the VirtualBox installer from the website.

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

Versions to be installed in the tutorial.

  • VirtualBox 6.1.36 platform packages

...

Click "Windows hosts" to download the installer.

Install VirtualBox

Follow the wizard to install.

No changes are required.

...

Once done, Virtual Box will start.

...

Establish Ubuntu environment

...

Download image file

Download the Ubuntu Desktop image file from the website.

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

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

Installation target OS in the tutorial

  • Ubuntu 18.04.6 LTS

...

Create a virtual machine

Start VirtualBox and click the "New (N)" button.

...

Select the virtual machine name and OS type.

  • Virtual machine name : Optional

  • OS type : Linux

  • Version : Ubuntu (64bit)

...

Arbitrarily allocate memory for the virtual machine. Recommended is 1024MB or more.

If you plan to use the AI model conversion tool, please make it at least 4096MB.

...

Create a virtual hard disk.

...

The hard disk file type does not need to be changed.

...

We recommend "Variable size" for the virtual hard disk.

...

Set arbitrary size.

...

Once complete, your virtual machine will be created.

...

Install Ubuntu

Install Ubuntu on the created virtual machine.

Start the created virtual machine.

...

Click the folder mark in the wizard that starts.

...

Click Add.

...

Select the image file you downloaded.

...

Click Select.

...

Click "Launch" to start the installation.

...

Set up Ubuntu

Configure Ubuntu.

Select your language and click Install Ubuntu.

...

Select your keyboard layout and click Continue.

...

Click Continue without making any changes.

...

Click Install without making any changes.

...

Click Continue.

...

Select your region and click Continue.

...

Set your login information and click Continue.

...

After the installation is complete, reboot the OS.

...

Type Enter and if it boots, you're done.

...

Network settings for communicating with the outside world

Configure settings for network access from outside VirtualBox. By default, NAT is set, so please use the setting as it is.

If you want VirtualBox to communicate with the Windows PC running VirtualBox, refer to the following URL and set Host only network.

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

This completes the environment construction of the virtualization software VirtualBox and Ubuntu.

Please continue establishing the SDK environment.

Preparation for establishing the SDK development environment

...

Settings for downloading and installing software

Set up a package management system ‘apt’ in Ubuntu in order to download and install software tools.

Adjust setting if network is connected to Internet via Proxy.(only in the necessary environment)

Edit /etc/apt/apt.conf を以下のように変更します。as follows

Acquire::http::proxy "http://my.http-proxy.co.jp:Port_Number";

Acquire::https::proxy "http://my.https-proxy.co.jp:Port_Number";

Info

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

...

jpd epending on your environment.

Update apt package index.

Code Block
$ sudo apt-get update

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

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

Installing tools for host machine

Install tools for the host machine including a toolchain such as compiler, linker or assembler along with the libraries etc. Use apt-get command for the installation.

Install g++ toolchain をインストールします。.

Code Block
$ sudo apt-get install g++

Install g++-multilib をインストールします。.

Code Block
$ sudo apt-get install g++-multilib

Install libjpeg パッケージをインストールします。package.

Code Block
$ sudo apt-get install libjpeg-turbo8-dev

もう一度、gInstall g++-multilib をインストールします。again.

Code Block
$ sudo apt-get install g++-multilib

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

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

失敗した場合、下記コマンドも実行してください。If fails, do also.

Code Block
$ sudo apt-get install multiarch-support

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

...

About i-pro camera SoC

The i-pro camera uses SoC provided by ambarella. Hereafter, ambarella's CV2X (generic term for chip types such as CV2, CV22, CV25, etc.) SoC will be abbreviated as ambaCV2X. There are SoCs such as CV52 with higher performance, in which case it is called ambaCV5X. Please see below for compatibility between the camera and the SoC used.
Installation conditions for applications - Technology Partner FAQ (En) - Confluence (atlassian.net)

Installing modules in accordance with each target

Install Ambarella_Toolchain_Linaro_2018.08 をインストールしてく ださい。ambaCV2X モデル以外の場合は適宜読み替えてください。 コンパイラは、 included in AdamAppSDK_DevTools_YYYYMMDD.zip(get here) as a cross compiler to build AdamApps for i-pro ambaCV2X models.

The compiler is located in the following location in AdamAppSDK_DevTool and is Ubuntu 64bit version only.

AdamAppSDK_DevTools_YYYYMMDD/toolchain/Ambarella_Toolchain_Linaro_2018.08 にあります。なお、コンパイラは、Ubuntu 64bit 版のみです。下記のように、このファイルを実行して、クロスコンパイラをインストールし てください。

Execute the file as follows to install the cross compiler.

Note

In the environment on VirtualBox, installation may fail on shared directories. Please install in the directory on 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 フォル ダを拡張機能ページ上にドラックアンドドロップをしてください。

...

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

AdamAppSDK のインストール方法

AdamAppSDK のインストール

Info

If you are prompted for TOOLCHAIN PATH[/usr/local]: when you run ./ubuntuToolChain-201808, just press enter without typing anything. After that, the installation path will be automatically generated, so enter the Y key.

How to install AdamAppSDK

Installing AdamAppSDK

Unzip iPRO_CAMERA_SDK_Vx_xx.zip(こちらから取得できます)を、開発用 PC の任意の場所で展開してください。(Vx_xx の部分は、 AdamAppSDK のバージョンに応じた数値が入ります。)get here) in any directory on your Development PC as indicated below. (iPRO_CAMERA_SDK file name’s Vx_xx is a value of the AdamAppSDK version).

Code Block
$ cd <開発者が AdamAppSDK をインストールするディレクトリ> <The directory in which a developer is going to install AdamAppSDK>
$ unzip iPRO_CAMERA_SDK_Vx_xx.zip 
$ ls –CF 
iPRO_CAMERA_SDK_Vx_xx/

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

開発ライセンスの取得

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

こちらを参考にし、i-PRO 株式会社から開発ライセンスを入手してください。

...

Note

Be sure to copy the SDK zip file into Ubuntu before extracting the zip file. If you extract it on another OS such as Windows and then move it to Ubuntu, it will not work properly.

The installation is completed.

Note

In the environment on VirtualBox, creation of symbolic links and compilation may fail on shared directories. Install it in a directory on Ubuntu.

Getting the Development License

In principle, only encrypted AdamApp can be installed into i-PRO cameras sold in general. A development license is embedded in SDK so that AdamApp that has not been encrypted can be installed into i-PRO camera with specified MAC address. Please obtain a development license file from i-PRO Co., Ltd. then save the file as shown below.

<AdamAppSDK’s Installation Directry>/conf/development.key

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

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

...

Build the sample app

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

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

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

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

...

Pythonのソースコードは、

...

app" and install it on the camera. If sample application works, the construction of the SDK development environment is completed.

Only the minimum necessary steps are described. Please see here for details on how to develop.

Generate and place source files

Source files of the AdamApp must be placed in the following directory.

<AdamAppSDK installation directory>/src/adamapp

Info

The Python source code should be placed below.

<AdamAppSDK installation directory>/src/adamapp-py

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

apt のパッケージ情報を更新します。
その前提に従って、AdamAppSDK 付属のサンプルプログラム(Thus, source codes of the sample program (SkeltonSampleApp) should be placed in the following directory.
<AdamAppSDK installation directory>/src/adamapp/additional_info_sample_app)のソースコード
は、
<AdamAppSDK の イ ン ス ト ー ル デ ィ レ ク ト リ >

When you generate new AdamApp, also generate the following directory and place the source files, header files and Makefile in there.
<AdamAppSDK installation directory>/src/adamapp/skeleton<directory name of the new AdamApp>

It’s recommended that you copy and modify 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 を作成する場合]directory to generate new application for ease.

Info

By copying the skeleton_sample_app directory and creating a new directory, the set of files necessary to create a new AdamApp will also be copied. It’s recommended that you copy and modify skeleton_sample_app directory to generate new application for ease.
*For Python, we recommend using the jpeg_app directory.

Build the sample app

setup_env.sh is provided as a setup file for the building environment. You can set up building
environment by reading setup_env.sh using ‘source’ command with parameter depending on execution
environment of AdamApp.

Addressable parameters are as follows:
When creating an AdamApp that runs on i-pro ambaCV2X model ipro-ambaCV2X

*When creating an AdamApp that runs on i-pro ambaCV2X model

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 のビルド&パッケージの作成)

...

Execute make (build and generate package of AdamApp)

You will need to execute make to build and generate an AdamApp package. AdamApp package will be build and generated automatically. When it is successful, the following three files are generated within skelton_sample_app ディレクトリ直下に、directory.
AdditionalInfoSampleApp :additional: The execution program of additional_info_sample_app の実行プログラム
AdditionalInfoSampleApp.zip :additional:The package of additional_info_sample_app のパッケージ
AdditionalInfoSampleApp.ext :additional_info_sample_app.zip を Base64 化したもの
の 3 つのファイルが生成されます。:Encoded file by BASE64

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

...

Info

The following error may occur during make

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

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

ここでは下記のようにWebブラウザからカメラにアクセスし、インストールを試します。

...

画像の緑枠からインストールします。ファイルの選択ボタンを押下し作成した

「AdditionalInfoSampleApp.ext」を選択し、インストールを実行します。

インストールが完了したら、画像の赤枠ボタンを押下しサンプルアプリの動作を確認します。

.
make: execvp: <AdamAppSDK installation directory>/tool/adamapp_configurator: Permission denied

In that case, please set the permissions of adamapp_configurator as shown below and make again.
cd <AdamAppSDK installation directory>/tool
sudo chmod +x adamapp_configurator

Operation check of the sample application

Install the created "AdditionalInfoSampleApp.ext" to the camera and check the operation.

Here, access the camera from the web browser as shown below and try the installation.

...

Install from the green frame of the image. Press the file selection button, select the created "AdditionalInfoSampleApp.ext", and execute the installation.

When the installation is complete, press the red frame button in the image and check the operation of the sample application.

If the string similar to following is displayed on the application screen, the establish of the development environment is successful.

Code Block
{"r_appDataType":"0","r_appData":"e3tMYW5ndWFnZTowfX0="}

...