2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Ovo je moj rad na natječaju "Audio" - ako vas ovo zanima, dajte mi glas
Ovaj će post pokušati stvoriti "scroll friendly" verziju videa s uputama na vrhu ovog posta
Videozapis detaljno opisuje tijek upravljanja i softver koji koristim. Pogledajte to ako želite saznati više.
Tok je sljedeći:
Normalan rad - čitanje kartica i aktiviranje programa Spotify za reprodukciju pjesama:
1) RFID oznaku čita kompatibilan čitač kartica
2) Čitač kartica izbacuje serijske podatke za svaku karticu u Arduino
3) Arduino "Serijski ispisuje" podatke koje prima na malinu pi
4) Pi prima ID kartice od Arduina. Pi traži ID kartice u tablici kako bi pronašao odgovarajući Spotify URI
5) Pi poziva Spotify API da reproducira odabrani URI
Faza postavljanja: Povezivanje RFID oznake sa Spotify URI -em
1) do 3) odozgo
4) Pi očekuje arg naredbenog retka s određenim URI -om Spotifyja koji želite povezati s karticom
5) Pi stvara novi unos (ili poništava ako je ID kartice već pronađen u tablici) za par cardID, SpotifyURI
Dakle, ne "programirate" ove oznake. Ove oznake imaju vlastiti ugrađeni mikrokontroler koji modulira polje koje dolazi iz čitača zavojnice u skladu s njegovim specifičnim ID-om. Sve što radite je kreiranje rječnika parova ključeva i vrijednosti iz kojih pi može čitati.
Na primjer, recimo da imam karticu s ID -om "2_54_57_53_23_33_3". U početku ne znam koji je to ID, ali kad pročitam izlaz s Arduina nakon što sam ga skenirao, ovo dolazi do izražaja.
Recimo da želim da ova karta svira album najvećih hitova Al Green -a kad se skenira. Da bih to postigao, otišao bih na Spotify i kopirao URI albuma, dobivajući "spotify: album: 6W0V8B0fJItvOwC8v114rZ". Sada, kao što se vidi u videu, isporučujem ovaj URI programu Python da poveže ID kartice "2_54_57_53_23_33_3" s URI spotifyja "spotify: album: 6W0V8B0fJItvOwC8v114rZ" u tablici. "Ključ" je ID kartice, a "vrijednost" je URI.
Sada, kada postavim glavni program, a moj pi primi ID kartice "2_54_57_53_23_33_3", potražit će ga u tablici, prikupiti URI povezan s njim i dostaviti URI kao argument za Spotify API.
Pribor
Namjensko računalo (malina pi je najbolja za ovaj vodič)
Modul čitača RFID kartica za povezivanje s namjenskim računalom
RFID kartice kompatibilne s vašim čitačem
Izborno, ali preporučljivo: Rezervni Arduino kao posrednik između čitača i računala radi uštede vremena za razvoj
Korak 1: Pregled koda
Priloženi snimci zaslona prikazuju osnovnu strukturu koda za povezivanje sa Serijom na Arduinu i pi. Prednost korištenja Arduina kao posrednika je to što ga mogu priključiti izravno u Pi -jev USB port kao serijski ulaz. Ovo mi je uštedjelo tonu glavobolje jer sada ne moram znati postaviti GPIO pinove kao serijski ulaz.
Moja posebna kombinacija kartica/čitač daje mi neobičan rezultat da sve kartice počinju s 2, a završavaju s 3. To mi je omogućilo brz i prljav način da znam kada prijenos počinje ili završava. Ovisno o karticama/čitaču koji imate, vaš će se kôd morati promijeniti.
Korak 2: Spotify integracija
A sada najteži dio - povezivanje sa Spotifyjem. Ovdje sam se uvelike oslanjao na 3 izvora:
1) Projekt Spotifyd koji omogućuje vašem uređaju da se pojavi kao dodatni zvučnik vašem računu Spotify.
2) Projekt Diskplayer, u kojem je neki slučajni tip napisao vlastite go skripte za povezivanje sa Spotify API -jem
3) Ovaj lijepi muškarac koji sa Spotifyjem prelazi OAUTH. Bez njega bih izgubio još toliko sati.
Najprije instalirajte Spotifyd i testirajte ga kako biste bili sigurni da se pi prikazuje kao zvučnik vašeg računa.
Zatim, kad to uspije, iskoristio sam Diskplayer za testiranje spotify API -ja. Ovdje će vas tražiti da dostavite Spotify API token. Ako pokrećete bezglavo postavljanje poput mene, nećete ga moći otvoriti u pregledniku na pi. Iz tog razloga morate slijediti korake navedene u gornjem videu u koraku 3). Ovaj se projekt ne bi dogodio bez čovjeka u tom videu!
Korak 3: Neka ljepše izgleda
Kad sve funkcionira, ostat ćete s neredom žica koji reproducira sve što želite od Spotifyja. Da biste ga očistili, stavite sve u kutiju i ispišite neke naljepnice za svoje kartice! Koristio sam naljepnice Avery 22822 (koje dolaze s praznim predloškom Photoshopa za ispis kod kuće). Uspio sam povući slike s googla i po potrebi ih ubaciti u predložak photoshopa. Nakon nekoliko sati učenja Photoshopa, ispisao sam i zalijepio naljepnice na svoje prazne RFID oznake.
Bilo mi je jako zabavno s ovim Projektom i ubuduće ću ga koristiti za zabavu ljudi u svom stanu. Javite mi ako to uspijete sami!
Ulazim u ovo natjecanje "Audio" - ako vam se svidjelo, glasajte za ovo. Hvala!