Jukebox RFID: 3 pași (cu imagini)
Jukebox RFID: 3 pași (cu imagini)
Anonim
Image
Image
Jukebox RFID
Jukebox RFID

Aceasta este intrarea mea în concursul „Audio” - dacă vă interesează acest lucru, atunci vă rog să mă aruncați un vot

Această postare va încerca să creeze o versiune „scroll friendly” a videoclipului cu instrucțiuni inclus în partea de sus a acestei postări

Videoclipul este foarte detaliat despre fluxul de control și despre ce software folosesc. Aruncați o privire la asta dacă doriți să aflați mai multe.

Debitul este după cum urmează:

Funcționare normală - citirea cărților și declanșarea Spotify pentru a reda melodii:

1) Eticheta RFID este citită de un cititor de carduri compatibil

2) Cititorul de carduri scuipă date seriale pentru fiecare card către un Arduino

3) Arduino „Serial print” datele pe care le primește către un pi zmeură

4) Pi primește ID-ul cardului de la Arduino. Pi caută ID-ul cardului într-un tabel pentru a găsi URI-ul Spotify corespunzător

5) Pi apelează Spotify API pentru a reda URI selectat

Faza de configurare: asocierea etichetei RFID cu un URI Spotify

1) până la 3) de sus

4) Pi așteaptă un argument de linie de comandă cu URI-ul specific Spotify pe care doriți să îl asociați cu cardul

5) Pi creează o nouă intrare (sau suprascrie dacă ID-ul cardului este deja găsit în tabel) pentru cardID, perechea SpotifyURI

Deci, nu „programați” aceste etichete. Aceste etichete au propriul lor microcontroler încorporat care modulează câmpul care vine de la bobina cititorului în funcție de ID-ul său specific. Tot ce faceți este să creați un dicționar de chei, perechi de valori pentru ca pi să poată citi.

De exemplu, să presupunem că am un card cu ID-ul „2_54_57_53_23_33_3”. Nu știu inițial ce este ID-ul, dar când am citit ieșirea de pe Arduino după ce l-am scanat, acesta este ceea ce iese.

Să presupunem că vreau să fac ca această carte să redea cel mai mare album de succes al lui Al Green atunci când este scanată. Pentru a realiza acest lucru, aș merge la Spotify și copiez URI-ul albumului, obținând „spotify: album: 6W0V8B0fJItvOwC8v114rZ”. Acum, așa cum se vede în videoclip, furnizez acest URI unui program python pentru a asocia ID-ul cardului „2_54_57_53_23_33_3” cu URI-ul spotify al „spotify: album: 6W0V8B0fJItvOwC8v114rZ” într-un tabel. „Cheia” este ID-ul cardului, iar „valoarea” este URI-ul.

Acum, când implementez programul principal, iar pi-ul meu primește un ID de card „2_54_57_53_23_33_3”, îl va căuta în tabel, va aduna URI-ul asociat acestuia și va furniza URI ca argument API-ului Spotify.

Provizii

Calculator dedicat (raspberry pi este cel mai bun pentru acest tutorial)

Modul cititor de carduri RFID pentru conectarea la computerul dedicat

Carduri RFID compatibile cu cititorul dvs.

Opțional, dar recomandat: un Arduino de rezervă ca intermediar între cititor și computer pentru a economisi timp de dezvoltare

Pasul 1: Prezentare generală a codului

Prezentare generală a codului
Prezentare generală a codului
Prezentare generală a codului
Prezentare generală a codului

Capturile de ecran atașate arată structura de cod de bază pentru interfața cu Serial pe Arduino și pi. Avantajul utilizării Arduino ca om intermediar este că îl pot conecta direct la portul USB al Pi ca intrare serială. Acest lucru mi-a salvat o grămadă de dureri de cap, deoarece acum nu trebuie să știu cum să configurez pinii GPIO ca intrare serială.

Combinația mea specială de carduri / cititoare îmi oferă rezultatul neobișnuit că toate cărțile încep cu un 2 și se termină cu un 3. Acest lucru mi-a oferit un mod rapid și murdar de a ști când începe sau se termină o transmisie. În funcție de cardurile / cititorul pe care îl aveți, codul dvs. va trebui să se schimbe.

Pasul 2: Integrarea Spotify

Image
Image
Integrare Spotify
Integrare Spotify
Integrare Spotify
Integrare Spotify
Integrare Spotify
Integrare Spotify

Acum, pentru partea dificilă - interfața cu Spotify. M-am bazat foarte mult pe 3 resurse aici:

1) Proiectul Spotifyd, care permite dispozitivului dvs. să apară ca difuzor suplimentar în contul dvs. Spotify.

2) Proiectul Diskplayer, în care un tip întâmplător și-a scris propriile scripturi go pentru interfață cu API-ul Spotify

3) Acest om frumos care trece peste OAUTH cu Spotify. Fără el aș fi pierdut încă atât de multe ore.

Mai întâi instalați Spotifyd și testați-l pentru a vă asigura că pi apare ca difuzor în contul dvs.

Apoi, odată ce a funcționat, am folosit Diskplayer pentru a testa API-ul spotify. Aici vă va cere să furnizați un simbol API Spotify. Dacă rulați o configurare fără cap ca mine, nu veți putea să o deschideți într-un browser de pe pi. Din acest motiv, va trebui să urmați pașii enumerați în videoclipul de mai sus la pasul 3). Acest proiect nu s-ar fi întâmplat fără omul din acel videoclip!

Pasul 3: Fă-l să arate mai frumos

Făcând-o să arate mai frumos!
Făcând-o să arate mai frumos!

Odată ce totul funcționează, veți rămâne cu o mizerie de fire care redă orice doriți de la Spotify. Pentru a-l curăța, puneți totul într-o cutie și imprimați niște etichete pentru cărțile dvs.! Am folosit etichete Avery 22822 (care vin cu un șablon Photoshop gol pentru imprimare acasă). Am reușit să extrag imagini de pe google și să le plesnesc în șablonul Photoshop după cum este necesar. După câteva ore de învățare Photoshop, am imprimat și am lipit etichetele pe etichetele RFID goale.

M-am distrat mult cu acest proiect și îl voi folosi în viitor pentru a distra oamenii la apartamentul meu. Anunță-mă dacă ajungi să o faci singur!

Particip la acest concurs „Audio” - dacă ți-a plăcut, nu ezita să votezi pentru asta. Mulțumiri!