Tabla de contenido:
- Suministros
- Paso 1: Configurar (sin cabeza) Raspberry Pi W
- Paso 2: Instale el software de radio para personas mayores
- Paso 3: instale software adicional
- Paso 4: Encuentra transmisiones de estaciones de radio
- Paso 5: crear circuitos
- Paso 6: ¡Pruébelo
- Paso 7: poner en un recinto permanente
- Paso 8: Configurar el programa para que se ejecute al iniciar
Video: Senior Radio - Raspberry Pi: 8 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
El proyecto Senior Radio es un dispositivo de radio por Internet diseñado y accesible de código abierto con componentes de hardware y software. Está destinado a usuarios familiarizados con el control de una radio de bolsillo donde los diales controlan el volumen y la estación de radio seleccionada. El proyecto se realiza con un diseño centrado en el usuario, enfocado en un usuario que desea un tamaño y controles similares a los de una radio de mano estándar.
Fue construido para satisfacer las necesidades de permitir que las personas con discapacidad puedan escuchar los miles de diferentes contenidos de transmisión de Internet que normalmente solo están disponibles a través de un navegador de Internet. Muchas personas no tienen la capacidad de usar un dispositivo de este tipo fácilmente, por lo que este diseño tiene como objetivo crear una interfaz familiar para una tecnología moderna.
La funcionalidad principal está en Github, almacenada en un programa de Python 3.7.3 llamado seniorRadio.py. Lee y escribe un archivo json para almacenar el estado de la radio, por lo que cuando lo apague recordará el nivel de audio actual y la estación seleccionada. Además, lee un archivo json alojado en línea que puede cambiar. Esto le permite actualizar las estaciones de radio de forma remota si se lo está dando a otra persona.
Actualmente está creado para conectarse a un altavoz bluetooth, pero también se podría hacer que se reproduzca con un altavoz integrado.
Es probable que el creador de este dispositivo no sea el usuario, y necesita al menos algo de experiencia en electrónica y conocimientos básicos de programación. La experiencia con Linux también es muy útil.
Para el usuario, la funcionalidad es simple:
Al encenderlo, reproducirá la última estación seleccionada en el dispositivo de audio predeterminado. El dial izquierdo controla la estación, donde unos pocos clics del dial cambian a una nueva URL. Se desplazará después de la última o la primera entrada. El dial derecho controla el nivel de audio. El LED indica que el programa está encendido. Y el botón hace una pausa o "apaga" la radio. Entonces, una vez encendido, el usuario puede simplemente presionar el botón para pausar / reproducir, o "apagar / encender", la radio y los dos diales para controlarla.
Suministros
Vinculado a cada elemento está el específico que utilicé. ¡Me costó alrededor de $ 60 en total con muchos suministros sobrantes!
Conocimientos básicos de electrónica y linux: para ensamblar y depurar
Raspberry Pi Zero W (Zero WH tiene encabezados presoldados y probablemente útiles)
Tarjeta MicroSD-8 GB + y capacidad o
Adaptador de corriente MicroUSB 5V - Link también incluye un adaptador microHDMI y un adaptador microUSB OTG a USB A para configurarlos si los necesita
bocina Bluetooth
Cables de puente M / F y M / M
2 codificador rotatorio - mismo enlace que el anterior
Placa de pruebas pequeña
Presionar el botón
LED (opcional) - LED comprado + pulsador arriba
Caja para embalaje
Paso 1: Configurar (sin cabeza) Raspberry Pi W
Necesitamos configurar el sistema operativo en la raspberry pi que ejecutará el software. Nada de esto es exclusivo de este proyecto. Para la depuración, recomiendo configurarlo para que también pueda acceder a él en modo sin cabeza. Esto significa que accede al pi a través de su red WiFi a través de GUI o un terminal SSH y no necesita un teclado, mouse y monitor para usarlo todo el tiempo. Puede hacer esto sin necesidad de conectarse a un monitor / mouse / teclado si es más experto en tecnología. Algunas instrucciones de ejemplo aquí. Sin embargo, es menos sencillo y a continuación se muestra otra forma de configurarlo.
Esta primera vez probablemente necesitará:
- Frambuesa Pi W
- Adaptador de tarjeta MicroSD a SD [para escribir SO en la tarjeta SD]
- Tarjeta microSD (~ 8 GB +) [para almacenar el sistema operativo y nuestro programa]
- Potencia microUSB (5V)
- MicroUSB a USB A [para mouse / teclado]
- Adaptador Mini HDMI a HDMI [para salida de pantalla]
- Teclado
- Ratón
- Monitor
Primero, deberá actualizar el sistema operativo en la tarjeta micro SD rPi.
Usé raspian buster, descarga esto en una computadora con una tarjeta SD de lectura / escritura y luego flashea el sistema operativo raspian en la tarjeta SD. BalenaEtcher es un software sencillo para hacer esto
A continuación, coloque la tarjeta SD en la ranura pi, conecte el monitor, el teclado y la alimentación. Continúe con los pasos de configuración que le indica raspian, incluida la conexión a su red WiFi y el emparejamiento de su altavoz bluetooth a través de la GUI. Una buena práctica sería actualizarlo usando los siguientes comandos
sudo apt-get update
sudo apt-get upgrade
Si desea incluir marcar su pi sin cabeza, primero necesitaremos obtener la dirección IP del pi. A través de un terminal puedes encontrarlo a través del
ifconfig
mando. Luego debe habilitar SSH y VNC a través de las opciones de interfaz en
sudo raspi-config
Después de un reinicio, ahora puede probar el acceso a pi a través de SSH o VNC. SSH es solo una interfaz de terminal, y puede que le resulte más fácil usar la GUI para emparejar un altavoz bluetooth. Puede usar un programa como VNC connect para acceder fácilmente a su pi en una computadora separada en su red. Puede usar un programa como putty para SSH en él.
Además, puede configurar una cuenta en la nube VNC para que pueda acceder al dispositivo fuera de la red si es necesario
Paso 2: Instale el software de radio para personas mayores
Esto se puede hacer desde una ventana de terminal de la raspberry pi. Primero asegúrate de tener git instalado
sudo apt-get install git
Dependiendo del sistema operativo que haya instalado, estos pasos pueden ser diferentes, ya que es posible que necesite instalar paquetes adicionales, el sistema le dirá si es así. Primero necesitamos descargar el código de radio senior de github. https://github.com/Bunborn/seniorRadio Idealmente, está creando nuestro propio repositorio para que pueda realizar cambios y cambiar fácilmente las estaciones de radio de la misma manera que yo. Bifurcar el repositorio si es así
Sin embargo, puede usar el mismo que el mío sin problema si desea alojar su archivo json de radio en otro lugar
Luego, clone el repositorio en la ubicación que desee. El directorio predeterminado está bien. Obtenga la URL para el repositorio de github que desea presionando el botón verde de clonación o descarga.
De vuelta en la ventana de la terminal, clon de git
Ahora debería ver un directorio adicional llamado seniorRadio al mirar usando ls. ¡Fantástico!
El código está destinado a ser autodocumentado, sería útil echarle un vistazo. Especialmente para fines de depuración y si está cambiando el sistema.
Paso 3: instale software adicional
Antes de pasar al circuito y probarlo, también necesitamos descargar VLC y la API de Python para ello. Es posible que ya tenga VLC instalado. Los dos primeros comandos actualizarán la pi, y los dos últimos comandos a continuación instalarán VLC y luego la api de python
sudo apt-get update
sudo apt-get upgrade
sudo snap instalar VLC
sudo apt-get install vlc-python
Además, también instale gpiozero, que usaremos para interactuar con los pines GPIO de pi. Es posible que ya lo tenga instalado dependiendo de su sistema operativo.
sudo apt-get install gpiozero
Paso 4: Encuentra transmisiones de estaciones de radio
A continuación, ¡una de las partes más divertidas! Es hora de seleccionar las transmisiones que desee.
En mi archivo internetStations.json puede ver mis enlaces de transmisión, principalmente para noticias y música. Pero hay un montón de contenido alojado por ahí. La clave aquí es encontrar la dirección URL de transmisión directa. Por ejemplo, las estaciones de música y noticias de la BBC se pueden encontrar aquí en este blog. Estas transmisiones directas no tendrán ninguna interfaz gráfica y reproducirán automáticamente la transmisión a través del reproductor multimedia de su navegador. Estas son las URL que necesitamos para que VLC pueda leerlas. Puede probar cualquier enlace rápidamente en su navegador web, oa través de VLC en su computadora normal para asegurarse de que funcionará en el pi.
Para encontrar estas estaciones, puede buscar la transmisión directa en línea si el servicio la aloja. Una forma rápida también podría ser reproducir la transmisión, hacer clic derecho en el navegador y presionar "inspeccionar elemento". Navegue a la pestaña de red y debe indicar la URL 'directa' de la transmisión. Este video de youtube demuestra esto. Actualizar la página con la pestaña abierta debería ayudar.
Una vez que tenga sus estaciones, querrá ponerlas en línea para que su programa python seniorRadio pueda capturarlas. Hay muchas opciones para hacer esto, puede usar sitios como Github, bitbucket o incluso sourceforge. El objetivo principal de alojar esta lista en línea es que el usuario que la configura pueda cambiar la lista de transmisiones en línea de forma remota.
Al comienzo del programa python hay una variable llamada url, simplemente cámbiela para que sea la URL de su archivo json con los enlaces de la URL de la estación
Puede seguir el mismo formato que mi archivo internetStation.json. Si también quisiera usar github, simplemente podría bifurcar mi repositorio seniorRadio, editar su propio archivo internetStation.json y apuntarlo a esa URL "sin procesar". Puede encontrar eso a continuación en la GUI de Github una vez que haya hecho clic en el archivo.
Paso 5: crear circuitos
Ahora necesitamos configurar el circuito. Esto cambiará según su equipo, pero a continuación se muestra cómo configuro el mío.
pinout.xyz/ para referencia sobre qué pines son cuáles. Dado que estamos usando la biblioteca gpiozero, nos preocupamos únicamente por la numeración de pines de BCM. Tenga en cuenta que compré algunos codificadores rotativos KY040 adicionales, los diales, para probarlos, ya que no todos tienen la misma precisión. Cada uno tendría algunos "rebotes", o simplemente una salida incorrecta, así que elegí el mejor de los dos que tenía. En el código, observará que también hay algunos pasos para limitar este rebote.
Conecté mi pulsador al pin 17 de BCM y a tierra
Mi LED a una resistencia de 1k ohmios luego BCM pin 27 y tierra
Mis codificadores rotativos KY040 tenían el cable + a 5V, el GND a tierra y el SW desconectado. Estos estaban conectados a través de una mini placa de pruebas.
Pin dt del codificador rotatorio de la estación conectado al pin 21 del BCM
El pin clk del codificador rotatorio de la estación está conectado al pin 20 del BCM
Pin dt del codificador rotatorio de nivel de audio conectado al pin 19 de BCM
Pin clk del codificador rotatorio de nivel de audio conectado al pin 16 de BCM
Si cambia estos pines, simplemente actualice el número en el programa Python también donde configura los controladores
Usé una mini placa para hacer esto más fácil. También utilicé cables de puente M / M y M / F para facilitar la interfaz. Soldé algunos cables de puente en los pines del botón / LED que compré anteriormente. Para no soldar, puede obtener botones pulsadores y LED que ya tengan cables de puente o que se conecten fácilmente a uno.
Paso 6: ¡Pruébelo
¡Ahora debería tener un sistema en funcionamiento! Probémoslo. Navegue a la carpeta con el programa Python, probablemente:
cd seniorRadio
python3 seniorRadio.py
Actualmente, hay un retraso de 45 segundos al inicio del programa para que tenga tiempo de encontrar el altavoz bluetooth al encenderse. Puede comentar esta línea si no la necesita durante la prueba. El programa puede decirle que necesita instalar paquetes adicionales, continúe si es así. También es posible que deba instalar una versión más reciente de Python.
sudo apt-get install python3.7
Algunos posibles problemas incluso si el programa se ejecuta:
No escucho ningún sonido
Asegúrate de que el altavoz esté encendido y seleccionado en tu raspberry pi. A través de la GUI, debería poder emparejarlo y luego seleccionarlo como su dispositivo de salida de audio. Además, verifique sus controladores de audio. Un problema común es que deba reinstalar el paquete pulseaudio
Audio entrecortado o interrumpido
Intente acercar el dispositivo a su enrutador WiFi. Además, asegúrese de que el altavoz bluetooth esté cerca. También podría ser un problema con el controlador de audio
Paso 7: poner en un recinto permanente
A continuación, ponerlo en una caja o dispositivo similar para que viva de forma permanente. Recomiendo tener uno al que pueda acceder más tarde para depurarlo. Compré esta pequeña caja de madera en una tienda de manualidades por $ 2 y la vinculé en la página de suministros. Uno de mis amigos me recomendó una caja de puros.
Luego corté agujeros en la parte delantera para el botón pulsador y los interruptores giratorios, y perforé un agujero en la parte posterior de la caja para el cable de alimentación microUSB.
Probé la montura y me aseguré de que funcionara, ¡y listo!
Finalmente, utilicé superpegamento para sujetar el botón. Mi tablero tenía un adhesivo en la parte inferior que conecté a parte de la caja. Usé una pequeña tira de cinta adhesiva para asegurar la parte posterior del pi a la caja, de modo que pudiera moverse más tarde si fuera necesario.
Paso 8: Configurar el programa para que se ejecute al iniciar
Finalmente, es probable que desee que este programa de Python se ejecute al iniciar la Raspberry Pi, por lo que no es necesario que lo haga manualmente. Hay muchas formas de hacer esto que puede encontrar en línea.
Personalmente, lo configuré usando la segunda forma en este tutorial de SparkFun:
Aquí, espera a que el sistema ingrese al escritorio gráfico antes de ejecutar el programa. Luego, el programa Python lo retrasa durante 45 segundos para que el sistema tenga tiempo de volver a conectarse al altavoz bluetooth. Si está utilizando un altavoz integrado, puede eliminar este retraso. ¡Tenga en cuenta que el altavoz bluetooth debe estar encendido primero! (para la solución bluetooth)
¡Ahora puedes intentar apagar y volver a encender tu pi! Después de aproximadamente 90 segundos, su pi debería comenzar a reproducir las transmisiones de radio una vez más. Al presionar el botón, se pausará / reproducirá. Tenga en cuenta que en estos reinicios vuelve a leer el archivo json de InternetStations, por lo que si cambia sus estaciones, debe reiniciar el dispositivo para que funcionen. ¡Felicidades!
Si hiciste esto o modificaste el proyecto, ¡házmelo saber!
Página de Github:
Recomendado:
Radio por Internet BOSEBerry Pi: 4 pasos (con imágenes)
BOSEBerry Pi Internet Radio: ¡Me encanta escuchar la radio! Estaba usando una radio DAB en mi casa, pero encontré que la recepción era un poco irregular y el sonido seguía interrumpiéndose, así que decidí construir mi propia radio por Internet. Tengo una fuerte señal wifi en mi casa y el hermano digital
Repotenciación de un circuito de radio antiguo (alimentado por baterías): 4 pasos
Repotenciación de un circuito de radio antiguo (alimentado por baterías): ¿Alguna vez ha tenido una radio vieja que solo funciona con CA y no tiene batería adentro? Hoy, le mostraré cómo alimentar su radio vieja con una batería y es útil si hay una fuente de alimentación. apagón, y la energía de su radio dependía de la batería sin conectar
Manteniéndolo Stoopid Radio por Internet simple: KISSIR: 13 pasos
Manteniéndolo discreto Radio por Internet simple: KISSIR: A veces solo tiene que ser táctil. Sin interfaz de ningún tipo. Solo botones. Raspberry Pi como reproductor de radio por Internet no es nada nuevo, y hay muchos instructivos sobre cómo crear un reproductor de radio por Internet usando un raspberry pi con o sin
Radio FM con RDS (texto de radio), control BT y base de carga: 5 pasos
Radio FM con RDS (texto de radio), control BT y base de carga: Bonjour, este es mi segundo " Instructables ". Como me gusta hacer cosas no muy útiles, aquí está mi último proyecto: esta radio FM con texto de radio con una base de carga y que se puede monitorear a través de Bluetooth y un APPT de Android, por lo tanto
EL JAMÓN BARATO - CONVIERTE UNA RADIO DE MANO EN UNA RADIO MÓVIL: 6 pasos
EL JAMÓN BARATO - CONVIERTE UNA RADIO PORTÁTIL EN UNA RADIO MÓVIL: ¿Radioaficionado móvil con un presupuesto ajustado? Sí, se puede hacer con algo de creatividad. Hay una gran cantidad de radios portátiles chinas baratas por ahí. Estas nuevas radios baratas, a su vez, han reducido los precios de los equipos de radioaficionado usados de calidad. Otra cosa que está agregando