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 依存関係を調査し、すべてのターゲットライブラリをデバイス上のものと比較します |
次のステップ
- カメラ、オーディオ、推論の開発 — GStreamer によるカメラキャプチャ、ALSA オーディオ、および RTSP 出力の詳細
- AI コーディングエージェントで開発する — AI エージェントでモデル変換とネイティブビルドを自動化
- Visual Wake and Offline Speech Recognition — このページで使用した完全な作業例
技術サポートと製品ディスカッション
弊社製品をお選びいただきありがとうございます。製品をできるだけスムーズにご利用いただけるよう、さまざまなサポートを提供しています。お好みやニーズに応じて選べる複数のコミュニケーションチャネルをご用意しています。