Tabla de contenido:

Radio que habla Pi Zero: 7 pasos (con imágenes)
Radio que habla Pi Zero: 7 pasos (con imágenes)

Video: Radio que habla Pi Zero: 7 pasos (con imágenes)

Video: Radio que habla Pi Zero: 7 pasos (con imágenes)
Video: CUAL ES EL HOMBRE QUE INTRODUCE SU INSTRUMENTO? 🤨🤨 #staryuuki #staryuukiii 2024, Noviembre
Anonim
Image
Image
Radio parlante Pi Zero
Radio parlante Pi Zero
Radio parlante Pi Zero
Radio parlante Pi Zero
Radio parlante Pi Zero
Radio parlante Pi Zero

Esta es una radio de mesa DeWald de finales de la década de 1940 a la que le he dado una nueva vida usando una Raspberry Pi Zero, ¡una Blinkt! Tira de LED y un par de altavoces para PC. Lee las notificaciones de una variedad de servicios conectados a Internet utilizando el motor de texto a voz (TTS) de Pyvona y la integración IF This Then That (IFTTT). Los LED son increíblemente brillantes e iluminan el dial de la radio con un color diferente según las palabras clave en el texto de notificación, por ejemplo, "youtube" = rojo.

Compré esta pequeña y dulce radio en una venta de maletero durante el verano por £ 3 - ¡Me cautivó de inmediato su tamaño compacto y diseño clásico, y logré ver su potencial a través del exterior descolorido por el sol y muchas grietas! He querido crear "algo decente para la sala de estar" desde hace un tiempo y este era el punto de partida ideal. He experimentado con notificaciones de texto a voz antes en el proyecto Rabbit Pi y esperaba aprovechar lo que había aprendido para hacer algo que "simplemente funcionara" a diario.

En caso de que no pueda ver el video incrustado, está en:

Paso 1: Blinkty Pi

Blinkty Pi
Blinkty Pi
Blinkty Pi
Blinkty Pi

¡Recogí mi primer Pi Zeros recientemente y al instante me sorprendió su pequeño tamaño! Después de soldar el cabezal GPIO y conectar los adaptadores, el primero estaba listo para funcionar. Originalmente había planeado hacer un Rabbit Pi mejorado, pero después de un tiempo esto se sintió más como un trabajo que divertido, así que lo dejé de lado, aunque no antes de comenzar a experimentar con un Unicorn pHAT, una matriz de 4x8 de LED programables, que era un montón absoluto. ¡de diversion! El único inconveniente era que el uso de pHAT complicaba la configuración de audio y quería que mi próximo proyecto fuera realmente simple.

¡Todo encajó en el Cambridge Raspberry Jam en septiembre cuando vi el Blinkt! a la venta en el puesto de Pimoroni: es como el Unicorn pHAT pero con una sola fila de 8 LED, perfectamente dimensionados para caber en el encabezado GPIO de un pi zero. Viene con una gran cantidad de documentación y ejemplos y estuvo en funcionamiento en poco tiempo; ahora era el momento de comenzar a armar el resto del código.

Paso 2: Código hablado

Código parlante
Código parlante

Comencé con una copia del código principal de Rabbit Pi, ya que este ya tenía mis credenciales de conversión de texto a voz de Ivona almacenadas. Debe configurar una cuenta de desarrollador de Ivona antes de usar el servicio, pero el proceso es sencillo, como lo he documentado antes.

El siguiente paso fue instalar Pyvona, el contenedor de Python para integrar con el servicio Ivona TTS, que no podría haber sido más fácil (pip install pyvona).

Con esto en su lugar, comencé a enmendar el código Rabbit Pi, eliminando las referencias al control del motor y la toma de selfies para dejarme solo con los bits que leen las notificaciones de las líneas de Asunto de los mensajes de Gmail. El desarrollo crítico con este código fue agregar una serie de declaraciones IF para buscar palabras clave específicas en los mensajes, de modo que Blinkt! brillaría en diferentes colores dependiendo del mensaje.

Esto me tomó un tiempo ya que todavía me encuentro bien con Python, pero habiendo definido mis palabras clave ("Nublado", "Atardecer", "Duchas", "Facebook", "Twitter", "Youtube" y "Soleado") ¡Pude controlar el Blinkt! color dependiendo del texto que se leyó.

El código simple, aunque poco elegante, que usé está en GitHub, ¡aunque ya agregué más palabras clave y colores! Lo probé fuera de la carcasa con un altavoz a batería; más adelante, más sobre la configuración de audio. El último paso fue configurar el script de Python, radiot.py, para que se ejecutara al inicio.

Paso 3: Central de notificaciones

Central de notificaciones
Central de notificaciones

Ahora que el Pi leería los mensajes de manera confiable y brillaría en diferentes colores, necesitaba configurar las notificaciones para que se transmitieran de manera espontánea; recuerdo que en una vieja caricatura de Tom & Jerry, la radio se activaba ocasionalmente (Jerry's Diary (1949)) ¡El mismo período que la radio!) y este es el efecto que buscaba, que se sentaría en la esquina y se vería bien, de vez en cuando se iluminaba y leía notificaciones que de otro modo no captaría en mi teléfono.

Primero configuré una cuenta de Gmail separada para recibir los correos electrónicos de notificación; esto significaba que no sería bombardeado con notificaciones de correo nuevo ni contaminaría mi bandeja de entrada existente con cientos de mensajes generados automáticamente.

Luego pasé a IFTTT (IF This Then That) para configurar la automatización. Con IFTTT puede conectar fácilmente varios "Canales" a su cuenta y configurarlos para que interactúen entre sí mediante "Recetas", en este caso canalizando múltiples redes sociales y acciones del mundo real en un flujo de correos electrónicos. Personalicé la parte "Entonces eso" de las Recetas para que todos enviaran un correo electrónico a la cuenta de Gmail que configuré para recibir notificaciones, y usé la sección "Ingredientes" para asegurarme de que la información clave se incluiría en el Asunto del correo electrónico., la parte que se lee. Por el momento tengo configuradas las siguientes recetas de IFTTT, ¡pero estas se están agregando todo el tiempo!

  • Todos los días a las 9 p.m. enviar el clima de mañana por correo electrónico
  • Todos los días en Sunset envíe la fecha y la hora por correo electrónico
  • SI estoy etiquetado en una foto de Facebook envía un correo electrónico
  • SI mi teléfono está enchufado / desenchufado, envíe el porcentaje de batería por correo electrónico
  • SI entro en una zona geográfica envíe un correo electrónico "¡MisterM ha llegado al trabajo!"
  • SI subo un video de YouTube, envíe un correo electrónico
  • SI una persona específica tuitea, envíalo por correo electrónico
  • SI comienza un evento del calendario de Google, envíelo por correo electrónico
  • SI el clima actual cambia a lluvia, envíe un correo electrónico ("¡Cuidado, está a punto de comenzar a llover!"
  • SI el enchufe inteligente está encendido o apagado, envíe un correo electrónico
  • SI se recibe un nuevo mensaje SMS, envíelo por correo electrónico
  • SI la batería del teléfono desciende por debajo del 15%, envíe un correo electrónico ("Cargue su teléfono, idiota")
  • SI tengo un nuevo seguidor de Twitter o menciono enviar un correo electrónico

Es una gran combinación de eventos diarios predecibles y anuncios inesperados: mi favorito es la notificación Sunset, es interesante en esta época del año ver cómo cambia la hora a diario. Las notificaciones de Twitter son las más divertidas, en el momento en que lee en voz alta los nuevos tweets de "Beef & Dairy Network", "Very British Problems", "My Sweary Cat" y "Henry Thoreau" (aunque algunos de estos se desactivan en la aplicación IFTTT en compañía educada). Poder leer cuentas de Twitter específicas lo hace realmente flexible, y estas se pueden personalizar a través de IFTTT en lugar de tener que reprogramar la Pi cada vez.

Paso 4: Opciones de audio

Opciones de audio
Opciones de audio
Opciones de audio
Opciones de audio
Opciones de audio
Opciones de audio
Opciones de audio
Opciones de audio

A continuación, necesitaba ordenar el audio, ¡con dos desafíos! En primer lugar, cómo sacar el audio del Pi. A diferencia de su hermano mayor, el Pi Zero no tiene salida de audio de 3,5 mm, por lo que necesitaba usar algún tipo de adaptador. Inicialmente pensé que usaría un conector HDMI a VGA + Audio, pero esto parecía excesivo (¡y lo necesitaba para otro proyecto!), Así que usé un adaptador de audio USB barato. Esto fue bastante fácil de configurar, solo un caso de configurar la tarjeta de sonido USB como el dispositivo ALSA predeterminado en el Pi. Esto significaba que necesitaba incluir un concentrador USB para alojar el adaptador WiFi, pero logré desmontar y reutilizar uno viejo que tenía por ahí.

En segundo lugar, necesitaba elegir una combinación de amplificador / altavoz que ofreciera un sonido de buena calidad y estuviera constantemente encendida. Anteriormente he usado parlantes que funcionan con baterías, pero al necesitar una carga regular, estos no serían buenos para un uso "siempre encendido", además, a menudo tenían un silbido de fondo notable. También he canibalizado viejos muelles para iPod en el pasado, pero estos tendían a tener "funciones" de ahorro de energía y se apagaban después de unos minutos de silencio.

Fui con algo nuevo al final, un par de parlantes para PC por el precio de oferta de £ 6.99. No esperaba demasiado, pero la calidad del sonido fue absolutamente buena, sin silbidos ni interrupciones. La ventaja adicional de los altavoces de la PC era que incluían un interruptor de encendido / apagado y un dial de volumen, que esperaba poder conectar a los controles originales de la radio. Todo funcionó en el banco, ¡así que ahora era el momento de colocarlo en el estuche!

Paso 5: Montaje retro

Montaje retro
Montaje retro
Montaje retro
Montaje retro
Montaje retro
Montaje retro

Cuando llevé la radio a casa por primera vez, eliminé los circuitos originales que estaban, en algunos lugares, literalmente, tostados. Sin embargo, me impresionó la construcción original, obviamente estaba diseñada para ser desmontada y fijada fácilmente, ya que después de deshacer un par de pernos, todo el conjunto se deslizó sobre una especie de chasis. Decidí usar el mismo enfoque y juntar los nuevos componentes en una base que luego podría deslizarse dentro de la caja y asegurarse como el original.

Comencé con un estante de madera delgado de un estante de DVD viejo, lo corté a la medida y taladré agujeros para los pernos de la caja. A continuación, desmantelé los altavoces, cortando las cajas de plástico con una sierra para metales y una herramienta giratoria. Los altavoces ahora delgados se fijaron a la base de madera con un soporte de 90 grados hecho de Meccano. El circuito del amplificador fue el siguiente, debido a las limitaciones de espacio, desafortunadamente, esto tuvo que montarse al revés y elevarse aproximadamente una pulgada por encima de la base. Tuve que construir algún tipo de arreglo de pilares para sostener y asegurar la tabla, pero me quedé atascado con la forma de hacerlo de manera ordenada. La solución ideal estaba justo debajo de mi nariz: ¡un lápiz de color! Corté secciones del lápiz a medida, luego las coloqué en los agujeros perforados en la base. Lo perfecto de usar un lápiz de color es que la "mina" en el centro se puede perforar fácilmente, dejando un orificio conveniente para los tornillos de la placa de circuito.

Usé una combinación de piezas de Meccano y Lego para hacer un soporte para sostener el Pi y arreglé los cables perdidos con bridas. Los interruptores de volumen y encendido / apagado estaban más separados en la placa de circuito del altavoz que los orificios en la carcasa de la radio (no se puede tener todo), así que los extendí usando secciones de un palito de plástico hueco.

Paso 6: Trabajo de caso

Trabajo de caso
Trabajo de caso
Trabajo de caso
Trabajo de caso
Trabajo de caso
Trabajo de caso

Como mencioné anteriormente, la carcasa de la radio estaba en un estado terrible, así que reparé los peores agujeros y grietas con polyfilla y lo lijé por todas partes. Decidí seguir con un bonito color crema para la pintura, para coordinar con el marrón del dial de sintonización. La pintura decía ser "imprimación y pintura en uno", pero primero le di algunas capas de imprimación solo para estar seguro. Las perillas requirieron un poco de limpieza (¡más de 60 años de suciedad!) Pero salieron bien: solo aseguré la perilla de ajuste de color crema original al dial con un perno, ya que no estaba conectado a ningún componente.

Una vez que la pintura se hubo endurecido, llegó el momento de juntarlo todo, ¡normalmente la parte de un proyecto que más pone a prueba mi paciencia! Esta vez fue muy suave, ya que toda la construcción difícil ya estaba hecha en la base, todo lo que tuve que hacer fue deslizar el conjunto en la caja, asegurarlo con los pernos y colocar las perillas.

Faltaba la tapa trasera de la radio, así que hice una nueva a partir de un marco de fotos antiguo, pintándola del mismo color crema.

Paso 7: Tiempos de radio

Tiempos de radio
Tiempos de radio
Tiempos de radio
Tiempos de radio
Tiempos de radio
Tiempos de radio

Este fue un proyecto realmente divertido de construir, fue bueno mantener las cosas bastante simples y concentrarse en hacerlo lo más limpio posible. A veces tuve la tentación de agregar un micrófono para la integración de Alexa, e incluso consideré seriamente construir un Chromecast Audio (para mis podcasts nuevos favoritos al estilo de la radio antigua), pero me alegro de haberlo mantenido simple y Estoy encantado con el resultado.

Ahora está instalado en un altavoz en la esquina de la sala de estar, iluminado y hablando ocasionalmente como esperaba. El único pequeño inconveniente es que la esfera translúcida de color crema y marrón hace que sea más difícil mostrar la gama de colores brillantes del Blinkt. Es bastante obvio para las notificaciones de puesta de sol (naranja) y los mensajes de texto (violeta), pero los del clima son un poco iguales: ¡creo que solo necesito experimentar con diferentes códigos de color RGB!

Si te gusta este proyecto y quieres ver más, puedes visitar mi sitio web para ver las actualizaciones del proyecto en progreso en bit.ly/OldTechNewSpec, únete a Twitter @OldTechNewSpec o suscríbete al creciente canal de YouTube en bit.ly/oldtechtube - give algunos de sus Old Tech una nueva especificación!

Concurso de constructores de IoT
Concurso de constructores de IoT
Concurso de constructores de IoT
Concurso de constructores de IoT

Segundo premio en el concurso de constructores de IoT

Recomendado: