
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02



Dette er mitt bidrag i "Audio" -konkurransen - hvis du er interessert i dette, vennligst kast meg en stemme
Dette innlegget vil prøve å lage en "rullevennlig" versjon av veiledningsvideoen som er inkludert øverst i dette innlegget
Videoen går i detalj om kontrollflyten og hvilken programvare jeg bruker. Ta en titt på det hvis du vil lære mer.
Flyten er som følger:
Normal drift - Lesekort og utløser Spotify for å spille sanger:
1) RFID -kode leses av en kompatibel kortleser
2) Kortleser spytter ut serielle data for hvert kort til en Arduino
3) Arduino "Serial prints" dataene den mottar til en bringebær pi
4) Pi mottar kort -ID fra Arduino. Pi slår opp kort -ID -en i en tabell for å finne den tilsvarende Spotify URI
5) Pi kaller Spotify API for å spille valgt URI
Oppsettfase: Å knytte RFID -tag til en Spotify URI
1) til 3) ovenfra
4) Pi forventer et kommandolinjearg med den spesifikke Spotify URI du vil knytte til kortet
5) Pi oppretter en ny oppføring (eller overstyrer hvis kort -ID allerede finnes i tabellen) for kort -ID, SpotifyURI -par
Så du "programmerer" ikke disse kodene. Disse kodene har sin egen innebygde mikrokontroller som modulerer feltet som kommer fra leserspolen til melodien til den spesifikke ID-en. Alt du gjør er å lage en ordbok med nøkkelverdipar for pi å lese fra.
La oss for eksempel si at jeg har et kort med ID "2_54_57_53_23_33_3". Jeg vet ikke i utgangspunktet hva ID -en er, men når jeg leser utgangen fra Arduino etter å ha skannet den, er dette det som kommer ut.
La oss si at jeg vil få dette kortet til å spille Al Greens største hitsalbum når det skannes. For å oppnå dette, ville jeg gå til Spotify og kopiere albumets URI og få "spotify: album: 6W0V8B0fJItvOwC8v114rZ". Nå, som vist i videoen, leverer jeg denne URI til et python -program for å knytte kort -IDen til "2_54_57_53_23_33_3" med spotify URI for "spotify: album: 6W0V8B0fJItvOwC8v114rZ" i en tabell. "Nøkkelen" er kort -ID, og "verdien" er URI.
Når jeg distribuerer hovedprogrammet, og min pi mottar en kort -ID på "2_54_57_53_23_33_3", vil den slå den opp i tabellen, samle URI -en som er knyttet til den, og levere URI -en som et argument til Spotify API.
Rekvisita
Dedikert datamaskin (bringebær pi er best for denne opplæringen)
RFID -kortlesermodul for tilkobling til den dedikerte datamaskinen
RFID -kort kompatible med leseren din
Valgfritt, men anbefalt: En ekstra Arduino som en mellommann mellom leseren og datamaskinen for å spare utviklingstid
Trinn 1: Kodeoversikt


De vedlagte skjermbildene viser den grunnleggende kodestrukturen for grensesnitt med Serial på Arduino og pi. Fordelen med å bruke Arduino som en mellommann er at jeg kan koble den direkte til Pi's USB -port som en seriell inngang. Dette sparte meg massevis av hodepine siden jeg nå ikke trenger å vite hvordan jeg konfigurerer GPIO -pinnene som seriell inngang.
Min spesielle kort/leserkombinasjon gir meg det uvanlige resultatet at alle kort begynner med et 2 og slutter med et 3. Dette ga meg en rask og skitten måte å vite når en overføring starter eller slutter. Avhengig av hvilke kort/lesere du har, må koden din endres.
Trinn 2: Spotify -integrasjon





Nå for den vanskelige delen - grensesnitt med Spotify. Jeg stolte sterkt på 3 ressurser her:
1) Spotifyd -prosjektet, som lar enheten din vises som en ekstra høyttaler til din Spotify -konto.
2) Diskplayer -prosjektet, der en tilfeldig fyr skrev sine egne go -skript for grensesnitt med Spotify API
3) Denne vakre mannen som går over OAUTH med Spotify. Uten ham hadde jeg kastet bort så mange flere timer.
Installer først Spotifyd og test den for å sikre at pi -en vises som en høyttaler for kontoen din.
Så, når det fungerte, brukte jeg Diskplayer til å teste spotify API. Det er her det vil be deg om å levere et Spotify API -token. Hvis du kjører et hodeløst oppsett som meg, kan du ikke åpne det i en nettleser på pi. Av denne grunn må du følge trinnene som er oppført i videoen ovenfor i trinn 3). Dette prosjektet hadde ikke skjedd uten mannen i den videoen!
Trinn 3: Få det til å se penere ut

Når alt fungerer, vil du sitte igjen med et rot med ledninger som spiller alt du vil ha fra Spotify. For å rydde opp, legg alt i en eske og skriv ut noen etiketter til kortene dine! Jeg brukte Avery 22822 etiketter (som følger med en tom Photoshop -mal for utskrift hjemme). Jeg klarte å trekke bilder fra google, og slå dem i Photoshop -malen etter behov. Etter noen timer med å lære Photoshop, skrev jeg ut og satte etikettene på mine tomme RFID -koder.
Jeg hadde mye moro med dette prosjektet og vil bruke det i fremtiden til å underholde folk i leiligheten min. Jeg gir beskjed hvis du ender opp med å lage det selv!
Jeg deltar i dette i "Audio" -konkurransen - hvis du likte det, kan du stemme på dette. Takk!
Anbefalt:
PlotClock, WeMos og Blynk spiller Vintage AMI Jukebox: 6 trinn (med bilder)

PlotClock, WeMos og Blynk Playing Vintage AMI Jukebox: Fire tekniske innovasjoner gjorde dette prosjektet mulig: Rowe AMI Jukebox fra 1977, PlotClock robotarmsett, WeMos/ESP 8266 mikrokontroller og Blynk App/Cloud -tjeneste. MERK: Hvis du ikke har Jukebox for hånden - ikke slutt å lese! Dette prosjektet kan
Jukebox: 13 trinn (med bilder)

Jukebox: Da jeg oppdaget Volumio (Open Audiophile Music Player) tenkte jeg at den kunne brukes til å bygge en flott Jukebox; og resten er historie. Følgende instrukser er mer en generell oversikt over hvordan jeg bygde dette prosjektet. Som sådan noen av de små
Elektrisk dørlås med fingeravtrykksskanner og RFID -leser: 11 trinn (med bilder)

Elektrisk dørlås med fingeravtrykksskanner og RFID -leser: Prosjektet var designet for å unngå nødvendigheten av å bruke nøkler, for å nå målet brukte vi en optisk fingeravtrykkssensor og en Arduino. Det er imidlertid individer som har et uleselig fingeravtrykk, og sensoren vil ikke gjenkjenne det. Da tenker
Random Song Jukebox (Raspberry Pi): 6 trinn (med bilder)

Random Song Jukebox (Raspberry Pi): Etter å ha rotet med et Google AIY Voice Kit for Raspberry Pi, bestemte jeg meg for å omformulere maskinvaren for å lage en offline jukeboks. Når en bruker treffer den øverste knappen, spilles en tilfeldig sang lagret på Pi. Volumknappen er der for å hjelpe til med å justere
Steampunk Pi Jukebox som kjører Google Music: 11 trinn (med bilder)

Steampunk Pi Jukebox som kjører Google Music: ADVARSEL !! Hvis du prøver å gjøre et lignende prosjekt, forstår du at du har potensial til å komme over asbest i en gammel radio, vanligvis men ikke begrenset til noen form for varmeskjold eller isolasjon. Gjør din egen forskning og ta forhåndsregler. Jeg