Pular para o conteúdo principal

Demo de Interação por Voz com IA Baseado em reCamera

Introdução

Este projeto demonstra uma forma de interagir com a reCamera por meio de linguagem natural. Após o raciocínio visual acionar a gravação de áudio, a reCamera envia a gravação para o servidor, processa-a por todo o pipeline STT (Speech-to-Text) → LLM (Large Language Model Reasoning) → TTS (Text-to-Speech), e a voz sintetizada é retornada à reCamera para reprodução, permitindo conversas em linguagem natural.

Você já quis uma câmera que não apenas "veja", mas também "entenda" e "fale"? Por meio da arquitetura deste projeto, usando o microfone e o alto-falante da reCamera, o dispositivo deixa de ser apenas uma ferramenta visual e se torna um assistente inteligente capaz de conversar naturalmente. Isso inclui, mas não se limita, aos seguintes cenários:

  • Assistente Inteligente de Controle de Acesso: Instale a reCamera na entrada, onde os visitantes podem concluir o registro de identidade, deixar recados ou obter orientações apenas por voz, sem a necessidade de uma tela interativa adicional.

  • Parceiro de Inspeção de Segurança em Fábricas: Em ambientes industriais, quando as mãos dos trabalhadores estão ocupadas, eles podem acionar a interação por voz por meio de gestos para perguntar ao assistente de IA sobre o status de equipamentos, manuais de operação ou relatar anomalias.

  • Interação Assistiva para Acessibilidade: Forneça um ponto de entrada de controle por voz para usuários com deficiência visual ou mobilidade reduzida, permitindo conversas em linguagem natural com o dispositivo por meio de simples gestos para obter informações do ambiente ou enviar comandos.

  • Guia para Educação e Exposições: Em museus ou salas de exposição, os visitantes podem acionar a interação por voz por meio de gestos para perguntar ao assistente de IA sobre informações das exposições e receber visitas guiadas personalizadas.

Vídeo de Demonstração

Arquitetura do Sistema

Todo o sistema é concluído de forma colaborativa por duas partes: lado reCamera e lado servidor PC. A arquitetura é a seguinte:

EtapaLocal de ExecuçãoTecnologia/Modelo UtilizadoDescrição
Detecção de PosereCameraYOLO11n PoseDetecta 17 pontos-chave do corpo humano
Julgamento de PosereCamera (Função Node-RED)Lógica personalizadaCompara as distâncias dos pontos-chave do ombro e do cotovelo
Gravação/ReproduçãoreCameraarecord / aplayPCM mono 16kHz
Reconhecimento de Fala (STT)Servidor PCiFlytek Speech Dictation APIÁudio para texto
Raciocínio de Grande Modelo (LLM)Servidor PCSpark Large Model Spark LiteGera respostas inteligentes
Texto-para-Fala (TTS)Servidor PCiFlytek Speech Synthesis APITexto para áudio

Preparação de Hardware

Para executar este demo, você precisa do seguinte hardware:

  • Um dispositivo reCamera (suporta todas as variantes de reCamera)
  • Um computador PC (para executar o serviço de processamento de voz, deve estar na mesma LAN que a reCamera)

Você pode escolher qualquer versão da reCamera com base em suas necessidades de implantação:

  • reCamera 2002 Series (Wi-Fi)
  • reCamera Gimbal
  • reCamera HQ PoE (Ethernet + PoE)

Observação: A versão PoE não oferece suporte a Wi-Fi e deve ser conectada à mesma rede local por meio de um switch compatível com PoE.

reCamera 2002 SeriesreCamera GimbalreCamera HQ PoE

Configurando o Demo

Etapa 1: Configurar a reCamera

Primeiro, siga o guia oficial de primeiros passos para concluir a configuração básica da reCamera: reCamera Getting Started

Após concluir a configuração inicial, certifique-se de que o dispositivo esteja ligado e devidamente conectado à rede. Em seguida, acesse o endereço 192.168.42.1 por meio de um navegador para fazer login na reCamera e entrar no espaço de trabalho do Node-RED.

Se você conseguir acessar com sucesso a interface de fluxo do Node-RED, como mostrado abaixo, a configuração estará concluída.

Etapa 2: Importar o Fluxo do Node-RED

Este demo fornece um arquivo de fluxo pré-configurado com todos os nós e conexões necessários para o assistente de voz inteligente já configurados. Você precisa seguir as etapas abaixo para fazer algumas configurações a fim de executar corretamente este projeto.

Crie um novo aplicativo, depois baixe o arquivo de fluxo do Assistente de Voz com IA na SenseCraft AI Platform e importe-o diretamente para a reCamera. Para tutoriais do SenseCraft AI, consulte o link Access SenseCraft AI reCamera Dashboard.

Se você conseguir acessar com sucesso a interface de fluxo do Node-RED, como mostrado abaixo, o fluxo foi importado com êxito.

Etapa 3: Configurar Parâmetros do Fluxo

Após importar o fluxo, você precisa modificar os parâmetros nas seções 3.1 a 3.5 abaixo de acordo com o seu ambiente de rede real e configurações do sistema.

3.1 Nó Model

O nó Model no fluxo vem com vários modelos pré-treinados. Você pode selecionar e configurar vários parâmetros de modelo aqui. Este demo usa o modelo YOLO11n Pose para detectar poses humanas.

Configuração do Nó Model

3.2 Nó Model — Lógica de Julgamento de Pose

O nó Function contém a lógica de julgamento de pose que determina se deve acionar a interação por voz comparando a distância do ponto-chave do ombro com a distância do ponto-chave do cotovelo. Você pode ajustar os parâmetros de Confidence e IOU no nó Model para reduzir falsos positivos ou modificar o código lógico no nó Function abaixo para implementar recursos adicionais.

Configuração do Nó Function de Julgamento de Pose

3.3 Nó Exec — Controle de LED e Gravação

O fluxo usa nós Exec para executar comandos do sistema para controlar o LED e a gravação. Clique duas vezes no nó correspondente e modifique a senha root da reCamera de acordo com a sua configuração real:

echo "your_Password" | sudo -S sh -c 'echo 1 > /sys/class/leds/blue/brightness'
  • Ligar e desligar o LED azul (indicando que a gravação foi iniciada)

Configuração de Parâmetros do Nó Turn On LED

3.4 Nó HTTP Request — Endereço de Envio de Áudio

Encontre o nó HTTP Request no fluxo e modifique a URL para o endereço do seu servidor PC. Isso exige que você conclua a Etapa 4 e execute primeiro o server.py, depois preencha o endereço na posição correspondente mostrada abaixo.

http://<PC_IP_ADDRESS>:5000/interact

Configuração de Parâmetros do Nó HTTP Request

3.5 Nó Exec — Reprodução de Áudio

O áudio retornado é reproduzido por meio do comando aplay. Você precisa especificar os parâmetros de áudio corretos para corresponder ao formato de saída do modelo TTS (16kHz, mono, 16 bits):

aplay -D hw:1,0 -f S16_LE -c 1 -r 16000 /tmp/reply.wav

Configuração de Parâmetros do Nó de Reprodução de Áudio

Etapa 4: Implantar o Serviço de Processamento de Voz no PC

O serviço de processamento de voz é executado no PC e é responsável por concluir todo o pipeline de processamento de voz STT → LLM → TTS.

4.1 Pré-requisitos

Certifique-se de que o seguinte ambiente esteja instalado no seu PC:

  • Python 3.8+
  • Gerenciador de pacotes pip

4.2 Obter o código e instalar dependências

Obtenha o código Python do lado do servidor para o Assistente de Voz com IA a partir do repositório. Após baixar o código do projeto para o seu PC, entre no diretório do serviço e instale as dependências Python:

cd server/
pip install -r requirements.txt

As principais dependências incluem:

PacoteFinalidade
FlaskFramework de serviço HTTP
websocket-clientComunicação com a API da iFlytek
certifiVerificação de certificado SSL
pydubProcessamento de áudio

4.3 Configurar chaves de API

Antes de executar o serviço, você precisa configurar as chaves de API da iFlytek. Acesse a Plataforma Aberta iFlytek para registrar uma conta e ativar os três serviços a seguir:

ServiçoFinalidadeLink de ativação
Speech Dictation (STT)Converter a fala do usuário em textoiFlytek Speech Dictation
Spark Large Model (LLM)Gerar respostas inteligentes com base em textoiFlytek Spark Large Model
Speech Synthesis (TTS)Converter o texto da resposta em falaiFlytek Speech Synthesis

Após a ativação, preencha suas chaves de API em server.py:

# 1. STT Speech Recognition Configuration
STT_APPID = "your_APPID"
STT_APISecret = "your_APISecret"
STT_APIKey = "your_APIKey"

