Índice:

Raspberry Pi Audio Dac-Amp-Streamer: 14 etapas
Raspberry Pi Audio Dac-Amp-Streamer: 14 etapas

Vídeo: Raspberry Pi Audio Dac-Amp-Streamer: 14 etapas

Vídeo: Raspberry Pi Audio Dac-Amp-Streamer: 14 etapas
Vídeo: The BEST DIY Raspberry Pi Music Streamer?! | Audiophonics Evo-Sabre 2024, Novembro
Anonim
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer

Reutilize um chapéu de voz Google AIY datado como um dispositivo de streaming de áudio estéreo sem cabeça dedicado.

Agora que os kits de voz do Google AIY estão chegando aos dois anos de idade, você pode ter descoberto que a novidade se desgastou um pouco. Ou você pode estar se perguntando se os anúncios do seu navegador para o festival renascentista mais próximo têm algo a ver com a pergunta que você fez sobre onde encontrar um bom negócio em tênis de corrida sob a armadura.

Se você já possui um, este projeto mostrará como pegar seu kit de voz Google AIY existente e reaproveitá-lo como um streamer de áudio sem cabeça dedicado. Se você ainda não tem um kit e mora perto de um Micro Center; você está com sorte - ainda há muitos por aí, e eu duvido que eles fiquem mais baratos do que o preço atual de US $ 5. (na verdade, eram US $ 3 em julho de 2019).

Este projeto tem tudo a ver com áudio e nada a ver com IA. Estaremos trabalhando em um sistema operacional completamente separado, armazenado em um cartão micro SD separado, que permitirá que você mantenha todas as funcionalidades de IA intocadas. Além disso, melhoraremos a experiência do usuário introduzindo som estéreo (por alguns dólares a mais) à medida que construímos um dispositivo de streaming de áudio escalonável. Finalmente, após a conclusão deste projeto, deixaremos o chapéu de voz permanecendo em um estado pronto para expansão futura. As limitações da expansão serão apenas da nossa criatividade.

Etapa 1: Aquisições

Compras
Compras

Escreverei este manual do ponto de vista de que você ainda não tem um kit do Google Voice em sua posse. Caso você já tenha o kit de voz configurado - os itens adicionais necessários estão marcados com um * abaixo. Além disso, a última oferta do Raspberry Pi (Pi 3 A +) é perfeitamente adequada para este projeto com base em seu formato, e eu recomendo fortemente comprar um de qualquer maneira. No entanto, qualquer Pi deve servir, desde que acomode o chapéu do kit de voz e os GPIOs.

Ingredientes:

  • Raspberry Pi (recomendo Pi 3 A +)
  • Fonte de alimentação micro usb 5,25 V 2,4 amp
  • Cartão Micro SD (dependendo do tamanho da coleção de música, 16 gb deve ser adequado)
  • Max98357A dac e amp (da Adafruit) *
  • Caixas de som). O kit vem com um, no entanto, para obter o estéreo, precisaremos de um alto-falante adicional. (também Adafruit)
  • Kit Google AIY Voice
  • Cabeçalho - banda única *
  • Fio de alto-falante *

Ferramentas necessárias: Ferro de soldar, solda, chave de fenda philips tamanho 00 ou 000. descascadores de fios, fita adesiva ou fita adesiva para proteger o conector temporariamente durante a soldagem, adaptador USB para micro SD.

Etapa 2: montar o hardware

Monte o Hardware
Monte o Hardware

Fora da caixa, o chapéu de voz chega em modo mono. Felizmente, os engenheiros do Google projetaram a placa para permitir um upgrade para estéreo simplesmente adicionando outra placa Max98357a para servir de outro chapéu. Eles até delinearam a caixa para nós.

Você adivinhou: vamos construir um chapéu sobre outro chapéu. Hardware em cima de Hardware já em cima.

Usando o cabeçalho fornecido pelo conjunto de chips Adafruit Max98357a, começamos soldando o cabeçalho de 7 pinos ao chapéu de voz diretamente abaixo das palavras “AIY projeta chapéu de voz”. Um pedaço de fita adesiva afixada aos pinos machos mais longos na face da placa pode ser útil para evitar que os cabeçotes deslizem para fora do lugar, pois trabalharemos com a placa de cabeça para baixo durante este estágio de soldagem.

Solde também dois pinos dentro da caixa com contorno branco ao chapéu de voz onde a placa max98357a azul ficará.

NÃO SOLDA O CONECTOR DO ALTO-FALANTE À PLACA MAX98357a!

Em vez disso, conecte os terminais de alto-falante ao chapéu de voz, alinhados diretamente abaixo de onde os dois pólos foram soldados. A conexão do alto-falante esquerdo e a conexão do alto-falante direito devem ser alinhadas lado a lado, em uma fileira de quatro terminais.

Vire a placa com o lado direito para cima.

Solde o jumper com a etiqueta “JP4”, deixando uma gota de solda no jumper. Não se esqueça desta parte ou não teremos estéreo!

Prenda com cuidado a placa max98357a azul aos pinos machos longos que se projetam do chapéu de voz. Isso foi um pouco difícil, então tente soldar os pinos o mais perpendicularmente possível à placa. Com algumas pequenas disputas no cabeçalho de dois pinos, fui capaz de fazer isso com apenas um pequeno esforço.

Conclua a solda dos pinos machos no chip max98357a azul - tanto o cabeçote de sete pinos quanto o de dois pinos devem segurar o max98357a firmemente no lugar.

Feito com solda!

Etapa 3: conecte ao Pi e conecte seus alto-falantes

Anexe ao Pi e conecte seus alto-falantes
Anexe ao Pi e conecte seus alto-falantes

Usando os dois espaçadores de náilon fornecidos com o kit, mescle cuidadosamente o kit de voz feminina sobre os cabeçalhos masculinos no pi de framboesa. Os espaçadores de náilon devem se encaixar no lugar, proporcionando um encaixe seguro nos cantos opostos da plataforma.

Usando uma pequena chave de fenda Philips (000 ou 00), desaperte os parafusos no terminal do alto-falante o suficiente para permitir que o fio do alto-falante se encaixe nas aberturas de compressão. Você não deve ter que remover os parafusos, mas abra-os o suficiente onde eles se sentirem soltos.

Insira o fio do alto-falante de calibre pequeno na abertura e aperte os parafusos para segurar o fio do alto-falante firmemente no lugar.

Achei essa etapa o desafio mais assustador de todo o projeto - não consegui encontrar uma chave de fenda pequena o suficiente, ou meu fio de alto-falante frágil era muito fino para absorver a compressão do parafuso e preferia quebrar do que segurar firme. Fiz uma modificação construindo “pontas” ou fios menores que eram firmes o suficiente para resistir à compressão e apenas longos o suficiente para serem soldados às pontas desencapadas do fio do alto-falante. Feio, sim, mas eficaz.

Feito com o Hardware!

Etapa 4: Baixe o Raspbian Lite

Baixe Raspbian Lite
Baixe Raspbian Lite
Baixe Raspbian Lite
Baixe Raspbian Lite

Muitos de vocês já estão familiarizados com o processo de download e gravação de imagens em um cartão SD, e as etapas subsequentes estão um pouco além do escopo deste projeto. Vou listar as etapas abaixo para garantir, mas se você ainda estiver preso, há muitos recursos para ajudá-lo.

Última edição: junho de 2020 para download do Buster Lite.

· Baixe e instale o Etcher by Balena Software

· Baixe o Raspbian Lite OS mais recente em raspberrypi.org

· Usando Etcher, grave a imagem Raspbian no cartão SD

· Depois de concluído, a menos que esteja usando um pi zero w - transfira o cartão SD recém-criado para o nosso Raspberry Pi. Se você estiver usando um pi zero w, precisamos fazer algumas edições no arquivo WPA_Supplicant.conf na partição de inicialização para configurar seu wi-fi.

Etapa 5: configurar o Pi

Configure o Pi
Configure o Pi

Com nossa imagem recém-criada, vamos aumentar o pi. Mas primeiro vamos pegar emprestado um monitor e um teclado para ajudar na configuração. Insira o cartão micro SD e conecte o cabo de carregamento micro usb. Com sorte, a luz LED verde piscará algumas vezes durante a inicialização. A primeira inicialização pode levar alguns minutos, mas em 5 minutos estaremos prontos para trabalhar em nossa configuração. Raspbian "Lite" não tem um desktop.

Uma vez no prompt de comando: faça o login como pi, senha “raspberry”.

· Acesse o painel de configuração digitando “sudo raspi-config” no prompt de comando.

· Mude sua senha imediatamente.

· Configure seu wi-fi usando as opções de rede no painel de configuração

· Altere suas opções de localização e defina seu fuso horário

· Habilitar SSH usando a opção do painel de interfaces

· Execute “sudo apt-get update” para atualizar seu software para a versão mais recente

Precisamos do endereço IP do Pi. Eu recomendo um aplicativo chamado "FING" que pode ser baixado para qualquer dispositivo Android e listará todos os dispositivos conectados à sua rede. Estaríamos procurando um dispositivo chamado “raspberrypi”. Anote o endereço IP.

Deste ponto em diante, não precisaremos mais do monitor ou do teclado. Todas as outras configurações serão realizadas usando as linhas de comando por meio de uma sessão SSH.

Etapa 6: usar SSH para abrir uma sessão em uma máquina remota

Usar SSH é bastante básico. Abra uma janela de terminal de qualquer dispositivo em sua rede e digite o comando

ssh pi @ myipaddress

Substitua “myipaddress” pelos valores numéricos obtidos com o dedo.

Pela primeira vez, você pode ser saudado com um aviso assustador indicando que você não está na lista de convidados, no entanto, há uma frase que deve ser "para remover isso …" copie a longa sequência de caracteres e cole-a no comando prompt, pressione Enter. Em seguida, usando a tecla de seta para cima, repita o comando ssh pi @ myipaddress, escolha sim e agora digite sua senha. Parabéns !, agora você está conectado ao seu dispositivo se estiver vendo um prompt de comando de "pi @ raspberrypi: ~ $".

Etapa 7: Instale o Mopidy

Instale o Mopidy
Instale o Mopidy

Vamos instalar o Mopidy como nosso servidor de música. Existem muitas opções aqui, mas vou mostrar como instalar uma extensão chamada "Music Box" que permitirá que você controle suas músicas a partir de uma interface da web em vez de um prompt de comando.

O que é Mopidy? De acordo com seu site, Mopidy é uma série de palavras grandes que me fazem sentir muito inferior no momento, mas vamos apenas dizer que Mopidy é a plataforma a partir da qual nossa música vai tocar. Será um servidor de música, um MPD (daemon do reprodutor de música) e um servidor web. O addon PiMusic Box oferecerá o site no qual podemos navegar e controlar o Mopidy. Percebi que, como funciona bem com vários serviços populares, como Spotify ou Google Play Music, seria adequado para isso. Além disso, é muito legal.

Abaixo estão as instruções descaradamente copiadas do Mopidy para instalar a partir da linha de comando:

1. Adicione a chave GPG do arquivo:

sudo wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -

2. Adicione o repositório APT às fontes do seu pacote:

sudo wget -q -O /etc/apt/sources.list.d/mopidy.list

Finalmente instale o mopidy:

sudo apt-get update

sudo apt-get install mopidy

Acabar com a cópia desavergonhada.

Etapa 8: use o Python Pip para instalar outras … instalações (extensões)

Acabamos de instalar o Mopidy plain vanilla, mas estamos apenas começando. As extensões serão nossos blocos de construção para adicionar personalizações ao nosso Mopidy normal. Como a maioria das extensões que adicionaremos ao mopidy básico são escritas em python, usaremos um equivalente do apt que é específico para python.

Antes de começarmos a usar o pip, vamos primeiro garantir que temos todos os plug-ins do gstreamer usando apt:

sudo apt install

python3-gst-1.0 / gir1.2-gstreamer-1.0 / gir1.2-gst-plugins-base-1.0 / gstreamer1.0-plugins-good / gstreamer1.0-plugins-ugly / gstreamer1.0-plugins-bad / gstreamer1.0-tools

A instalação pode demorar alguns minutos. Sem o Gstreamer, você não conseguirá fazer streaming de música.

E agora podemos instalar o pip python:

sudo apt install build-essential python3-dev python3-pip

Agora podemos usar pip para adicionar mais pepitas mopidy. Pip é uma ferramenta python, semelhante ao apt, mas acho que funciona um pouco mais rápido que o apt. Um pouco lento fora do bloco, mas começa muito rápido.

Abaixo estão quatro para nos ajudar a começar:

Um front-end da web. Vamos usar o Iris, mas se você quiser, pode tentar mopidy-musicbox-webclient:

sudo python3 -m pip install Mopidy-Iris

Um hub de estação de rádio da Internet com 30 canais:

sudo python3 -m pip install mopidy-somafm

Outro hub de serviço de rádio na Internet com ainda mais canais:

sudo python3 -m pip install mopidy-TuneIn

E outro front-end para dispositivo móvel. As estações de rádio e o Iris não tocam bem juntos, mas o celular tem todos os tipos de estações de racionamento de internet para ouvir:

sudo python3 -m pip install Mopidy-Mobile

Depois de concluído, você deve ser capaz de acessar o Music Box usando:

myipaddress: 6680 / iris / -ou- https:// localhost: 6680 / musicbox_webclient

Ainda não teremos nada saindo dos alto-falantes se você tentar tocar música.

Para obter uma lista de outros recursos e extensões: Sirva-se:

sudo pip search mopidy

A partir daqui, você pode continuar a adicionar extensões à sua escolha.

Tenho um arquivo de configuração mopidy de amostra anexado. Sinta-se à vontade para usar o conteúdo em /etc/mopidy/mopidy.conf

sudo nano /etc/mopidy/mopidy.conf

Etapa 9: Configurar Mopidy como um serviço

Configurar Mopidy como serviço
Configurar Mopidy como serviço

Como queremos executar o mopidy na inicialização, dois comandos permitirão que o mopidy seja executado na inicialização:

sudo systemctl enable mopidy

sudo dpkg-reconfigure mopidy

Reinicialize e execute

sudo systemctl status mopidy - l

para verificar seu status. Você deve ver um indicador verde. Mopidy tem um site de suporte muito útil para ajudar com outras opções de configuração. Confira o site de documentação do Mopidy para mais detalhes.

Etapa 10: adicione sua própria música

Adicione sua própria música
Adicione sua própria música

Por padrão, mopidy irá querer armazenar música local em uma pasta em / var / lib / mopidy / media. Copie sua coleção de música lá. Acho mais fácil apenas remover o cartão SD do pi (após desligamento seguro) e, usando um adaptador micro SD para USB, conecte o adaptador à unidade de armazenamento e copie / cole lá. (pode demorar um pouco dependendo do tamanho da coleção). Depois de concluído, devolva o cartão SD ao pi, inicialize-o, reconecte-o e digite:

varredura local sudo mopidyctl

Isso adicionará sua música à biblioteca de mídia local no Music Box. Você pode perceber que os arquivos.wma não são reconhecidos como áudio e os arquivos.ogg parecem ser perdidos durante a verificação. Arquivos MP3 não devem ser um problema.

Etapa 11: Arquivo de configuração da placa de som - Asound.conf

Você ainda não deve ter nada em /etc/asound.conf, mas se tiver, substitua o conteúdo pelos abaixo ou crie um usando:

sudo nano /etc/asound.conf

e cole:

options snd_rpi_googlehat_soundcard index = 0

pcm.softvol {type softvol slave.pcm dmix control {name Master card 0}} pcm.! default {type asym playback.pcm "plug: softvol"} ctl.! default {type hw card 0}

ctrl-x e Y para salvar o acima como seu novo arquivo asound.conf.

Etapa 12: Certifique-se de usar a sobreposição correta para Configure.txt em / boot

modelo

sudo nano /boot/config.txt

As últimas linhas devem se parecer com algo semelhante a seguir. Queremos garantir que o áudio padrão seja comentado, junto com qualquer sobreposição anterior, como meu hifiberry dac, ao implementar a sobreposição de chapéu de voz do Google. Finalmente, queremos instruir o pi a usar o mapeamento i2s. O indicador # diz ao sistema para ignorar a linha.

# Ativar áudio (carrega snd_bcm2835)

# dtparam = audio = on # dtoverlay = hifiberry-dac dtoverlay = googlevoicehat-soundcard dtoverlay = i2s-mmap

reinicie se tudo parecer semelhante ao anterior. Aguarde alguns minutos, abra um navegador para o URL da caixa de música e reproduza algumas músicas.

Etapa 13: Desfrute da música

Se você está ouvindo bondade estéreo, missão cumprida!

Uma das coisas bonitas de usar um raspberry pi como um servidor de música sem cabeça conectado a wi-fi é que ele está funcionando sem ocupar muitos recursos. É verdade que estamos bombeando apenas 3 watts por canal, mas isso provavelmente é o suficiente para ouvir de perto. A bateria do seu telefone vai agradecer.

Há um fator verde muito significativo também - estamos consumindo apenas 5,25 volts de energia. E em comparação com o Bluetooth, podemos definir o fluxo de rádio e não estar ancorado em um alcance bluetooth de 30 pés. Com relação ao nosso telefone, podemos atender uma chamada, jogar um jogo e navegar um pouco mais livremente, sem interromper o fluxo de música. Nós apenas arranhamos a superfície. Existem toneladas de extensões mopidy disponíveis para explorar, e mopidy tem uma base crescente de desenvolvedores por ser de código aberto. Vou deixar você explorar os recursos que lhe interessam por conta própria.

Etapa 14: Conclusão

Conclusão
Conclusão

Uma das características mais marcantes deste projeto é que não estamos restringindo nosso pi bloqueando o acesso ao GPIO. Isso nos permite acessar muitas outras opções porque o chapéu de voz foi projetado muito bem. Por exemplo, meu próximo projeto será adicionar um botão momentâneo como botão de desligamento. Deve ser fácil, e eu já sei onde os pinos precisam cair: eles não estão obstruídos. De lá? Bem, para este projeto, ignoramos completamente o microfone - talvez um karaokê pi? Talvez um show de luzes LED, ou adicionar um motor para uma jukebox de rolamento? Todos os pinos ainda estão disponíveis e acessíveis. A questão é: por que não? E caso você queira voltar para a IA, basta inserir o cartão SD antigo e fazer o google responder em estéreo.

Recomendado: