SDKインストール(v1.80以降)
目次
はじめに
ここではDockerイメージを利用してiPRO Camera SDKアプリの開発環境を構築する手順を説明します。
また、このチュートリアルではSDKのインストールディレクトリを${SDK_DIR}
として記載します。
このチュートリアルはSDK ver.1.80以降のみ対応しています。SDK ver.1.80未満では利用できませんので注意ください。
事前準備
まず開発するOSを選択します。Linux OSとWindows OSのいずれかを選択してください。
SDK ver.1.80以降での開発はLinux OSのGUI環境のみサポート対象です。Windows OSやCUI環境での開発は問題が発生してもサポートできません。Linux OS導入までのお試し用でご利用ください。
Linux OS でのDocker環境の準備
ここでの手順は下記環境にて実施しています。
OS: Ubuntu 22.04.2 LTS (Jammy Jellyfish)
Docker Engineのバージョン: 23.0.1
プロキシ経由でインターネットに接続されている環境の場合、プロキシサーバーの設定を実施しておいてください。
Dockerをインストールする前に、古いバージョンのアンインストールを行います。
sudo apt-get remove docker docker-engine docker.io containerd runc
Dockerをインストールできるようにするためのアプリをインストールします。
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
Dockerの公式GPG鍵を追加します。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Dockerの安定版リポジトリをセットアップします。
Dockerエンジンをインストールします。
dockerコマンドはデフォルトではroot権限が必要なので、ユーザー権限でも実行できるように、dockerグループにユーザーを追加します。
docker daemonの再起動 またはうまく行かない場合はPC再起動してください。
docker.sockにグループでの書き込み権限を付与します。
Dockerが使えるかどうかのテストを行います。
以下のように表示されればインストール成功です。
成功しなかった場合、下記で成功するか確認してください。
ここでPCを再起動します。(必ず再起動を実施してください。)
次に、Ubuntu内にSDKのzipファイルをコピーします。こちらからSDKを取得してください。
home/[ユーザー名] など任意の場所に[SDKのZIPファイル]をコピーします。
Ubuntuのウィンドウでunzipをインストールします。
これでLinux OS でのDocker環境の準備は完了です。「ビルド環境の準備」に進んでください。
Windows OS でのDocker環境の準備(Windows + Docker Desktop)
Docker Desktopを利用する場合、利用する会社の従業員数や年間収入によっては有料になる可能性があります。正確な情報はDocker の入手 — Docker-docs-ja 24.0 ドキュメントを参照ください。
利用する場合は、下記などを参照してください。
参考公式ドキュメント: Windows に Docker Desktop をインストール — Docker-docs-ja 24.0 ドキュメント
Windows OS でのDocker環境の準備(Windows + WSL + Docker Engine)
WSLをインストールします。WSLの動作要件は、Windows 10 バージョン 2004 以上 (ビルド 19041 以上) または Windows 11 です。詳細はこちらを参照ください。
Powershellを起動し、WSLをインストールします。
Ubuntu 20.04LTSをインストールします。
インストールが終わるとUbuntuのウィンドウが表示されますので、ユーザー名とパスワードを設定します。ここではユーザー名: ipro、パスワード iPRO12345 とします。
下記サイトの記載に従ってDocker Engineをインストールします。この際、「Docker Engineのインストール」章までを実施してください。(それ以降は動作しません)
Docker Engine インストール(Ubuntu 向け) | Docker ドキュメント (matsuand.github.io)
dockerコマンドはデフォルトではroot権限が必要なので、ユーザー権限でも実行できるように、dockerグループにユーザーを追加します。
以下のコマンドでdockerを起動させます。
動作確認のために以下のコマンドを実行します。実行しているPCがインターネットに接続できる必要があります。
以下のように結果が表示されたらOKです。
Ubuntu起動時に自動的にdockerを起動させるためには以下の設定を行います。 エディタはお好みのもので問題ありません。
末尾に以下の行を追加します。
WSL経由でUbuntuを起動している場合、イメージの再起動でqemuの関連付けが消えてしまう現象を確認しています。下の2行はその暫定対応となります。
この設定を行うとWSLでUbuntuを起動したときにパスワードの入力を求められます。
Ubuntu内にSDKのzipファイルをコピーします。こちらからSDKを取得してください。
Windowsのエクスプローラを開き、左側のツリーからLinux → Ubuntu-20.04をクリックします。
home/[ユーザー名] など任意の場所に[SDKのZIPファイル]をコピーします。
Ubuntuのウィンドウでunzipをインストールします。
これでWindows OS でのDocker環境の準備は完了です。「ビルド環境の準備」に進んでください。
ビルド環境の準備
Dockerをインストールした後は、アプリをビルドするための環境を用意します。GUI環境の場合はVisual Studio Codeを使用します。
Windowsの場合、下記などからダウンロードしてください。
Visual Studio Code - Code Editing. Redefined
Linuxの場合、下記コマンドなどでダウンロードしてください。
.devcontainer拡張機能のダウングレードは下記から実施可能です。
続いてVisual Studio Code Dev Containers拡張機能をインストールします。まずVisual Studio Codeを起動します。Linuxの場合は端末でcodeと入力すると起動できます。左のメニューからextentionsを選び、検索ウィンドウに「Dev Containers」と入力します。
リストに表示される Dev Containersを選択してInstallボタンを押下します。
参考情報:Developing inside a Container using Visual Studio Code Remote Development のGetting startedを参照ください。
拡張アプリのビルド方法
SDKファイルを展開します。
既にSDKのzipファイルを任意のフォルダに配置していると思いますので、任意のフォルダに展開します。
開発者ライセンス(development.key)をSDK/confフォルダに配置しておいてください。
展開されたディレクトリに移動します。
GUI 環境でVisual Studio Code を使う
${SDK_DIR}
にてVisual Studio Codeを起動します。
画面左下の><マークをクリックするとコマンドパレットが開きますので、「Reopen in Container」を選択します。
.devcontainer/Dockerfileに従ってDockerイメージのビルドが始まります。右下の「Starting Dev container (Show logs)」をクリックすると進捗状況が確認できます。
画面左下の><マークの右が「Dev Container: iPRO Camera SDK」と表示されたら準備完了です。
右下の「ターミナル」タブを開きます。右側に「bash」と表示されていることを確認ください。
もしbashが表示されていない場合はDev Containersと記載のある部分の右側の”+”を押し、bashを選択してください。
makeする前に環境設定を行います。
ambaCV2Xの拡張アプリをビルドしたい場合
ambaCV5Xの拡張アプリをビルドしたい場合
これでアプリをビルドすることが出来ます。例としてC/C++のskeleton_sample_appをビルドしたい場合は、下記の通り対象のディレクトリに移動しmakeを実行します。
ambaCV2XおよびambaCV5Xの拡張アプリを1ファイルにまとめてビルドする
詳細はこちらを参照ください。
動作確認
作成した.extファイルのアプリをカメラにインストールして動作確認します。
ここでは下記のようにWebブラウザからカメラにアクセスし、インストールを試します。