# 2. TTS Speech Synthesis Configuration
TTS_APPID = "your_APPID"
TTS_APISecret = "your_APISecret"
TTS_APIKey = "your_APIKey"

# 3. LLM Spark Large Model Configuration (Spark Lite)
LLM_APPID = "your_APPID"
LLM_APISecret = "your_APISecret"
LLM_APIKey = "your_APIKey"

Este demo usa o modelo Spark Lite (gratuito). Você também pode alternar para uma versão de modelo mais avançada conforme necessário ou usar grandes modelos de outros provedores.

4.4 Iniciar o serviço

python server.py

Log de inicialização do servidor

Após o serviço iniciar, ele aguardará solicitações de áudio da reCamera. Certifique-se de que o firewall do PC permita conexões de entrada na porta 5000 e que o PC e a reCamera estejam na mesma LAN.

Etapa 5: Executar o demo

  1. Certifique-se de que server.py no PC esteja iniciado e em execução
  2. Clique em Deploy no Node-RED para implantar o fluxo de trabalho
  3. Fique em frente à reCamera e faça um gesto de braços cruzados (distância entre ombros menor que a distância entre cotovelos)
  4. O LED azul na reCamera acende, indicando que a gravação foi iniciada
  5. Fale sua pergunta no microfone
  6. Após o LED azul apagar, a reCamera envia o áudio para o servidor e reproduz a resposta depois de recebê-la.

Acionando o fluxo de conversa por voz

Received reCamera audio,length:160044 bytes
User said:Hi,who are you?
LLM is thinking……
LLM reply:Hi,I′m the voice assistant on your smart camera reCamera.I'm here to help you with any questions or concerns you may have.
Generating speech……
Speech delivered! Waiting for next interaction.
192.168.4.53--[11/Jun/2026 16:38:14]"POST /interact HTTP/1.1" 200 -

Log do servidor

Detalhes do fluxo de trabalho

A lógica de alto nível de todo o fluxo de trabalho é a seguinte:

  1. Entrada de vídeo e detecção de pose A câmera captura continuamente quadros de vídeo, e o modelo de estimativa de pose YOLO11 detecta os pontos-chave do corpo humano (17 pontos-chave no total, incluindo ombros, cotovelos, pulsos, etc.).

  2. Julgamento de acionamento por gesto O nó Function calcula a distância entre os pontos-chave dos ombros esquerdo e direito e a distância entre os pontos-chave dos cotovelos esquerdo e direito. Quando distância entre ombros < distância entre cotovelos, isso é determinado como um gesto de acionamento (ou seja, pose de braços cruzados).

  3. Processo de gravação Após o acionamento: ligar o LED azul → gravar áudio → desligar o LED azul.

  4. Processamento de áudio e geração de diálogo Após a conclusão da gravação, os dados de áudio são enviados por POST para o serviço Flask do PC via HTTP Request, executando:

    • STT: a API iFlytek Speech Dictation converte o áudio em texto
    • LLM: o Spark Large Model (Spark Lite) gera respostas inteligentes com base na entrada do usuário
    • TTS: a API iFlytek Speech Synthesis converte o texto da resposta em áudio
  5. Reprodução de áudio O PC retorna o áudio WAV, e a reCamera reproduz a voz de resposta por meio do comando aplay.

Observações

  • O intervalo de gravação atual está definido para 10 segundos. Se o tempo de processamento STT → LLM → TTS exceder esse intervalo, vários acionamentos podem causar congestionamento no pipeline. Recomenda-se controlar a contagem de palavras da resposta do LLM (o prompt de sistema atual a limita a 50 palavras ou menos) para reduzir o tempo de processamento.
  • Se o congestionamento fizer com que a CPU deixe de responder, você pode ajustar o atributo Confidence no nó Model para reduzir falsos positivos e controlar a frequência de acionamento.
  • Ao reproduzir o áudio retornado usando aplay, especifique os parâmetros corretos (-f S16_LE -c 1 -r 16000), caso contrário a reprodução pode não funcionar corretamente. Consulte o áudio gerado pelo TTS para parâmetros específicos.

Suporte técnico e discussão sobre o produto

Obrigado por escolher nossos produtos! Se você precisar de orientação sobre metas específicas de personalização ou quiser estender ainda mais o fluxo de trabalho, sinta-se à vontade para entrar em contato conosco. Estamos aqui para fornecer diferentes níveis 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...