Índice:
- Suprimentos
- Etapa 1: configuração (sem cabeça) Raspberry Pi W
- Etapa 2: instalar o software de rádio sênior
- Etapa 3: instalar software adicional
- Etapa 4: encontre streams de estações de rádio
- Etapa 5: criar circuitos
- Etapa 6: Teste
- Etapa 7: colocar em um gabinete permanente
- Etapa 8: programa de instalação para executar na inicialização
Vídeo: Rádio Sênior - Raspberry Pi: 8 Passos
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
O projeto Senior Radio é um dispositivo de rádio da Internet de código aberto, acessível, com componentes de hardware e software. Destina-se a ser usado por usuários familiarizados com o controle de um rádio de bolso, onde os dials controlam o volume e a estação de rádio selecionada. O projeto é feito com um design centrado no usuário, focado em um usuário que deseja um tamanho e controles semelhantes aos de um rádio portátil padrão.
Foi construído para satisfazer as necessidades de permitir que pessoas com deficiência possam ouvir milhares de diferentes conteúdos de streaming da Internet que normalmente só estão normalmente disponíveis através de um navegador de Internet. Muitas pessoas não têm a capacidade de usar esse dispositivo facilmente, então este design visa fazer uma interface familiar para uma tecnologia moderna.
A funcionalidade principal está no Github, armazenada em um programa python 3.7.3 chamado seniorRadio.py. Ele lê e grava um arquivo json para armazenar o estado do rádio, de modo que, ao desligá-lo, ele se lembrará do nível de áudio atual e da estação selecionada. Além disso, ele lê um arquivo json hospedado online que você pode alterar! Isso permite que você atualize as estações de rádio remotamente, se você estiver dando a outra pessoa.
Atualmente, ele é criado para se conectar a um alto-falante bluetooth, mas também pode ser facilmente reproduzido em um alto-falante integrado.
O criador deste dispositivo provavelmente não é o usuário e precisa de pelo menos alguma experiência com eletrônica e conhecimento básico de programação. A experiência com Linux também é muito útil.
Para o usuário, a funcionalidade é simples:
Ao ligar, ele reproduzirá a última estação selecionada no dispositivo de áudio padrão. O botão esquerdo controla a estação, onde alguns cliques do botão mudam para um novo URL. Ele rolará após a última ou primeira entrada. O dial direito controla o nível de áudio. O LED indica que o programa está ligado. E o botão pausa ou "desliga" o rádio. Assim, uma vez ligado, o usuário pode simplesmente apertar o botão para pausar / reproduzir, ou "desligar / ligar", o rádio e os dois dials para controlá-lo.
Suprimentos
Vinculado a cada item está o específico que usei. Custou-me cerca de US $ 60 no total, com muitos suprimentos que sobraram!
Conhecimento básico de eletrônica e Linux - para montagem e depuração
Raspberry Pi Zero W (Zero WH tem cabeçalhos pré-soldados e provavelmente úteis)
Cartão MicroSD-8 GB + e capacidade o
Adaptador de alimentação MicroUSB 5V - Link também inclui adaptador microHDMI e adaptador microUSB OTG para USB A para configuração se você precisar deles
alto-falante Bluetooth
Cabos de jumper M / F e M / M
2 Codificador rotativo - mesmo link acima
Placa de ensaio pequena
Botão de apertar
LED (opcional) - comprado LED + botão de pressão acima
Caixa para embalagem
Etapa 1: configuração (sem cabeça) Raspberry Pi W
Precisamos configurar o sistema operacional no raspberry pi que executará o software. Nada disso é exclusivo para este projeto. Para depuração, recomendo configurá-lo para que você também possa acessá-lo no modo headless. Isso significa que você acessa o pi pela rede WiFi por meio da interface gráfica do usuário ou de um terminal SSH e não precisa de teclado, mouse e monitor para usá-lo todas as vezes. Você poderia fazer isso sem precisar se conectar a um monitor / mouse / teclado se você tiver mais experiência em tecnologia. Algumas instruções de exemplo aqui. No entanto, é menos simples, e abaixo está outra maneira de configurá-lo.
Na primeira vez, você provavelmente precisará de:
- Raspberry Pi W
- MicroSD para adaptador de cartão SD [para gravar SO no cartão SD]
- Cartão MicroSD (~ 8 GB +) [para armazenar o sistema operacional e nosso programa]
- Potência MicroUSB (5V)
- MicroUSB para USB A [para mouse / teclado]
- Adaptador Mini HDMI para HDMI [para saída de vídeo]
- Teclado
- Mouse
- Monitor
Primeiro, você precisará atualizar o sistema operacional no cartão micro SD rPi.
Eu usei raspian buster, você baixa isso em um computador com um leitor / gravador de cartão SD e, em seguida, atualiza o sistema operacional raspian no cartão SD. BalenaEtcher é um software fácil de fazer isso
Em seguida, coloque o cartão SD no slot pi, conecte o monitor, teclado e alimentação. Prossiga com as etapas de configuração que o raspian solicita, incluindo conectá-lo à sua rede WiFi e emparelhar seu alto-falante bluetooth através da GUI. Uma boa prática seria atualizá-lo usando os seguintes comandos
sudo apt-get update
sudo apt-get upgrade
Se você quiser incluir a marcação de seu pi sem cabeça, precisaremos primeiro pegar o endereço IP do pi. Por meio de um terminal, você pode encontrá-lo no
ifconfig
comando. Em seguida, você precisa habilitar SSH e VNC nas opções de interface em
sudo raspi-config
Depois de reiniciar, agora você pode testar o acesso ao pi por SSH ou VNC. SSH é apenas uma interface de terminal e você pode achar mais fácil usar a GUI para emparelhar um alto-falante bluetooth. Você pode usar um programa como o VNC Connect para acessar facilmente seu pi em um computador separado em sua rede. Você pode usar um programa como o putty para SSH nele.
Além disso, você pode configurar uma conta de nuvem VNC para que possa acessar o dispositivo fora da rede, se necessário
Etapa 2: instalar o software de rádio sênior
Isso pode ser feito a partir de uma janela de terminal do framboesa pi. Primeiro certifique-se de ter o git instalado
sudo apt-get install git
Dependendo de qual sistema operacional você instalou, essas etapas podem ser diferentes, pois pode ser necessário instalar pacotes adicionais, o sistema irá informá-lo se assim for. Primeiro, precisamos baixar o código de rádio sênior do github. https://github.com/Bunborn/seniorRadio Idealmente, você está fazendo nosso próprio repositório para que possa fazer alterações e alterar facilmente as estações de rádio da mesma forma que eu. Bifurque o repo se assim for
No entanto, você pode usar o mesmo que o meu sem problemas se quiser hospedar seu arquivo json de rádio em outro local
Em seguida, clone o repositório em qualquer local que você quiser. O diretório padrão está bom. Obtenha o URL do repositório github que você deseja clicando no botão verde de clonagem ou download.
De volta à janela do terminal, clone git
Agora você deve ver um diretório extra denominado seniorRadio ao usar ls. Fantástico!
O código deve ser autodocumentado, dar uma olhada nele seria útil. Especialmente para fins de depuração e se você estiver alterando o sistema.
Etapa 3: instalar software adicional
Antes de prosseguirmos para o circuito e testá-lo, também precisamos baixar o VLC e a API python para ele. Você pode já ter o VLC instalado. Os primeiros dois comandos irão atualizar o pi, e os dois últimos comandos abaixo irão instalar o VLC e então a API python
sudo apt-get update
sudo apt-get upgrade
sudo snap install VLC
sudo apt-get install vlc-python
Além disso, instale também o gpiozero, que usaremos para fazer interface com os pinos GPIO do pi. Você pode já tê-lo instalado, dependendo do seu sistema operacional.
sudo apt-get install gpiozero
Etapa 4: encontre streams de estações de rádio
A seguir, uma das partes mais divertidas! É hora de selecionar os streams que você deseja.
No meu arquivo internetStations.json você pode ver meus links de stream, principalmente de notícias e música. Mas há uma tonelada de conteúdo hospedado por aí. A chave aqui é encontrar o endereço de URL do stream direto. Por exemplo, as estações de notícias e música da BBC podem ser encontradas aqui neste blog. Esses streams diretos não terão nenhuma interface gráfica e reproduzirão automaticamente o stream por meio do reprodutor de mídia do navegador. Esses são os URLs de que precisamos para que o VLC possa lê-los! Você pode testar qualquer link rapidamente em seu navegador da web ou através do VLC em seu computador normal para garantir que funcionará no pi.
Para localizar essas estações, você pode procurar o stream direto online se o serviço o hospedar. Uma forma rápida também pode ser reproduzir o stream, clicar com o botão direito do mouse no navegador e clicar em "inspecionar elemento". Navegue até a guia de rede e ela deve indicar o URL 'direto' do stream. Este vídeo do youtube demonstra isso. Atualizar a página com a guia aberta deve ajudar.
Assim que tiver suas estações, você deseja colocá-las online para que seu programa python seniorRadio possa obtê-las. Existem muitas opções para fazer isso, você pode usar sites como Github, bitbucket ou até mesmo sourceforge. O principal objetivo de hospedar essa lista online é que o usuário que a configura possa alterar a lista de stream online remotamente.
No início do programa python, há uma variável chamada url, simplesmente altere-a para ser a URL do seu arquivo json com os links da URL da estação
Você pode seguir o mesmo formato do meu arquivo internetStation.json. Se você também quiser usar o github, pode simplesmente fazer um fork do meu repositório seniorRadio, editar seu próprio arquivo internetStation.json e apontá-lo para aquele URL "bruto". Você pode encontrar isso abaixo na GUI do Github assim que clicar no arquivo.
Etapa 5: criar circuitos
Agora precisamos configurar o circuito. Isso vai mudar com base no seu equipamento, mas a seguir é como eu configurei o meu.
pinout.xyz/ para referência sobre quais pinos são quais. Como estamos usando a biblioteca gpiozero, estamos preocupados apenas com a numeração de pinos do BCM. Observe que comprei alguns codificadores rotativos KY040 extras - os dials - para testá-los, pois nem todos têm a mesma precisão. Cada um teria algum "salto", ou simplesmente saída incorreta, então escolhi o melhor dos dois que tinha. No código, você notará que há algumas etapas para limitar esse salto também.
Eu conectei meu botão ao pino 17 do BCM e aterramento
Meu LED para um resistor de 1k ohm, em seguida, BCM pino 27 e aterramento
Meus codificadores rotativos KY040 tinham o condutor + em 5V, o GND para o aterramento e o SW desconectado. Eles foram conectados por meio de uma mini placa de ensaio
Pino dt do codificador rotativo da estação conectado ao pino 21 do BCM
Pino clk do codificador rotativo da estação conectado ao pino 20 do BCM
Pino dt do codificador rotativo de nível de áudio conectado ao pino 19 do BCM
Pino clk do codificador rotativo de nível de áudio conectado ao pino 16 do BCM
Se você alterar esses pinos, basta atualizar o número no programa python e também onde ele configura os manipuladores
Usei uma mini placa de ensaio para tornar isso mais fácil. Usei fios de jumper M / M e M / F também para facilitar a interface. Soldei alguns fios de jumper nos pinos do botão / LED que comprei anteriormente. Para não soldar, você pode obter botões e LEDs que já têm cabos de jumper ou que se conectam facilmente a um.
Etapa 6: Teste
Agora, você deve ter um sistema funcionando! Vamos testar. Navegue até a pasta com o programa python, provavelmente:
cd seniorRadio
python3 seniorRadio.py
Atualmente, há um atraso de 45 segundos no início do programa para dar tempo de encontrar o alto-falante bluetooth ao ligar. Você pode comentar esta linha se não precisar dela durante o teste. O programa pode dizer que você precisa instalar pacotes adicionais, então vá em frente. Também pode ser necessário instalar uma versão mais recente do Python.
sudo apt-get install python3.7
Alguns problemas possíveis, mesmo se o programa for executado:
Eu não ouço nenhum som
Certifique-se de que o alto-falante está ligado e selecionado em seu pi de framboesa. Por meio da GUI, você deve ser capaz de emparelhá-lo e, em seguida, selecioná-lo como seu dispositivo de saída de áudio. Além disso, verifique seus drivers de áudio. Um problema comum é que você pode precisar reinstalar o pacote pulseaudio
Áudio entrecortado ou corte dentro e fora
Experimente aproximar o dispositivo do seu roteador WiFi. Além disso, certifique-se de que o alto-falante bluetooth está por perto. Também pode ser um problema de driver de áudio
Etapa 7: colocar em um gabinete permanente
Em seguida, coloque-o em uma caixa ou dispositivo semelhante para que ele possa morar permanentemente. Eu recomendo ter um que você possa acessar mais tarde ainda para depuração. Comprei esta pequena caixa de madeira em uma loja de artesanato por US $ 2 e coloquei um link na página de suprimentos. Um dos meus amigos recomendou uma caixa de charutos.
Em seguida, cortei orifícios na frente para o botão de pressão e interruptores rotativos e fiz um orifício na parte de trás da caixa para o cabo de alimentação microUSB.
Testei a montaria e verifiquei se funcionou, e voilà!
Finalmente, usei super cola para segurar o botão. Minha placa de ensaio tinha um adesivo na parte inferior que conectei a parte da caixa. Usei uma pequena tira de fita adesiva para prender a parte de trás do pi na caixa, para que pudesse ser movido mais tarde, se necessário.
Etapa 8: programa de instalação para executar na inicialização
Finalmente, você provavelmente desejará que este programa python seja executado na inicialização do raspberry pi, de forma que não precise fazer isso manualmente. Há muitas maneiras de fazer isso que você pode encontrar online.
Pessoalmente, eu configurei usando a segunda maneira neste tutorial SparkFun:
Aqui, ele espera que o sistema entre na área de trabalho gráfica antes de executar o programa. Em seguida, é atrasado pelo programa python por 45 segundos para dar ao sistema tempo para se reconectar ao alto-falante bluetooth. Se estiver usando um alto-falante integrado, você pode remover esse atraso. Observe que o alto-falante bluetooth deve ser ligado primeiro! (para a solução bluetooth)
Agora você pode tentar desligar e religar seu pi! Após cerca de 90 segundos, seu pi deve começar a tocar os streams de rádio mais uma vez. Ao pressionar o botão, ele fará uma pausa / reproduzirá. Observe que, nessas reinicializações, ele relê o arquivo internetStations json, portanto, se você alterar suas estações, será necessário reiniciar o dispositivo para que funcionem. Parabéns!
Se você fez isso, ou fez modificações no projeto, por favor me avise!
Página do Github:
Recomendado:
Rádio FM Materiales Reciclados + Impressão 3D: 8 Passos
Radio FM Materiales Reciclados + Impresión 3D: Hola, este es mi primer instructable, Tambi é n es mi autoregalo para esta navidad, amante por siempre de la radio la tenia un poco abandonada por los fen ó menos MP3 e streaming, o tema es que he vuelto a escuchar radio y me hacia falta
RÁDIO ARDUINO FM COM RELÓGIO E TERMÔMETRO: 5 Passos
RÁDIO ARDUINO FM COM RELÓGIO E TERMÔMETRO: A banda de transmissão FM, usada para a transmissão de rádio FM por estações de rádio, difere entre as diferentes partes do mundo. Na Europa, Austrália [1] e África ((definida como região 1 da União Internacional de Telecomunicações (UIT))), ele se estende de 87,5 a 108 meg
Rádio FM com RDS (texto de rádio), controle BT e base de carregamento: 5 etapas
Rádio FM com RDS (Rádio Texto), Controle BT e Base de Carregamento: Bonjour, este é o meu segundo " Instrutíveis ". Como gosto de fazer coisas não muito úteis, aqui está o meu último projeto: Este é um rádio FM com Rádio Texto com uma base de carregamento e que pode ser monitorada via Bluetooth e um Android APP; portanto, irei
THE CHEAP HAM - TRANSFORME UM RÁDIO PORTÁTIL EM UM RÁDIO MÓVEL: 6 etapas
THE CHEAP HAM - TRANSFORME UM RÁDIO PORTÁTIL EM UM RÁDIO MÓVEL: Rádio amador móvel com um orçamento apertado? Sim, isso pode ser feito com alguma criatividade. Há uma infinidade de rádios de mão chineses baratos por aí. Esses novos rádios baratos, por sua vez, baixaram os preços de equipamentos para presunto usados de qualidade. Outra coisa que está acrescentando
Remoto Sênior: 5 etapas (com fotos)
Controle remoto sênior: Modifique o controle remoto da TV da sua mãe para torná-lo amigável aos idosos. Minha mãe nasceu em 1931. Ela pertence à geração do rádio e da Segunda Guerra Mundial. Sua visão está falhando e ela não é boa com nada eletrônico. Os controles remotos de TV a confundem. Este mod veio até mim depois que ela ligou