メインコンテンツまでスキップ

SDK と最小アプリケーション

このページでは、ネイティブな reCamera Pro アプリケーションをビルドするためのホスト環境の準備方法と、完全なビルドおよびデプロイサイクルがどのように動作するかを説明します。手順は、実際にデバイス上で完結して動作する RKNN + GStreamer アプリケーションである Visual Wake and Offline Speech Recognition プロジェクトを用いて示します。

一般的な開発契約(ツールチェーンのバージョン、モデル形式、言語)については、開発パスを選択するを参照してください。このワークフローを AI コーディングエージェントに任せたい場合は、AI コーディングエージェントで開発するを参照してください。

前提条件​

  • USB 仮想イーサネット(デフォルト 192.168.42.1)または LAN 経由で到達可能な reCamera Pro(RV1126B, aarch64)
  • モデル変換とクロスコンパイル用の Linux コンピュータ、または WSL を備えた Windows コンピュータ
  • ホスト上で動作する reCamera Pro SDK
  • RKNN-Toolkit2 2.3.2 および RKNN Runtime 2.3.2 — 任意の RKNN Runtime バージョンを混在させないでください

SDK パスを設定する​

reCamera Pro プロジェクトのビルドスクリプトは、通常、環境変数を通じて SDK を見つけます。Visual Wake プロジェクトでは、scripts/build_recamera.sh が SDK をデフォルトのローカルパスで探しますが、代わりに自分の SDK チェックアウト先を指すようにします:

export RECAMERA_PRO_SDK=/absolute/path/to/recamera-pro-sdk

ビルドスクリプトは librknnrt.so も検証します。SDK やランタイムがそれを別の場所に保存している場合は、チェックサム検証ステップを維持したまま、スクリプト内の qualified_rknnrt パスを検証済みの RKNN 2.3.2 ランタイムに更新してください。

プロジェクトを取得してクロスコンパイルする​

プロジェクトリポジトリをクローンし、プロジェクトルートからクロスビルドスクリプトを実行します:

git clone https://github.com/yyling0101-a11y/recamera_pro_face_stt.git
cd recamera_pro_face_stt
bash scripts/build_recamera.sh

このスクリプトは SDK を検証し、そのビルド環境を読み込み、デプロイメントバンドルを生成します:

build-recamera/deploy/
├── visual_wake_app
├── models/
│ ├── scrfd_500m_640_fp16.rknn
│ ├── pfld_98_112_fp16.rknn
│ └── stt/ # encoder, decoder, joiner, and vocabulary
└── web/dashboard.html

自作の最小アプリケーションも同じ構成になります:aarch64 実行ファイル、RKNN モデルファイル、および任意の Web または設定アセットを 1 つのディレクトリ内に配置します。

デバイスへのデプロイ​

デプロイメントディレクトリの中身をデバイス上の 1 つのディレクトリにコピーし、SSH で接続してバイナリに実行権限を付与します:

scp -r build-recamera/deploy/* [email protected]:/userdata/visual-wake/
ssh [email protected]
cd /userdata/visual-wake
chmod +x visual_wake_app
ヒント

models/ と web/ ディレクトリの相対パスは維持してください。アプリケーションは、それらのデフォルトの相対パスを使ってアセットを読み込みます。

実行と検証​

デプロイメントディレクトリからアプリケーションを実行します:

./visual_wake_app

通常の動作中、実行可能なイベントがターミナルに表示されます:

VISUAL_WAKE track=1
STT_RESULT 打开灯

--help を使用すると、すべてのランタイムオプションを一覧表示できます。たとえば、次のコマンドはビジュアルパイプラインのみを検証し、ネットワークサービスを無効にします:

./visual_wake_app --no-stt --no-rtsp --no-web --debug

デプロイが成功したとみなせるのは、バイナリがデバイス上で起動し、RKNN モデルを読み込み、カメラを開き、認識可能なイベントまたは推論結果を出力する場合です。

よくある環境の問題​

問題想定される原因解決策
ビルド時に OpenCV または RKNN が見つからないSDK 環境が読み込まれていない、またはランタイムが非互換RECAMERA_PRO_SDK を確認し、SDK の env.sh を読み込み、RKNN 2.3.2 を使用します
実行時にモデルファイルが見つからないデプロイ時のレイアウトが保持されていない実行ディレクトリ内に models/ と web/ が存在することを確認します
実行ファイルが x86-64 であるaarch64 クロスコンパイラではなくホストコンパイラが使用された対象に互換性のあるコンパイラと reCamera Pro sysroot を用いて再ビルドします
バイナリがライブラリを読み込めないsysroot、ABI、またはランタイムの検索パスがボードと一致していないELF 依存関係を調査し、すべてのターゲットライブラリをデバイス上のものと比較します

次のステップ​

技術サポートと製品ディスカッション​

弊社製品をお選びいただきありがとうございます。製品をできるだけスムーズにご利用いただけるよう、さまざまなサポートを提供しています。お好みやニーズに応じて選べる複数のコミュニケーションチャネルをご用意しています。

Loading Comments...