Innehållsförteckning:

RFID Jukebox: 3 steg (med bilder)
RFID Jukebox: 3 steg (med bilder)

Video: RFID Jukebox: 3 steg (med bilder)

Video: RFID Jukebox: 3 steg (med bilder)
Video: RFID Jukebox Magic Unleashed: DIY Step-By-Step Guide 2024, November
Anonim
Image
Image
RFID Jukebox
RFID Jukebox

Detta är mitt bidrag i "Ljud" -tävlingen - om du är intresserad av detta, vänligen ge mig en röst

Det här inlägget kommer att försöka skapa en "rullningsvänlig" version av instruktionsvideon som finns högst upp i detta inlägg

Videon går in i detalj om kontrollflödet och vilken programvara jag använder. Ta en titt på det om du vill lära dig mer.

Flödet är följande:

Normal drift - Läsningskort och triggning av Spotify för att spela låtar:

1) RFID -taggen läses av en kompatibel kortläsare

2) Kortläsaren spottar ut seriell data för varje kort till en Arduino

3) Arduino "seriell skriver ut" data som den tar emot till en hallon pi

4) Pi får kort -ID från Arduino. Pi letar upp kort -ID: t i en tabell för att hitta motsvarande Spotify URI

5) Pi kallar Spotify API för att spela vald URI

Installationsfas: Att associera RFID -tagg med en Spotify URI

1) till 3) uppifrån

4) Pi förväntar sig en kommandoradsarg med den specifika Spotify URI som du vill koppla till kortet

5) Pi skapar en ny post (eller åsidosätter om kort -ID redan finns i tabellen) för kort -ID, SpotifyURI -par

Så du "programmerar" inte dessa taggar. Dessa taggar har sin egen inbyggda mikrokontroller som modulerar fältet som kommer från läsarens spole till melodin av dess specifika ID. Allt du gör är att skapa en ordlista med nyckel-, värdepar för pi att läsa från.

Låt oss till exempel säga att jag har ett kort med ID "2_54_57_53_23_33_3". Jag vet inte inledningsvis vad ID är, men när jag läser utmatningen från Arduino efter att ha skannat det är det här som kommer ut.

Låt oss säga att jag vill få det här kortet att spela Al Greens största hitsalbum när det skannas. För att åstadkomma detta skulle jag gå till Spotify och kopiera albumets URI och få "spotify: album: 6W0V8B0fJItvOwC8v114rZ". Nu, som sett i videon, levererar jag denna URI till ett pythonprogram för att associera kort -ID: t "2_54_57_53_23_33_3" med spotify -URI för "spotify: album: 6W0V8B0fJItvOwC8v114rZ" i en tabell. "Nyckeln" är kort -ID, och "värdet" är URI.

Nu, när jag distribuerar huvudprogrammet, och min pi får ett kort -ID på "2_54_57_53_23_33_3", kommer det att leta upp det i tabellen, samla URI som är associerat med det och tillhandahålla URI som ett argument till Spotify API.

Tillbehör

Dedikerad dator (hallon pi är bäst för denna handledning)

RFID -kortläsarmodul för anslutning till den dedikerade datorn

RFID -kort kompatibla med din läsare

Valfritt men rekommenderat: En extra Arduino som en mellanman mellan läsaren och datorn för att spara utvecklingstid

Steg 1: Kodöversikt

Kodöversikt
Kodöversikt
Kodöversikt
Kodöversikt

De bifogade skärmdumparna visar den grundläggande kodstrukturen för gränssnitt med Serial på Arduino och pi. Fördelen med att använda Arduino som mellanman är att jag kan ansluta den direkt till Pi: s USB -port som en seriell ingång. Detta sparade mig massor av huvudvärk eftersom jag nu inte behöver veta hur jag ställer in GPIO -stiften som seriell ingång.

Min speciella kort/läsarkombination ger mig det ovanliga resultatet att alla kort börjar med en 2 och slutar med en 3. Detta gav mig ett snabbt och smutsigt sätt att veta när en överföring startar eller slutar. Beroende på vilka kort/läsare du har måste din kod ändras.

Steg 2: Spotify -integration

Image
Image
Spotify -integration
Spotify -integration
Spotify -integration
Spotify -integration
Spotify -integration
Spotify -integration

Nu för den svåra delen - att interagera med Spotify. Jag förlitade mig starkt på tre resurser här:

1) Spotifyd -projektet, som gör att din enhet kan visas som en extra högtalare till ditt Spotify -konto.

2) Diskplayer -projektet, där någon slumpmässig kille skrev sina egna go -skript för gränssnitt med Spotify API

3) Denna vackra man som går över OAUTH med Spotify. Utan honom hade jag slösat bort så många timmar till.

Installera först Spotifyd och testa det för att se till att pi visas som en högtalare till ditt konto.

Sedan, när det fungerar, använde jag Diskplayer för att testa spotify API. Det är här som det kommer att be dig att tillhandahålla en Spotify API -token. Om du kör en huvudlös installation som jag kommer du inte att kunna öppna den i en webbläsare på pi. Av denna anledning måste du följa stegen som anges i videon ovan i steg 3). Detta projekt hade inte hänt utan mannen i den videon!

Steg 3: Få det att se snyggare ut

Få det att se snyggare ut!
Få det att se snyggare ut!

När allt fungerar, kommer du att stå kvar med en massa kablar som spelar allt du vill ha från Spotify. För att städa upp det, lägg allt i ett fodral och skriv ut några etiketter för dina kort! Jag använde Avery 22822 -etiketter (som levereras med en tom Photoshop -mall för utskrift hemma). Jag kunde dra bilder från google och slänga dem i Photoshop -mallen efter behov. Efter några timmars inlärning i Photoshop skrev jag ut och satte fast etiketterna på mina tomma RFID -taggar.

Jag hade mycket roligt med det här projektet och kommer att använda det i framtiden för att underhålla människor i min lägenhet. Jag / Låt mig veta om du slutar göra det själv!

Jag deltar i detta i "Audio" -tävlingen - om du gillade det kan du rösta på det här. Tack!

Rekommenderad: