Taula de continguts:

Jukebox RFID: 3 passos (amb imatges)
Jukebox RFID: 3 passos (amb imatges)

Vídeo: Jukebox RFID: 3 passos (amb imatges)

Vídeo: Jukebox RFID: 3 passos (amb imatges)
Vídeo: Spoti-Pi: руководство для начинающих по использованию SPOTIFY на RASPBERRY PI 2024, Desembre
Anonim
Image
Image
Jukebox RFID
Jukebox RFID

Aquesta és la meva entrada al concurs "Àudio"; si us interessa, em pregunteu per votació

Aquesta publicació intentarà crear una versió "fàcil de desplaçar" del vídeo de instruccions inclòs a la part superior d'aquesta publicació

El vídeo explica amb gran detall el flux de control i el programari que estic utilitzant. Mireu-ho si voleu obtenir més informació.

El flux és el següent:

Funcionament normal: llegir cartes i activar Spotify per reproduir cançons:

1) Un lector de targetes compatible llegeix l’etiqueta RFID

2) El lector de targetes escup les dades de sèrie de cada targeta a un Arduino

3) Arduino "imprimeix en sèrie" les dades que rep a un pi de gerds

4) Pi rep l'identificador de la targeta d'Arduino. Pi busca l'identificador de la targeta en una taula per trobar l'URI corresponent de Spotify

5) Pi crida a l'API de Spotify per reproduir l'URI seleccionat

Fase de configuració: associació de l'etiqueta RFID a un URI de Spotify

1) a 3) des de dalt

4) Pi espera un argument de línia de comandes amb l'URI específic de Spotify que vulgueu associar a la targeta

5) Pi crea una entrada nova (o anul·la si l'identificador de la targeta ja es troba a la taula) per al parell de l'identificador de targeta, SpotifyURI

Per tant, no esteu "programant" aquestes etiquetes. Aquestes etiquetes tenen el seu propi microcontrolador integrat que modula el camp que prové de la bobina del lector segons la seva identificació específica. Tot el que esteu fent és crear un diccionari de parells de claus i de valors perquè el pi pugui llegir-los.

Per exemple, suposem que tinc una targeta amb l'identificador "2_54_57_53_23_33_3". Al principi no sé què és l’identificador, però quan llegeixo la sortida de l’Arduino després d’escanejar-lo, això és el que surt.

Diguem que vull fer que aquesta carta reprodueixi l’àlbum de grans èxits d’Al Green quan s’escaneja. Per aconseguir-ho, aniria a Spotify i copiaria l'URI de l'àlbum, obtenint "spotify: album: 6W0V8B0fJItvOwC8v114rZ". Ara, tal com es veu al vídeo, subministro aquest URI a un programa python per associar l'identificador de la targeta "2_54_57_53_23_33_3" a l'URI de spotify de "spotify: album: 6W0V8B0fJItvOwC8v114rZ" en una taula. La "clau" és l'identificador de la targeta i el "valor" és l'URI.

Ara, quan desplego el programa principal i el meu pi rep un identificador de la targeta "2_54_57_53_23_33_3", el buscarà a la taula, recopilarà l'URI associat i proporcionarà l'URI com a argument a l'API de Spotify.

Subministraments

Ordinador dedicat (el raspberry pi és el millor per a aquest tutorial)

Mòdul lector de targetes RFID per connectar-se a l’ordinador dedicat

Targetes RFID compatibles amb el vostre lector

Opcional però recomanable: un Arduino de recanvi com a intermediari entre el lector i l'ordinador per estalviar temps de desenvolupament

Pas 1: Visió general del codi

Visió general del codi
Visió general del codi
Visió general del codi
Visió general del codi

Les captures de pantalla adjuntes mostren l'estructura bàsica del codi per a la interfície amb Serial a Arduino i pi. L’avantatge d’utilitzar l’Arduino com a intermediari és que el puc connectar directament al port USB del Pi com a entrada sèrie. Això em va estalviar un munt de mal de cap, ja que ara no he de saber com configurar els pins GPIO com a entrada sèrie.

La meva particular combinació de targetes / lectors em dóna el resultat inusual que totes les cartes comencen amb un 2 i acaben amb un 3. Això em va donar una manera ràpida i bruta de saber quan s’inicia o finalitza una transmissió. En funció de les targetes / lectors que tingueu, el vostre codi haurà de canviar.

Pas 2: integració de Spotify

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

Ara, per la part difícil: la interfície amb Spotify. He confiat molt en tres recursos aquí:

1) El projecte Spotifyd, que permet que el vostre dispositiu aparegui com a altaveu addicional al vostre compte de Spotify.

2) El projecte Diskplayer, en què un noi aleatori va escriure els seus propis scripts go per a la interfície amb l'API de Spotify

3) Aquest bonic home que repassa OAUTH amb Spotify. Sense ell hauria perdut tantes hores més.

Primer instal·leu Spotifyd i proveu-lo per assegurar-vos que el pi apareix com a altaveu al vostre compte.

Després, un cop funcionat, he utilitzat Diskplayer per provar l'API de spotify. És aquí on us demanarà que proporcioneu un testimoni de l'API de Spotify. Si executeu una configuració sense cap com jo, no podreu obrir-la en un navegador del pi. Per aquest motiu, haureu de seguir els passos indicats al vídeo anterior al pas 3). Aquest projecte no hauria passat sense l’home d’aquest vídeo.

Pas 3: fer que sembli més agradable

Fer que sembli més agradable!
Fer que sembli més agradable!

Un cop tot funcioni, se us quedarà un embolic de cables que reprodueix qualsevol cosa que vulgueu de Spotify. Per netejar-lo, poseu-ho tot en una funda i imprimiu algunes etiquetes per a les vostres cartes. He utilitzat etiquetes Avery 22822 (que vénen amb una plantilla de Photoshop en blanc per imprimir a casa). Vaig poder extreure imatges de Google i donar-los cops a la plantilla de Photoshop segons calgués. Després d’unes hores d’aprendre Photoshop, vaig imprimir i enganxar les etiquetes a les etiquetes RFID en blanc.

M’he divertit molt amb aquest projecte i el faré servir en el futur per entretenir a la gent del meu apartament. Aviso'm si ho acabes fent tu mateix!

Participo al concurs "Àudio"; si us ha agradat, no dubteu a votar-ho. Gràcies!

Recomanat: