Localização de fonte sonora do reCamera Gimbal
Introdução
Decidimos nos divertir um pouco e experimentar a combinação de IA de borda de áudio e visual! 🤖
Neste demo, conectamos o reSpeaker USB Mic Array da Seeed Studio ao nosso reCamera Gimbal com tecnologia RISC-V. Ao utilizar Localização de Fonte Sonora (DOA), o sistema permite que os motores brushless do gimbal girem automaticamente e fiquem voltados para a direção do locutor em tempo real. É uma exploração super divertida de como nossos dispositivos multimodais de borda podem interagir perfeitamente!
Aqui está o efeito de uso após concluir este demo.

Preparação de hardware
um reCamerab Gimbal
um reSpeaker XVF3800
um computador
| reCamera Gimbal | reSpeaker XVF3800 |
|---|---|
![]() | ![]() |
1. Abra o SenseCraft para implantar o aplicativo
1.1 Configurar reCamera Gimbal
Primeiro, não conecte a fonte de alimentação do reCamera Gimbal, conecte diretamente o Type-C ao computador, acesse 192.168.42.1, clique em "Login to SenseCraft" no canto inferior esquerdo após entrar, depois conecte o WiFi a ele após fazer login, certifique-se de que o WiFi conectado seja o mesmo do seu computador, então verifique o endereço IP do reCamera Gimbal, copie o endereço IP e acesse-o para ver se pode ser acessado normalmente, depois desconecte o cabo Type-C e conecte a fonte de alimentação de 12 V, após a conclusão da calibração automática do reCamera Gimbal, acesse novamente o endereço IP anterior no navegador e entre na interface do reCamera Gimbal para garantir que o Node-RED tenha começado a rodar normalmente.

1.2 Implantar aplicativo
Entre no SenseCraft, clique em "Applications" para encontrar o aplicativo chamado "Sound source localization Camera", clique em "Deploy this Application" após entrar e, em seguida, selecione "Option 1: Deploy via USB"

O fluxo de trabalho que você verá após a implantação deve ser assim:

2. Obtenha o código-fonte e configure o ambiente de trabalho Python
Visite o projeto no GitHub, baixe o pacote e depois descompacte-o.
Para se comunicar com o reSpeaker via USB, instale a dependência no seu computador:
# Install the required Python package from the provided requirements file
pip install -r Sound-Tracking/requirements.txt
# Install libusb via Conda (essential for back-end driver support)
conda install -c conda-forge libusb
Substitua "192.168.31.198" no código reSpeaker.py pelo endereço IP real do seu reCamera Gimbal após conectar ao WiFi!
3. Teste
Execute o script Python no seu computador para fazer o seguinte:
python Sound-Tracking/reSpeaker.py
Fale no microfone – você deverá ver o terminal Python imprimindo continuamente SPEECH_DETECTED:1, enquanto o reCamera gira rapidamente para o ângulo da sua voz.

Expanda mais formas de brincar!
Este demo é apenas o começo. Incentivamos muito que todos realizem desenvolvimento secundário com base nele e ampliem mais formas de uso avançadas! Por exemplo:
-** Acionamento por ligação **: Você pode modificar o script Node-RED ou Python para fazer o reCamera Gimbal começar a gravar ** ou tirar fotos * imediatamente após girar para a posição da fonte sonora.
-Segurança inteligente: Combinado com Home Assistant, pode rastrear e gravar automaticamente quando ocorrer ruído anormal no ambiente.
-Confirmação dupla visual e auditiva: Combine detecção de alvo YOLO11n com rastreamento auditivo (por exemplo: ouvir um som -> virar para ver -> reconhecimento visual para confirmar se é uma "pessoa").
Estamos ansiosos para ver suas ideias!🎉
Instruções de operação e precauções
-
Confirmar implantação: Depois que o Node-RED importar o nó anterior, clique em Deploy no canto superior direito para entrar em vigor.
-
Mecanismo de teste: Inicie o Node-RED primeiro para garantir que ele esteja em execução em segundo plano e, em seguida, execute o comando a seguir no PC para rodar o script Python:
Substitua "192.168.31.198" no código reSpeaker.py pelo endereço IP real do reCamera Gimbal após conectá-lo ao WiFi!
python Sound-Tracking/reSpeaker.py
Falando no microfone, você deverá conseguir ver o terminal Python imprimindo constantemente:
SPEECH_DETECTED: 1
Ao mesmo tempo, o reCamera irá girar rapidamente para o ângulo físico do som.
-
Calibração de orientação física: A orientação '0 de' do array de microfones do reSpeaker pode não ser exatamente a mesma que o '0 de' padrão do reCamera voltado para a frente. Se você perceber que o pan-tilt sempre desvia de um ângulo fixo após girar (por exemplo, sempre desvia 90 graus), você pode clicar duas vezes diretamente no novo nó de função 'Calculate & Throttle' recém-criado no Node-RED, remover o comentário do código relevante e modificar o cálculo de compensação: 'targetYaw = (targetYaw +90)% 360;'.
-
-
- Design anti-tremor **: Como o código Python atualiza e envia dados a cada 0,1 segundo, se todos esses sinais de alta frequência forem enviados ao controlador do motor (barramento CAN), é fácil fazer com que o barramento do dispositivo sobrecarregue e trave. Portanto, escrevi a lógica anti-tremor no nó de função do Node-RED (o gerador só será acionado quando o ângulo mudar '>5 °' ou o intervalo de tempo for '>1 second').
-
Suporte técnico e discussão de produto
Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes 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.

