Tabla de contenido:

Jukebox RFID: 3 pasos (con imágenes)
Jukebox RFID: 3 pasos (con imágenes)

Video: Jukebox RFID: 3 pasos (con imágenes)

Video: Jukebox RFID: 3 pasos (con imágenes)
Video: Raspberry Pi Jukebox RFID (upcycling prototype) 2024, Noviembre
Anonim
Image
Image
Jukebox RFID
Jukebox RFID

Esta es mi participación en el concurso de "Audio". Si está interesado en esto, ¡por favor envíeme un voto

Esta publicación intentará crear una versión "fácil de desplazar" del video instructivo incluido en la parte superior de esta publicación

El video entra en gran detalle sobre el flujo de control y el software que estoy usando. Échele un vistazo si desea obtener más información.

El flujo es el siguiente:

Funcionamiento normal: lectura de tarjetas y activación de Spotify para reproducir canciones:

1) La etiqueta RFID es leída por un lector de tarjetas compatible

2) El lector de tarjetas escupe datos en serie para cada tarjeta a un Arduino

3) Arduino "imprime en serie" los datos que recibe en una raspberry pi

4) Pi recibe la identificación de la tarjeta de Arduino. Pi busca el ID de la tarjeta en una tabla para encontrar el URI de Spotify correspondiente

5) Pi llama a la API de Spotify para reproducir el URI seleccionado

Fase de configuración: asociación de la etiqueta RFID con un URI de Spotify

1) a 3) desde arriba

4) Pi espera un argumento de línea de comando con el URI de Spotify específico que desea asociar con la tarjeta

5) Pi crea una nueva entrada (o anula si el ID de la tarjeta ya se encuentra en la tabla) para el cardID, par SpotifyURI

Por lo tanto, no está "programando" estas etiquetas. Estas etiquetas tienen su propio microcontrolador incorporado que modula el campo proveniente de la bobina del lector al tono de su ID específico. Todo lo que está haciendo es crear un diccionario de pares clave y valor para que el pi lea.

Por ejemplo, digamos que tengo una tarjeta con ID "2_54_57_53_23_33_3". Inicialmente no sé cuál es la ID, pero cuando leo la salida del Arduino después de escanearla, esto es lo que sale.

Digamos que quiero hacer que esta tarjeta reproduzca el álbum de grandes éxitos de Al Green cuando se escanea. Para lograr esto, iría a Spotify y copiaría el URI del álbum, obteniendo "spotify: album: 6W0V8B0fJItvOwC8v114rZ". Ahora, como se ve en el video, proporciono este URI a un programa de Python para asociar el ID de la tarjeta de "2_54_57_53_23_33_3" con el URI de Spotify de "spotify: album: 6W0V8B0fJItvOwC8v114rZ" en una tabla. La "Clave" es el ID de la tarjeta y el "valor" es el URI.

Ahora, cuando implemento el programa principal, y mi pi recibe un ID de tarjeta de "2_54_57_53_23_33_3", lo buscará en la tabla, recopilará el URI asociado con él y proporcionará el URI como argumento a la API de Spotify.

Suministros

Computadora dedicada (raspberry pi es lo mejor para este tutorial)

Módulo lector de tarjetas RFID para conectar a la computadora dedicada

Tarjetas RFID compatibles con su lector

Opcional pero recomendado: un Arduino de repuesto como intermediario entre el lector y la computadora para ahorrar tiempo de desarrollo

Paso 1: descripción general del código

Descripción general del código
Descripción general del código
Descripción general del código
Descripción general del código

Las capturas de pantalla adjuntas muestran la estructura de código básica para interactuar con Serial en Arduino y pi. La ventaja de usar Arduino como intermediario es que puedo conectarlo directamente al puerto USB del Pi como entrada en serie. Esto me ahorró un montón de dolores de cabeza ya que ahora no tengo que saber cómo configurar los pines GPIO como entrada en serie.

Mi combinación de tarjeta / lector en particular me da el resultado inusual de que todas las tarjetas comienzan con un 2 y terminan con un 3. Esto me dio una forma rápida y sucia de saber cuándo una transmisión está comenzando o terminando. Dependiendo de las tarjetas / lector que tenga, su código tendrá que cambiar.

Paso 2: Integración de Spotify

Image
Image
Integración de Spotify
Integración de Spotify
Integración de Spotify
Integración de Spotify
Integración de Spotify
Integración de Spotify

Ahora, la parte difícil: interactuar con Spotify. Confié en gran medida en 3 recursos aquí:

1) El proyecto Spotifyd, que permite que su dispositivo aparezca como un altavoz adicional en su cuenta de Spotify.

2) El proyecto Diskplayer, en el que un tipo al azar escribió sus propios scripts go para interactuar con la API de Spotify

3) Este hermoso hombre que pasa por OAUTH con Spotify. Sin él, habría perdido tantas horas más.

Primero instale Spotifyd y pruébelo para asegurarse de que pi aparece como un altavoz en su cuenta.

Luego, una vez que funcionó, usé Diskplayer para probar la API de Spotify. Es aquí donde le pedirá que proporcione un token de API de Spotify. Si está ejecutando una configuración sin cabeza como yo, no podrá abrirla en un navegador en la pi. Por esta razón, deberá seguir los pasos enumerados en el video anterior en el paso 3). ¡Este proyecto no habría sucedido sin el hombre de ese video!

Paso 3: ¡Haga que se vea mejor

¡Haciendo que se vea mejor!
¡Haciendo que se vea mejor!

Una vez que todo funcione, te quedarás con un lío de cables que reproduce todo lo que quieras de Spotify. Para limpiarlo, guarde todo en un estuche e imprima algunas etiquetas para sus tarjetas. Usé etiquetas Avery 22822 (que vienen con una plantilla de Photoshop en blanco para imprimir en casa). Pude extraer imágenes de Google y colocarlas en la plantilla de Photoshop según fuera necesario. Después de algunas horas de aprender Photoshop, imprimí y pegué las etiquetas en mis etiquetas RFID en blanco.

Me divertí mucho con este proyecto y lo usaré en el futuro para entretener a la gente en mi apartamento. ¡Avísame si terminas haciéndolo tú mismo!

Estoy participando en el concurso "Audio". Si lo disfrutaste, no dudes en votar por esto. ¡Gracias!

Recomendado: