
Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04



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


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





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

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!
Recomandat:
PlotClock, WeMos și Blynk Playing Vintage AMI Jukebox: 6 pași (cu imagini)

PlotClock, WeMos și Blynk Playing Vintage AMI Jukebox: patru inovații tehnice au făcut posibil acest proiect: Rowe AMI Jukebox din 1977, kitul brațului robot PlotClock, microcontrolerul WeMos / ESP 8266 și serviciul Blynk App / Cloud. NOTĂ: Dacă nu aveți Jukebox la îndemână - nu încetați să citiți! Acest proiect poate
Jukebox Casera Por: Tono Kiehnle: 5 pași (cu imagini)

Jukebox Casera Por: Tono Kiehnle: Jukebox hecha en casa programada cu Arduino UNO. Contiene 3 canciones reprodidas por medio de un buzzer pasivo y cuenta with botones de pulso y una screen LCD for the interaction with the user.La jukebox account with 3 botones. 2 de ei se util
Jukebox: 13 pași (cu imagini)

Jukebox: La descoperirea Volumio (Open Audiophile Music Player) m-am gândit că ar putea fi folosit pentru a construi un Jukebox grozav; iar restul este istoric. Următorul instructiv este mai degrabă o imagine de ansamblu generală asupra modului în care am construit acest proiect. Ca atare, unele dintre micile
Random Song Jukebox (Raspberry Pi): 6 pași (cu imagini)

Random Song Jukebox (Raspberry Pi): După ce am păcălit cu un kit Google AIY Voice pentru Raspberry Pi, am decis să refac hardware-ul pentru a crea un tonomat offline. Când un utilizator atinge butonul de sus, se va reda o melodie aleatorie stocată pe Pi. Butonul de volum este acolo pentru a ajuta la reglarea
Steampunk Pi Jukebox care rulează muzică Google: 11 pași (cu imagini)

Steampunk Pi Jukebox care rulează Google Music: AVERTISMENT !! Dacă încercați să faceți un proiect similar, înțelegeți că aveți potențialul de a da peste azbest într-un radio vechi, de obicei, dar nu limitat la un anumit tip de scut termic sau izolație. Vă rugăm să faceți propriile cercetări și să luați măsuri de precauție