RFID Jukebox: 3 stappe (met foto's)
RFID Jukebox: 3 stappe (met foto's)
Anonim
Image
Image
RFID Jukebox
RFID Jukebox

Dit is my inskrywing in die "Audio" -kompetisie - as u hierin belangstel, laat my dan stem

Hierdie plasing sal probeer om 'n 'rolvriendelike' weergawe van die instruksievideo bo-aan hierdie plasing te skep

Die video gaan in detail oor die beheervloei en watter sagteware ek gebruik. Kyk gerus daarna as u meer wil leer.

Die vloei is soos volg:

Normale werking - leeskaartjies en die aanskakel van Spotify om liedjies te speel:

1) RFID -etiket word gelees deur 'n versoenbare kaartleser

2) Kaartleser spoeg reeksdata vir elke kaart uit na 'n Arduino

3) Arduino "Serial prints" die data wat dit ontvang na 'n framboos pi

4) Pi ontvang kaart -ID van Arduino. Pi soek die kaart -ID in 'n tabel op om die ooreenstemmende Spotify URI te vind

5) Pi skakel Spotify API om die geselekteerde URI te speel

Opstelfase: assosieer RFID -tag met 'n Spotify URI

1) tot en met 3) van bo

4) Pi verwag 'n opdragreël met die spesifieke Spotify URI wat u met die kaart wil koppel

5) Pi skep 'n nuwe inskrywing (of ignoreer as kaart -ID reeds in tabel voorkom) vir die cardID, SpotifyURI -paar

U is dus nie besig om hierdie etikette te “programmeer” nie. Hierdie etikette het hul eie ingeboude mikrobeheerder wat die veld wat van die spoel van die leser af kom, moduleer volgens die spesifieke ID. Al wat u doen, is om 'n woordeboek met sleutel- en waardepare te skep waaruit die pi kan lees.

Gestel ek het byvoorbeeld 'n kaart met ID "2_54_57_53_23_33_3". Ek weet aanvanklik nie wat die ID is nie, maar toe ek die uitset van die Arduino lees nadat ek dit geskandeer het, is dit wat uitkom.

Kom ons sê ek wil hierdie kaart laat speel deur Al Green se grootste treffers -album wanneer dit geskandeer word. Om dit te bereik, sou ek na Spotify gaan en die URI van die album kopieer en 'spotify: album: 6W0V8B0fJItvOwC8v114rZ' kry. Soos ek in die video gesien word, verskaf ek hierdie URI aan 'n python -program om die kaart -ID van "2_54_57_53_23_33_3" te assosieer met die spotify -URI van "spotify: album: 6W0V8B0fJItvOwC8v114rZ" in 'n tabel. Die "sleutel" is die kaart -ID, en die "waarde" is die URI.

As ek die hoofprogram implementeer en my pi 'n kaart -ID van '2_54_57_53_23_33_3' ontvang, sal dit dit in die tabel opsoek, die URI wat daarmee gepaard gaan, versamel en die URI as argument aan die Spotify API verskaf.

Voorrade

Toegewyde rekenaar (framboos pi is die beste vir hierdie tutoriaal)

RFID -kaartlesermodule om aan te sluit op die toegewyde rekenaar

RFID -kaarte versoenbaar met u leser

Opsioneel, maar aanbeveel: 'n ekstra Arduino as 'n middelman tussen die leser en die rekenaar om ontwikkelingstyd te bespaar

Stap 1: Kodeoorsig

Kode Oorsig
Kode Oorsig
Kode Oorsig
Kode Oorsig

Die aangehegte skermkiekies toon die basiese kodestruktuur vir koppelvlak met Serial on the Arduino en pi. Die voordeel van die gebruik van die Arduino as middelman is dat ek dit direk in die USB -poort van die Pi kan koppel as 'n seriële ingang. Dit het my baie hoofpyn bespaar, aangesien ek nou nie hoef te weet hoe om die GPIO -penne as seriële invoer op te stel nie.

My spesifieke kaart/leser kombinasie gee my die ongewone resultaat dat alle kaarte begin met 'n 2 en eindig met 'n 3. Dit het my 'n vinnige en vuil manier gegee om te weet wanneer 'n transmissie begin of eindig. Afhangende van die kaarte/lesers wat u het, moet u kode verander.

Stap 2: Spotify -integrasie

Image
Image
Spotify -integrasie
Spotify -integrasie
Spotify -integrasie
Spotify -integrasie
Spotify -integrasie
Spotify -integrasie

Nou vir die moeilike deel - koppelvlak met Spotify. Ek het hier baie op 3 hulpbronne staatgemaak:

1) Die Spotifyd -projek, waarmee u toestel as 'n ekstra luidspreker in u Spotify -rekening kan verskyn.

2) Die Diskplayer -projek, waarin 'n willekeurige ou sy eie go -scripts geskryf het om met die Spotify API te kommunikeer

3) Hierdie pragtige man wat OAUTH met Spotify oorskry. Sonder hom sou ek soveel meer ure gemors het.

Installeer eers Spotifyd en toets dit om seker te maak dat die pi as spreker in u rekening verskyn.

Toe dit eers werk, gebruik ek Diskplayer om die spotify -API te toets. Dit is hier waar u u sal vra om 'n Spotify API -token te verskaf. As u 'n koplose opstelling soos ek gebruik, kan u dit nie in 'n blaaier op die pi oopmaak nie. Om hierdie rede moet u die stappe in die video hierbo in stap 3) volg. Hierdie projek sou nie gebeur het sonder die man in die video nie!

Stap 3: Laat dit mooier lyk

Laat dit mooier lyk!
Laat dit mooier lyk!

Sodra alles werk, sal u 'n warboel drade agterlaat wat alles van Spotify af speel. Om dit skoon te maak, sit alles in 'n boks en druk 'n paar etikette vir u kaarte! Ek het Avery 22822 -etikette gebruik (met 'n leë Photoshop -sjabloon om tuis te druk). Ek kon beelde van Google af haal en dit indien nodig in die Photoshop -sjabloon plaas. Na 'n paar uur om Photoshop te leer, het ek die etikette op my leë RFID -etikette gedruk en geplak.

Ek het baie pret gehad met hierdie projek en sal dit in die toekoms gebruik om mense in my woonstel te vermaak. Ek laat weet as u dit self maak!

Ek neem deel aan die "Audio" -kompetisie - as u dit geniet het, kan u hiervoor stem. Dankie!