Pular para o conteúdo principal

SDK e Aplicativo Mínimo

Esta página explica como preparar um ambiente host para compilar aplicativos nativos da reCamera Pro e como funciona um ciclo completo de compilação e implantação. As etapas são demonstradas com o projeto Visual Wake and Offline Speech Recognition, um aplicativo real de RKNN + GStreamer que roda inteiramente no dispositivo.

Para o contrato geral de desenvolvimento (versões de toolchain, formatos de modelo, linguagens), consulte Choose a Development Path. Se você preferir que um agente de codificação com IA conduza esse fluxo de trabalho, consulte Develop with AI Coding Agents.

Pré-requisitos​

  • Uma reCamera Pro (RV1126B, aarch64) acessível via Ethernet virtual USB (padrão 192.168.42.1) ou LAN
  • Um computador Linux, ou um computador Windows com WSL, para conversão de modelos e cross-compilação
  • Um SDK da reCamera Pro funcional no host
  • RKNN-Toolkit2 2.3.2 e RKNN Runtime 2.3.2 — não misture versões arbitrárias de RKNN Runtime

Configurar o Caminho do SDK​

Scripts de compilação em projetos da reCamera Pro normalmente localizam o SDK por meio de uma variável de ambiente. Para o projeto Visual Wake, scripts/build_recamera.sh procura o SDK em um caminho local padrão; aponte-o para o seu próprio checkout do SDK em vez disso:

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

O script de compilação também valida librknnrt.so. Se o seu SDK ou runtime o armazenar em outro lugar, atualize o caminho qualified_rknnrt no script para um runtime RKNN 2.3.2 verificado, mantendo a etapa de validação de checksum.

Obter um Projeto e Fazer a Cross-Compilação​

Clone o repositório do projeto e execute seu script de cross-build a partir da raiz do projeto:

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

O script valida o SDK, carrega seu ambiente de compilação e produz um pacote de implantação:

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

Um aplicativo mínimo próprio segue o mesmo formato: um executável aarch64, seus arquivos de modelo RKNN e quaisquer recursos web ou de configuração, todos organizados em um único diretório.

Implantar no Dispositivo​

Copie o conteúdo do diretório de implantação para um único diretório no dispositivo, depois conecte via SSH e torne o binário executável:

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

Mantenha os diretórios models/ e web/ em seus caminhos relativos. O aplicativo carrega seus recursos usando esses caminhos relativos padrão.

Executar e Verificar​

Execute o aplicativo a partir de seu diretório de implantação:

./visual_wake_app

Durante a operação normal, eventos acionáveis aparecem no terminal:

VISUAL_WAKE track=1
STT_RESULT 打开灯

Use --help para listar todas as opções de runtime. Por exemplo, este comando verifica apenas o pipeline visual e desativa os serviços de rede:

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

Uma implantação bem-sucedida significa: o binário inicia no dispositivo, carrega seus modelos RKNN, abre a câmera e imprime eventos reconhecíveis ou saída de inferência.

Problemas Comuns de Ambiente​

ProblemaPossível causaSolução
A compilação não encontra OpenCV ou RKNNO ambiente do SDK está ausente ou o runtime é incompatívelVerifique RECAMERA_PRO_SDK, carregue o env.sh do SDK e use RKNN 2.3.2
Os arquivos de modelo não podem ser encontrados em tempo de execuçãoO layout de implantação não foi preservadoConfirme que models/ e web/ existem no diretório de execução
O executável é x86-64O compilador do host foi usado em vez do compilador cruzado aarch64Recompile com um compilador compatível com o alvo e o sysroot da reCamera Pro
O binário não consegue carregar uma bibliotecaSysroot, ABI ou caminho de busca do runtime não correspondem à placaInspecione as dependências ELF e compare cada biblioteca de destino com o dispositivo

Próximas Etapas​

Suporte Técnico e Discussão de Produto​

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diversos tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...