Índice:

Talking Santa Blowmold: 5 etapas
Talking Santa Blowmold: 5 etapas

Vídeo: Talking Santa Blowmold: 5 etapas

Vídeo: Talking Santa Blowmold: 5 etapas
Vídeo: Праздник. Новогодняя комедия 2024, Novembro
Anonim
Talking Santa Blowmold
Talking Santa Blowmold
Talking Santa Blowmold
Talking Santa Blowmold

Este projeto explica como fazer uma decoração que reproduz um arquivo de som quando alguém passa. Isso pode ser feito facilmente com um computador que execute o programa Motion e uma câmera de algum tipo. Neste caso, usei um soprador de Papai Noel de 20 de altura. Configurei meu Raspeberry PI com o módulo de câmera na janela da minha garagem e apontei para o soprador de Papai Noel. Escondi um alto-falante externo energizado dentro do soprador e coloquei um cabo auxiliar de 25 pés classificado para uso externo do PI para este alto-falante. Eu configurei o programa Motion no Pi para reproduzir um arquivo de som de Santa Ho Ho Ho sempre que detectou movimento usando a câmera. É muito simples de fazer e é muito divertido.

Comprar os materiais específicos que usei aqui provavelmente custaria cerca de US $ 100 com frete. Eu não gastaria isso fazendo isso se já não tivesse todos esses materiais por aí sem uso. Isso pode funcionar com qualquer computador, qualquer câmera e qualquer alto-falante, então pode ser feito muito mais barato se precisar comprar essas coisas.

Suprimentos

  • Um computador com o programa Motion instalado

    Eu usei um Raspberry PI (RPI) 3 Modelo B

  • Câmera conectada ao computador ou câmera de rede

    • Qualquer câmera que o programa Motion pode usar
    • Câmera USB
    • Câmera de rede
    • Eu usei este módulo de câmera que se conecta diretamente ao RPI
  • Um alto-falante para ambientes externos

    • Conectar via porta aux
    • USB
    • Eu usei este Sony SRS-XB01
  • Uma decoração como molde de sopro, qualquer coisa realmente

    Eu usei um molde de sopro do Papai Noel muito parecido com este

Etapa 1: Configure seu RPI

Configure o seu RPI
Configure o seu RPI

Esta etapa está aqui principalmente para iniciantes. Este vídeo explica como configurar um Raspberry PI (RPI) melhor do que eu. Eu também recomendaria, como no vídeo, conectar um USB Wireless, teclado + mouse e monitor externo para a configuração. Depois de configurar, eu corro o meu na minha garagem sem o teclado + mouse e monitor externo, mas deixo o dongle WIFi para que eu possa ssh nele e reinicie e / ou faça alterações.

Etapa 2: Anexe a câmera ao RPI

Anexe a câmera ao RPI
Anexe a câmera ao RPI

Siga as instruções para configurar sua câmera para seu RPI. Eu usei o módulo de câmera da Adafruit Industries.

  • Conecte e prenda o cabo de fita do módulo de câmera na porta da câmera entre a porta Ethernet e a porta HDMI com os contatos da fita voltados para a porta HDMI e a fita azul voltada para a porta Ethernet.
  • Se você tiver um monitor conectado e estiver executando a IU (Xserver), execute a ferramenta Raspberry Pi Configuration

    Se o SSH remoto para o rpi de outro computador, execute rasp-config no seu terminal - o que iniciará uma IU do terminal

  • No Raspberry Config, na guia Interfaces, ative a Câmera.
  • Salve e reinicie o RPI.
  • Após a reinicialização, execute o comando abaixo em um terminal, detectado e habilitado deve retornar como = 1

vgencmode get_camera

Seu módulo PI Camera deve estar funcionando agora

Instruções Online

Etapa 3: configurar e testar o áudio

Configurar e testar áudio
Configurar e testar áudio

Inicialmente, para este projeto, simplesmente conectei um cabo auxiliar do PI a um pequeno alto-falante alimentado por bateria. Aconteceu que havia muita estática e as baterias se esgotaram rapidamente. Em vez disso, conectei um dispositivo USB que amplifica o som e passei o cabo auxiliar da porta de saída auxiliar nele para um alto-falante externo à prova de intempéries. Isso removeu a estática e ficou mais alto e sem baterias para se preocupar. O dispositivo USB foi reconhecido automaticamente pelo meu RPI sem a necessidade de instalação de driver.

O PI OS vem com um programa chamado aplay, mas eu prefiro o programa play da distribuição do software Sox, então essas instruções instalam o Sox e usam seu comando play.

Instale o Sox

Em um terminal no RPI, execute o seguinte respondendo sim a todos os prompts

sudo apt-get install sox

Teste de Som

Baixe um arquivo de som compatível de tamanho pequeno e salve-o em seu computador. Usei santaho3.mp3 salvo no diretório inicial do pi. Para testar o som, conecte seu alto-falante ao RPI e execute este comando:

jogar santaho3.mp3

  • Se você ouvir o arquivo de som tocando em seu alto-falante, seu som está funcionando
  • Pode ser necessário alterar internamente o som de HDMI para analógico.

    Instruções aqui

  • Se estiver usando um dispositivo de som USB, crie um arquivo em seu diretório inicial chamado.asoundrc

    • Coloque o conteúdo abaixo nele e reinicie, comece o teste de áudio
    • pcm.! default {

      digite cartão hw 1} ctl.! default {digite cartão hw 1}

Etapa 4: configure a detecção de movimento para reproduzir o arquivo de som

Configure a detecção de movimento para reproduzir o arquivo de som
Configure a detecção de movimento para reproduzir o arquivo de som

O software denominado Movimento permite que uma ou mais câmeras sejam configuradas com o propósito de executar um comando quando o movimento for detectado na (s) visualização (ões) da (s) câmera (s). É bastante fácil de configurar e funciona muito bem. Também pode gravar arquivos ao detectar movimentos, permitir a configuração de um site para cada câmera ou um único site para todas as câmeras e servidores de streaming para assistir as transmissões ao vivo das câmeras. Este projeto só precisa da capacidade de detecção e disparo de comando, mas configurei um servidor de streaming para poder assistir a uma transmissão ao vivo também.

Instale o Motion

Em um terminal no RPI, execute o comando abaixo respondendo sim a todos os prompts, aguarde a conclusão

sudo apt-get install motion

Aproveite agora para adicionar o usuário de movimento recém-adicionado ao grupo de áudio para que tenha permissão para reproduzir o som digitando o seguinte comando

movimento de áudio usermod -a -G

Configurar movimento para detecção

Editaremos o arquivo de configuração de movimento para reproduzir o arquivo de som que baixamos na etapa Configurar áudio quando detectar movimento na câmera e iniciar o movimento como um serviço, de forma que continue a fazê-lo sempre que reiniciar o RPI.

Em um terminal, edite o arquivo /etc/motion/motion.conf como superusuário

sudo nano / etc / default / motion

Em um terminal, edite o arquivo /etc/motion/motion.conf como superusuário

sudo nano /etc/motion/motion.conf

Faça e salve as seguintes edições. Muitos deles são padrões. Não acho que, no meu caso, as entradas mmal_xxx tenham qualquer efeito, mas eu as deixo para o caso de alguém precisar delas - elas também não fazem mal. Esta configuração detecta movimento na câmera em intervalos de 40 segundos, não grava imagens ou vídeo e configura um servidor web e um servidor de streaming para a câmera protegida com autenticação básica usando um nome de usuário e senha.

daemon em

process_id_file /var/run/motion/motion.pid

setup_mode off logfile /var/log/motion/motion.log log_level 6 log_type todos os videodispositivos / dev / video0 v4l2_palette 17 entrada -1 norma 0 frequência 0 power_line_frequency -1 rotate 0 flip_axis nenhum largura 320 altura 240 framerate off 2 minimum_frame_time 0 netcam_keepalive_timer_tolerância_net rtsp_uses_tcp on mmalcam_name vc.ril.camera auto_brightness desligado brilho 0 contraste 0 saturação 0 matiz 0 roundrobin_frames 1 roundrobin_skip 1 switchfilter off threshold 500 threshold_tune off noise_level 22 noise_tune on despeckle_filter EedDlulate_mascapture_speed_pós-movimento 0 pré-movi_mask_speed 0 minimo_filtro_processo 0 pré-movimento_final_filtro_pós-movimento 0 pré-movimento_luminação_pós-movimento 0 pré-movimento_final_da_luminação 0 mínimo. output_pictures fora output_debug_pictures fora ffmpeg_output_movies qualidade 75 picture_type jpeg fora ffmpeg_output_debug_movies fora ffmpeg_bps 400000 ffmpeg_variable_bitrate 0 ffmpeg_video_codec ffmpeg_duplicate_frames mp4 verdadeiros timelapse_interval 0 timelapse_mode timelapse_fps diária 30 timelapse_codec use_extpipe mpg off sn apshot_interval 0 locate_motion_mode off locate_motion_style caixa text_right% Y-% m-% d / n% T-% q text_changes off text_event% Y% m% d% H% M% S text_double off target_dir / var / lib / motion snapshot_filename% v- % Y% m% d% H% M% S-snapshot nome_do_arquivo% v-% Y% m% d% H% M% S-% q nome_do_arquivo_do_filme% v-% Y% m% d% H% M% S nome_do_arquivo_do_arquivo % Y% m% d-Timelapse ipv6_enabled fora stream_port 8481 stream_quality 80 stream_motion fora stream_maxrate 1 stream_localhost fora stream_limit 0 stream_auth_method 1 stream_authentication: webcontrol_port 8480 webcontrol_localhost fora webcontrol_html_output em webcontrol_authentication: track_type 0 track_auto fora track_iomojo_id 0 track_step_angle_x 10 track_step_angle_y 10 track_move_wait 10 track_speed 255 track_stepsize 40 silencioso on_event_start / usr / bin / play -q --multi-threaded / var / lib / motion / Notice`shuf -i 1-5 -n 1`.mp3 2> / dev / null

Copie o arquivo de áudio para o arquivo de som no diretório inicial do movimento e altere as permissões nele para que o movimento seja o proprietário, mas todos possam lê-lo

sudo cp /home/pi/santaho.mp3 /var/lib/motion/mtn_dtct_ntfy.mp3

sudo chown motion /var/lib/motion/mtn_dtct_ntfy.mp3

sudo chmod a + r /var/lib/motion/mtn_dtct_ntfy.mp3

Reinicialize o dispositivo RPI. Uma vez inicializado, execute

sudo systemctl status motion.service

A saída deve incluir uma linha que diz:

Ativo: ativo (em execução) desde

Se você ver que este movimento está em execução. Se não, verifique / var / log / motion para obter detalhes. Tente executar:

sudo systemctl start motion.service

Teste a detecção de movimento e reprodução de som

Quase pronto. Só preciso verificar se o movimento está sendo detectado e se o som é reproduzido nesse momento.

Em um terminal, faça o seguinte para observar o texto anexado ao arquivo de log

tail -f / var / log / motion

Agora:

  • Balance algo na frente da câmera lentamente
  • O arquivo de registro deve mostrar que o movimento foi detectado
  • Espero que o arquivo de som seja reproduzido pelo alto-falante
  • Se for o caso, coloque o RIP em uma janela com a lente da câmera voltada para onde o movimento a ser detectado
  • Coloque o alto-falante externo dentro ou perto da decoração
  • Quando as pessoas passarem, serão saudadas

Solução de problemas

Se as coisas não estão funcionando

  • Verifique se a câmera está funcionando executando:

    • raspistill -o test.jpg
    • ls -l test-j.webp" />
  • Verifique se o áudio está funcionando executando

    • play / var / lib / motion / mtn_dtct_ntfy.mp3
    • se não estiver ouvindo o arquivo de som

      • verifique se o dispositivo de saída é a configuração do seu alto-falante (analógico ou USB)
      • verifique o volume
      • verifique se as permissões no arquivo de som têm 3 'r's na string de permissões (ou seja, rw * rw * rw *)
  • Se tudo o mais estiver falhando, então possivelmente o movimento não está configurado corretamente

    se for esse o caso, algumas pesquisas online devem ajudar, pois há muita ajuda por aí

Etapa 5: comentários adicionais

Comentários adicionais
Comentários adicionais

Tocar arquivos de som aleatórios

Ficando entediado com o mesmo som tocando continuamente, misture tudo!

  • Salve vários arquivos de som diferentes com o mesmo nome, mas um sufixo numérico sequencial:

    soundFile1.mp3, soundFile2.mp3, soundFile3.mp3, soundFile4.mp3, soundFile5.mp3,

  • Altere a entrada /etc/motion/motion.conf on_event_start como segue

    on_event_start play -q --multi-threaded soundFile`shuf -i 1-5 -n 1`.mp3 2> / dev / null

  • Saia e salve o arquivo
  • Reinicie o serviço de movimento

    sudo systemctl restart motion.service

  • A parte `shuf -i 1-5 -n 1` (esses são tiques para trás) insere um número aleatório de 1 a 5 no nome do arquivo sendo reproduzido
  • Então, agora, quando o movimento for detectado, qualquer um dos 5 arquivos de som será reproduzido

Falando em vez de Brincar

Outra reviravolta divertida é configurar um Text-to-Speech e fazer com que o computador fale uma frase para as pessoas que passam. Gosto de usar o MaryTTS como motor. Configure e inicie o servidor Mary TTS e altere a linha on_event_start mencionada acima para enviar algo a dizer ao servidor marry tts (ou seja, marytts / bin / marytts-submit-text "Olá, amigo")

Usando câmeras de rede IP (sem fio ou não)

O programa de movimento pode facilmente suportar câmeras IP em rede usando netcam_url e outras várias configurações netcam_xxx. Uma simples pesquisa online deve fornecer o que é necessário.

Bluetooth

Se o seu RPI tiver Bluetooth integrado ou se você tiver instalado um dispositivo USB Bluetooth, poderá conectar o alto-falante via Bluetooth e se livrar do fio.

Limite a captura de movimento a uma área menor

Um dos problemas que tive com essa configuração foi soprar arbustos e árvores, bem como as luzes dos carros, tudo acionou o movimento com muita facilidade. O programa de movimento tem configurações para quantos quadros precisam ser alterados antes que o movimento seja acionado e contabiliza o ruído e ajuda a usá-los. Ainda não tentei, mas acho que vou precisar de configurações que também permitam que uma área específica da visão da câmera seja definida para a detecção de movimento. Isso deve permitir definir uma área próxima à decoração para acionar a reprodução do arquivo de som.

Recomendado: