Sommario:

Jukebox RFID: 3 passaggi (con immagini)
Jukebox RFID: 3 passaggi (con immagini)

Video: Jukebox RFID: 3 passaggi (con immagini)

Video: Jukebox RFID: 3 passaggi (con immagini)
Video: Ecco come costruire un fichissimo jukebox RFID con Google Home e Chromecast (video) 2024, Dicembre
Anonim
Image
Image
Jukebox RFID
Jukebox RFID

Questa è la mia partecipazione al concorso "Audio" - se sei interessato a questo, per favore votami

Questo post tenterà di creare una versione "scorribile" del video di istruzioni incluso nella parte superiore di questo post

Il video va in grande dettaglio sul flusso di controllo e sul software che sto utilizzando. Dai un'occhiata a questo se vuoi saperne di più.

Il flusso è il seguente:

Funzionamento normale - Lettura di carte e attivazione di Spotify per riprodurre brani:

1) Il tag RFID viene letto da un lettore di schede compatibile

2) Il lettore di schede sputa i dati seriali per ogni scheda su un Arduino

3) Arduino "stampa seriale" i dati che riceve su un lampone pi

4) Pi riceve l'ID della carta da Arduino. Pi cerca l'ID della carta in una tabella per trovare l'URI Spotify corrispondente

5) Pi chiama l'API Spotify per riprodurre l'URI selezionato

Fase di configurazione: associazione del tag RFID con un URI Spotify

1) attraverso 3) dall'alto

4) Pi si aspetta un argomento da riga di comando con l'URI Spotify specifico che desideri associare alla carta

5) Pi crea una nuova voce (o sovrascrive se l'ID della carta è già presente nella tabella) per la coppia cardID, SpotifyURI

Quindi non stai "programmando" questi tag. Questi tag hanno il proprio microcontrollore integrato che modula il campo proveniente dalla bobina del lettore in base al suo ID specifico. Tutto ciò che stai facendo è creare un dizionario di coppie chiave-valore da cui leggere il pi greco.

Ad esempio, supponiamo che io abbia una carta con ID "2_54_57_53_23_33_3". Inizialmente non so quale sia l'ID, ma quando leggo l'output da Arduino dopo averlo scansionato, questo è ciò che viene fuori.

Diciamo che voglio fare in modo che questa carta riproduca l'album dei migliori successi di Al Green quando viene scansionata. Per fare ciò, andrei su Spotify e copierei l'URI dell'album, ottenendo "spotify:album:6W0V8B0fJItvOwC8v114rZ". Ora, come visto nel video, fornisco questo URI a un programma Python per associare l'ID della carta di "2_54_57_53_23_33_3" con l'URI spotify di "spotify:album:6W0V8B0fJItvOwC8v114rZ" in una tabella. La "Chiave" è l'ID della carta e il "valore" è l'URI.

Ora, quando distribuisco il programma principale e il mio pi riceve un ID carta di "2_54_57_53_23_33_3", lo cercherà nella tabella, raccoglierà l'URI ad esso associato e fornirà l'URI come argomento all'API Spotify.

Forniture

Computer dedicato (raspberry pi è il migliore per questo tutorial)

Modulo lettore di schede RFID da collegare al computer dedicato

Tessere RFID compatibili con il tuo lettore

Opzionale ma consigliato: un Arduino di riserva come intermediario tra il lettore e il computer per risparmiare tempo di sviluppo

Passaggio 1: panoramica del codice

Panoramica del codice
Panoramica del codice
Panoramica del codice
Panoramica del codice

Gli screenshot allegati mostrano la struttura del codice di base per l'interfacciamento con Serial su Arduino e pi. Il vantaggio di usare Arduino come intermediario è che posso collegarlo direttamente alla porta USB del Pi come ingresso seriale. Questo mi ha risparmiato un sacco di mal di testa poiché ora non devo sapere come configurare i pin GPIO come input seriale.

La mia particolare combinazione tessera/lettore mi dà l'insolito risultato che tutte le carte iniziano con 2 e finiscono con 3. Questo mi ha dato un modo rapido e sporco di sapere quando inizia o finisce una trasmissione. A seconda delle tessere/lettore che possiedi, il tuo codice dovrà cambiare.

Passaggio 2: integrazione con Spotify

Image
Image
Integrazione Spotify
Integrazione Spotify
Integrazione Spotify
Integrazione Spotify
Integrazione Spotify
Integrazione Spotify

Ora per la parte difficile: interfacciarsi con Spotify. Ho fatto molto affidamento su 3 risorse qui:

1) Il progetto Spotifyd, che consente al tuo dispositivo di apparire come un altoparlante aggiuntivo al tuo account Spotify.

2) Il progetto Diskplayer, in cui un ragazzo a caso ha scritto i propri script di go per l'interfaccia con l'API di Spotify

3) Questo bellissimo uomo che va oltre OAUTH con Spotify. Senza di lui avrei sprecato tante altre ore.

Prima installa Spotifyd e provalo per assicurarti che il pi venga visualizzato come altoparlante sul tuo account.

Quindi, una volta che funziona, ho usato Diskplayer per testare l'API Spotify. È qui che ti chiederà di fornire un token API Spotify. Se stai eseguendo una configurazione senza testa come me, non sarai in grado di aprirlo in un browser sul pi. Per questo motivo, dovrai seguire i passaggi elencati nel video sopra al passaggio 3). Questo progetto non sarebbe stato realizzato senza l'uomo in quel video!

Passaggio 3: renderlo più bello

Rendendolo più bello!
Rendendolo più bello!

Una volta che tutto funziona, rimarrai con un pasticcio di cavi che riproduce tutto ciò che vuoi da Spotify. Per ripulire, metti tutto in una custodia e stampa alcune etichette per le tue carte! Ho usato le etichette Avery 22822 (fornite con un modello Photoshop vuoto per la stampa a casa). Sono stato in grado di estrarre immagini da google e inserirle nel modello di Photoshop secondo necessità. Dopo alcune ore di apprendimento di Photoshop, ho stampato e incollato le etichette sui miei tag RFID vuoti.

Mi sono divertito molto con questo progetto e lo userò in futuro per intrattenere le persone nel mio appartamento. Fammi sapere se finisci per farlo da solo!

Sto partecipando al concorso "Audio" -- se ti è piaciuto, sentiti libero di votare per questo. Grazie!

Consigliato: