Essa é uma revisão anterior do documento!


ubalab > TransmiPi

Criar uma estacão de transmissão de áudio via icecast com uma Raspberry Pi e uma placa de som USB. Todos os scripts estão disponíveis repositório no gitlab.

Responsável: efeefe

Documentação

Retomando o projeto em maio de 2016.

16/05/16
  • Instalei o Dietpi em uma Raspi 2 com placa de som USB.
  • Assegurei-me que a interface de rede estava pegando IP automático por DHCP.
  • apt-get install darkice. Trouxe junto um monte de dependências.
18/05/16

Em experiências prévias com estações que se conectavam automaticamene, uma das primeiras questões que enfrentei foi descobrir qual o endereço IP da estação quando pega via DHCP. Aqui tem algumas dicas de como encontrar esses endereços. Fiz um script bash para enviá-los para o servidor da gaivota (e adicionei a chave SSH da Pi ao servidor da gaivota para que isso vai funcionar).

Encontrei um pequeno problema: uma vez que tinha enviado os arquivos txt para o servidor, não conseguia substituí-los. Percebi que o horário na Pi estava errado, o que pode ter sido o motivo de problemas com o rsync. Rodei o dietpi-config para mudar o timezone, e agora aparentemente está ok. O script já está no gitlab.

Aproveitei esta dica para decidir como rodar o script. O mais interessante me pareceu colocar no /etc/network/interfaces, logo abaixo da definição da interface:

allow-hotplug eth0
iface eth0 inet dhcp
  up /usr/local/bin/informa-ips

Acho que não funcionou automaticamente. Depois voltarei a isso. Por enquanto, fazendo testes com o darkice. Usei novamente o comando dietpi-software para instalar o ALSA (e aproveitei para mandar o FFMPEG também, mesmo que não use por enquanto pode vir a ser útil). Então peguei um arquivo de configuração do darkice que costumo usar para outros projetos (tem um exemplo razoável aqui) e comecei um stream. Único senão: a placa USB barata que estou usando não deixou usar os dois canais. De todo modo, vou testando para ver quantas horas ele permanece sem problemas…

Stream funcionando ok, mas teve alguns buffer overruns (como já tive em outros testes). Ainda tenho a dúvida se isso acontece por causa da própria placa de som, de instabilidade na rede, ou das restrições de clock da própria Pi. Para experimentar sobre essa última, usei o comando dietpi-config para fazer um overclock médio. Testando novamente.

Ainda com bastante buffer overrun. Pensando em deixar de lado o darkice do repositório e fazer uma versão compilada. Encontrei um tutorial aqui.

Arquivo

Sessões de trabalho: