Turinys:
- 1 veiksmas: būtini priedai 1: Raspberry Pi
- 2 veiksmas: reikalingi priedai 2: NFC skaitytuvas
- 3 veiksmas: reikalingi priedai 3: NFC žymos
- 4 veiksmas: atsisiųskite Raspberry Pi OS į SD kortelę
- 5 veiksmas: įjunkite SSH „Raspberry Pi“OS vaizde
- 6 veiksmas: neprivaloma: nustatykite „Wi -Fi“savo „Raspberry Pi“
- 7 veiksmas: įjunkite „Raspberry Pi“
- 8 veiksmas: raskite „Raspberry Pi“IP adresą
- 9 veiksmas: prisijunkite prie „Raspberry Pi“komandų eilutės
- 10 veiksmas: nustatykite Raspberry Pi OS GUI
- 11 veiksmas: prisijunkite ir nustatykite „Raspberry Pi“GUI
- 12 veiksmas: įdiekite „Node.js“ir NPM
- 13 veiksmas: įdiekite SONOS HTTP API
- 14 veiksmas: priverskite „Sonos HTTP“API veikti nuolat
- 15 veiksmas: paleiskite „Spotify“
- 16 veiksmas: raskite „Spotify“URI
- 17 veiksmas: pastaba apie „Spotify“URI
- 18 veiksmas: nustatykite „Raspberry Pi“siųsti HTTP užklausas
- 19 veiksmas: sukurkite NFCC žymą (-as) naudodami „Spotify“duomenis
- 20 veiksmas: nustatykite NFC skaitytuvą „Raspberry Pi“
- 21 veiksmas: įdiekite „Vinylemulator Python“scenarijus
- 22 veiksmas: tinkinkite „Vinylemulator“
- 23 žingsnis: išbandykite „Vinylemulator“
- 24 veiksmas: leiskite „Vinylemulator“veikti nuolat ir paleidžiant
- 25 žingsnis: pasveikinkite save
- 26 žingsnis: padarykite tai gražiu - paslėpkite skaitytoją
Video: „Sonos Spotify“vinilo emuliatorius: 26 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Atminkite, kad tai nėra naujausias šio projekto instrukcijų rinkinys:
Apsilankykite https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d, kad gautumėte naujausius nurodymus ir palaikymą
Klausytis muzikos vinilu yra puiku. Tai fizinis ir lytėjimas. Jūs klausotės viso albumo, o ne atsitiktinių takelių. Jūs pastebite, kai viskas baigiasi, ir sąmoningai pasirenkate ką nors kita. Galite sukurti kolekciją ir naršyti, o ne ieškoti to, ko norite.
Tai taip pat brangu ir sudėtinga, ypač kai manote, kad visi pinigai, kuriuos išleidžiate vinilui, greičiausiai yra muzikos, kurią jau turite prieiga per jūsų prenumeruojamą srautinio perdavimo paslaugą, dublikatas.
Šis projektas bando atkartoti vinilo taktiškumą ir kolekcijos kūrimo aspektus, o muzika iš tikrųjų pristatoma naudojant „Spotify“. Įdėjus fizinį objektą į NFC skaitytuvą, prijungtą prie „Raspberry Pi“(abu galima paslėpti), bus pradėtas leisti su ta žyma susietas albumas.
Aprašysiu visus veiksmus - nuo „Raspberry Pi“nustatymo iki NFC žymų kodavimo. Tai yra mano pirmasis „Raspberry Pi“projektas ir pirmasis „Python“kodas, todėl kurdamas tai mokiausi abiejų. Taigi šiose instrukcijose tiesiogine prasme nėra jokių ankstesnių žinių ir kalbama apie kiekvieną žingsnį.
Bendra pagrindinių šio komponento kūrimo kaina yra apie 50–60 svarų sterlingų.
Norėčiau pamatyti, ką statai!
1 veiksmas: būtini priedai 1: Raspberry Pi
Galinę dalį, jungiančią jūsų tinklą, „Sonos“ir „Spotify“, valdys „Raspberry Pi“. Tiesą sakant, jums reikia labai mažai.
Esminis:
„Raspberry Pi“: aš naudoju „Raspberry Pi 3“modelį B+, tačiau jis taip pat veiks su „Raspberry Pi 3“modeliu A+ (23 svarai)
USB maitinimo šaltinis: aš turėjau vieną gulėti - yra oficialus, jei neturite (£ 9)
„Micro SD“kortelė: „Amazon“gavau 32 GB atminties, kurios užtenka šiai programai (6 svarai)
Kai kuri jūsų tinkle veikianti „Sonos“įranga (spėju, kad ją jau turite, jei esate čia …)
„Spotify Premium“paskyra
Rekomenduojamas:
„Pi“atvejis: yra daug galimybių, pradedant nuo 5 svarų sterlingų
Butelis padoraus Kalifornijos „Zinfandel“: aš rekomenduoju „Ridge“, bet yra ir kitų
2 veiksmas: reikalingi priedai 2: NFC skaitytuvas
Šios instrukcijos skirtos ACR122U NFC skaitytuvui, kuris jungiamas per USB.
ACR122U
Aš nusipirkau šį iš „Amazon“už 38 svarus (dažniausiai todėl, kad jis buvo pristatytas geriausiai), tačiau yra ir pigesnių galimybių nusipirkti tą patį skaitytuvą.
Akivaizdu, kad ACR122U parduodamas su daugybe skirtingų prekių ženklų (mano pavadinimas buvo toli gražu neįtikinantis „Yosoo“), tačiau, kaip galiu pasakyti, jie visi yra vienodi ir sukurti „American Card Systems“.
Pigiausias, kurį radau reklamuojamą ACR122U, yra £ 21, įskaitant pristatymą, tačiau jis atkeliauja tiesiai iš Kinijos, todėl gali tekti šiek tiek palaukti.
Kiti variantai
Šis projektas remiasi „python“biblioteka „nfcpy“, kuri palaiko palaikomų įrenginių sąrašą čia:
Teoriškai šis projektas turėtų dirbti su bet kuriuo iš to sąrašo asmenų, mažai integravus.
Vienas viliojančių variantų yra „Adafruit PN532“, kuris yra lenta, kuri turėtų būti tiesiogiai prijungta prie jūsų „Raspberry Pi“naudojant trumpiklius. Išbandžiau ir radau tikrą kvapą. Tam, pavyzdžiui, reikia lituoti.
Vienas iš jo pranašumų yra paviršutiniškai, kad jis yra mažesnis, tačiau iš tikrųjų plokštė yra maždaug tokio paties dydžio kaip ACR122U žarnos. Jei tikrai prašote vietos savo programai, galite nuimti plastiką nuo ACR122U ir tiesiog naudoti plokštę.
3 veiksmas: reikalingi priedai 3: NFC žymos
Kiekvienam norimam sukurti albumui jums reikės NTAG213 standartą atitinkančios NFC žymos.
Yra daug vietų, kur tokių galima nusipirkti.
Pirmąją partiją nusipirkau iš „Amazon“, kur gavau 10 pakuočių už £ 9 (įskaitant „Prime“pristatymą)
Geriausiai tiekiamas čia Jungtinėje Karalystėje yra „Seritag“- jie turi tikrai platų įvairių stilių pasirinkimą, puikius patarimus savo svetainėje, jūs tiksliai žinote, ką gaunate (ne visada tiesa „Amazon“). Jie neturi minimalaus užsakymo dydžio ir daugybės galimybių. Žymos prasideda nuo 27 p
4 veiksmas: atsisiųskite Raspberry Pi OS į SD kortelę
Kompiuteryje ar „Mac“atsisiųskite ir paleiskite „Raspberry PI imager“programą.
Įdėkite SD kortelę, kurioje norite įdiegti „Raspberry Pi“operacinę sistemą.
Spustelėkite PASIRINKTI OS ir pasirinkite numatytąją Rasbian.
Spustelėkite CHOOSE SD CARD ir pasirinkite SD kortelę, kurią prijungėte.
Spustelėkite WRITE. Tai gali užtrukti.
Kai tai bus padaryta, jis nurodys pašalinti SD kortelę, ką turėtumėte padaryti. Bet tada vėl prijunkite, nes pirmiausia turite atlikti keletą namų tvarkymo punktų.
5 veiksmas: įjunkite SSH „Raspberry Pi“OS vaizde
Kai OS bus įrašyta į SD kortelę, turite atlikti keletą papildomų užduočių.
Mes norime pasiekti „Raspberry Pi“neprijungę klaviatūros ar monitoriaus (dar žinomo kaip „be galvos“), tai galime padaryti per savo vietinį tinklą, naudodami kompiuterį ar „Mac“naudodami protokolą, vadinamą SSH. Tačiau saugumo sumetimais SSH išjungta pagal numatytuosius nustatymus. Turime tai įgalinti.
Tai galime padaryti sukurdami tuščią failą pavadinimu:
ssh
ką tik sukurtoje SD kortelėje. Svarbu, kad tai neturėtų jokio plėtinio (pvz., Txt). Pačiame faile nereikia turėti jokio turinio - tik jo egzistavimas įgalins SSH, kai „Pi“paleidžiamas.
6 veiksmas: neprivaloma: nustatykite „Wi -Fi“savo „Raspberry Pi“
Galite praleisti šį veiksmą, jei planuojate prijungti „Raspberry Pi“prie maršrutizatoriaus eternetu. (Nors galbūt norėsite gerai pagalvoti apie šį sprendimą - jei jis bus paleistas per „Wi -Fi“, tai bus daug lengviau, kai tai padarysite)
Sukurkite paprasto teksto failą pavadinimu wpa_supplicant.conf šakniniame SD kortelės kataloge.
Į failą įterpkite žemiau esantį tekstą:
šalis = GB
update_config = 1 ctrl_interface =/var/run/wpa_supplicant network = {scan_ssid = 1 ssid = "MyNetworkSSID" psk = "MyPassword"}
Pakeiskite šalį (GB yra JK, JAV yra JAV, DE yra Vokietija ir kt.)
Pakeiskite „Wi -Fi“prisijungimo duomenis, kad jie būtų tikri „Wi -Fi“maršrutizatoriaus duomenys.
Išsaugokite failą.
Saugiai išimkite SD kortelę.
7 veiksmas: įjunkite „Raspberry Pi“
Įdėkite ką tik sukurtą SD kortelę į „Raspberry Pi“.
Prijunkite „Raspberry Pi“prie maitinimo per USB kabelį. Palaukite minutę, kol ji įsijungs.
8 veiksmas: raskite „Raspberry Pi“IP adresą
Dabar turite rasti „Raspberry Pi“IP adresą, kad galėtumėte prie jo prisijungti. Tai galite padaryti dviem būdais:
- per savo maršrutizatoriaus sąrankos puslapį - jei turite modernų maršrutizatorių, pvz., „eero“, tai padaryti yra labai paprasta;
- arba per išmaniųjų telefonų programą, skirtą „iOS“ir „Android“, vadinamą „fing“- atsisiųskite ją, prisijunkite prie maršrutizatoriaus ir nuskaitykite įrenginius - vienas iš jų turėtų būti pavadintas „Raspberry“- tai bus jums reikalingas IP adresas.
9 veiksmas: prisijunkite prie „Raspberry Pi“komandų eilutės
„Mac“atidarykite terminalą (arba jei naudojate „Windows“, atsisiųskite ir naudokite „Putty“).
Įveskite šią komandą:
ssh pi@[jūsų Pi IP adresas]
Priimkite visus gautus saugumo įspėjimus. Jūsų bus paprašyta įvesti numatytojo pi vartotojo slaptažodį
aviečių
10 veiksmas: nustatykite Raspberry Pi OS GUI
Dabar esate prisijungę prie „Pi“naudodami komandinę eilutę, kuri yra puiku, tačiau taip pat norite ją nustatyti, kad galėtumėte pasiekti grafinę vartotojo sąsają, kurią pasieksime per VNC (virtualiojo tinklo kompiuterį). Numatoma, kad taip pat turime tai įgalinti.
Pirmiausia patikrinkite, ar jūsų „Pi“programinė įranga yra atnaujinta, į komandų eilutę įvesdami šias dvi komandas (po jų eina „Enter“):
sudo apt atnaujinimas
sudo apt įdiegti realvnc-vnc-server realvnc-vnc-viewer
Tada atidarykite „Raspberry Pi“nustatymų meniu įvesdami:
sudo raspi-config
Eikite į sąsajos parinktys> VNC> Taip.
Išeikite iš konfigūracijos programos paspausdami „Esc“klavišą ir iš naujo paleiskite „Pi“iš komandinės eilutės įvesdami:
sudo perkraukite
11 veiksmas: prisijunkite ir nustatykite „Raspberry Pi“GUI
Atsisiųskite ir atidarykite „VNC Viewer“.
Įveskite savo Raspberry Pi IP adresą ir paspauskite connect. Jis paprašys įvesti vartotojo vardą ir slaptažodį:
Vartotojo vardas = pi
Slaptažodis = avietė
Tai turėtų paleisti jus į GUI.
Jis paragins jus patvirtinti savo geografiją ir klaviatūros išdėstymą.
Tada jis paragins jus pakeisti slaptažodį (gera idėja).
Bus paprašyta nustatyti išsamią „Wi -Fi“informaciją, tačiau galite tai praleisti, nes jie jau veikia. (Nors jei naudojate eternetą ir negalvojate, dabar yra jūsų galimybė… tačiau atkreipkite dėmesį, kad jūsų IP adresas gali pasikeisti)
Tada jis tikrins, atsisiųs ir įdiegs naujinimus (gali užtrukti).
Kai baigsite sąrankos vedlį, rekomenduočiau pakeisti ekrano skiriamąją gebą, nes numatytoji yra gana maža. Tai galite padaryti spustelėję Raspberry viršuje kairėje> Nuostatos> Raspberry Pi Configuration> Display> Set Resolution
Kad tai įsigaliotų, turėsite dar kartą paleisti „Pi“.
12 veiksmas: įdiekite „Node.js“ir NPM
Toliau norite įkelti „Raspberry Pi“komandų eilutę, kad įdiegtumėte mums reikalingas priklausomybes.
Tai galite padaryti prisijungę per VNC ir spustelėję šalia viršaus esantį mygtuką, kuris atrodo kaip komandinė eilutė; arba galite prisijungti tiesiai iš „Mac“/kompiuterio naudodami „Terminal“ir „Putty“, kaip tai darėme anksčiau. Jei esate mažiau įpratęs dirbti su „Raspberry Pi“, tai lengviau padaryti pirmąjį.
(Patarimas: galite nukopijuoti tekstą iš „Mac“/kompiuterio ir įklijuoti jį į „Raspberry Pi“per VNC paspausdami CONTROL-V, bet jei bandote įklijuoti į terminalą, turite paspausti CONTROL-SHIFT-V)
Pirmasis darbas yra dar kartą patikrinti, ar jūsų programinė įranga yra atnaujinta, įvesdami šias dvi komandas. Jų atsisiuntimas ir įdiegimas gali užtrukti.
sudo apt-get atnaujinimas
sudo apt-get atnaujinimas
Toliau norite atsisiųsti ir įdiegti „nod.js“ir „NPM“(per daug nesijaudinkite, kas jie yra, jie yra naudingi ir reikalingi atliekant kitas užduotis), įvesdami šiuos duomenis:
sudo apt-get install nodejs npm
Keletą kartų jūsų paklaus, ar mielai užimsite vietos diske, todėl paspauskite Y
13 veiksmas: įdiekite SONOS HTTP API
Mūsų projekto galinės dalies pagrindas yra „jishi“sukurtas „node-sonos-http-api“paketas. Visa tai galite perskaityti čia:
Atsisiųsime tai iš „github“, komandų eilutėje įvedę šią komandą:
git klonas
ir mes ją įdiegsime su šiomis komandomis
cd mazgas-sonos-http-api
npm įdiegti -gaminti
Tada galime jį paleisti naudodami šią komandą:
npm pradžia
Kai tai bus padaryta, turėtume patikrinti, ar jis veikia.
Visų pirma, atidarykite „Raspberry Pi“interneto naršyklę ir eikite į https:// localhost: 5005/. Turėtų būti atidaryta gera sąsaja su „Sonos“logotipu ir tam tikra dokumentacija, kaip veikia API.
Tada patikrinkime, ar tai veikia iš platesnio tinklo, naudojant kito to paties tinklo kompiuterio ar „Mac“naršyklę ir einant į https:// [theIPaddressofyourPi]: 5005/ir pažiūrėjus, ar gauname tą patį rezultatą. Mes turėtume.
Dabar mes iš tikrųjų priversime sistemą kažką daryti. Naudokite naršyklę ir eikite į:
192.168.4.102:5005/Valgykla/playpause
Pirmiau nurodytą IP adresą turėtumėte pakeisti savo „Raspberry Pi“ir „Valgomojo“adresu vienu iš savo „Sonos“zonų pavadinimų. Ji turėtų leisti arba pristabdyti (priklausomai nuo to, ar muzika jau grojama, ar ne) toje patalpoje esančią muziką. Akivaizdu, kad kažkas turi būti „Sonos“eilėje, kad tai veiktų.
Ateityje aš naudosiu aukščiau pateiktą IP adresą ir valgomąjį kaip šios mokymo programos pavyzdžius. Akivaizdu, kad kiekvieną kartą turėtumėte juos pakeisti savo IP adresu ir zonos pavadinimu.
14 veiksmas: priverskite „Sonos HTTP“API veikti nuolat
Puiku, kad veikia „Sonos“HTTP API, bet kas, jei ji sugenda? Arba prarandate galią arba reikia iš naujo paleisti „Raspberry Pi“?
Efektą galite pamatyti uždarydami terminalo langą ir bandydami tai, ką ką tik bandėme. Tai neveiks, nes HTTP API sustojo kartu su terminalo langu.
Mes iš tikrųjų norime, kad tai vyktų nuolat, ir tai darome kiekvieną kartą nuo paleidimo. Mes tai darome su šauniu dalyku, vadinamu PM2.
Naujame terminalo lange įdiekite ir paleiskite jį taip:
sudo npm įdiegti -g pm2
pm2 būsena
Dabar leiskite paleisti mūsų „Sonos“HTTP API:
cd mazgas-sonos-http-api
pm2 start npm - start pm2 startup systemd
Ši paskutinė komanda sugeneruoja kažką panašaus į:
sudo env PATH = $ PATH:/usr/bin/usr/local/lib/node_modules/pm2/bin/pm2 paleisties sistemad -u pi --hp/home/pi
Nukopijuokite tai, ką generuoja jūsų „Pi“(ne tikslus tekstas aukščiau - jūsų gali būti kitoks) ir įveskite jį į komandų eilutę. Tai nurodo sistemai kiekvieną kartą paleisti PM2 paleidžiant.
Galiausiai įveskite:
Išsaugoti pm2
kuris viską gelbsti.
Dabar patikrinkite, ar tai pavyko, iš naujo paleisdami „Raspberry Pi“naudodami komandą
sudo perkraukite
Tikimės, kad „Pi“iš naujo paleidus, jis taip pat paleis PM2 ir savo ruožtu „Sonos“HTTP API. Tai galite patikrinti naršydami to paties tinklo naršyklėje adresu, kurį naudojome anksčiau, ir pamatysite „Sonos“logotipą bei instrukcijas:
192.168.4.102:5005/
tai kas man, bet jūsų priklausys nuo IP adreso.
15 veiksmas: paleiskite „Spotify“
Patikrinkime, ar paslauga gali pasiekti „Spotify“.
Atidarykite naršyklę ir eikite į šį adresą (akivaizdžiai pakeičiant savo IP adresu ir kambario pavadinimu):
192.168.4.102:5005/Valgykla/spotify/dabar/spotify/spotify: albumas: 2dfTV7CktUEBkZCHiB7VQB
Turėtumėte išgirsti Johną Grantą. Mėgautis.
16 veiksmas: raskite „Spotify“URI
Keista, žinau, bet ne visiems patinka Johnas Grantas. Gal norite dar ko nors pasiklausyti?
„Spotify“nuorodas galite gauti iš darbalaukio, žiniatinklio ar programų mobiliesiems, tačiau darbalaukis yra pats lengviausias, nes jis pateikia URI tiksliai tokiu formatu, kokio norite, todėl pradėkite nuo to.
„Spotify“darbalaukio programoje eikite į albumą, kurio norite klausytis (galbūt „Beyonce“limonadas?)
Spustelėkite tris mažus taškus šalia širdies mygtuko.
Eikite žemyn į meniu Dalintis ir pasirinkite Kopijuoti „Spotify“URI
Tai nukopijuos kažką panašaus
spotify: albumas: 7dK54iZuOxXFarGhXwEXfF
į jūsų mainų sritį, kuri yra „Spotify“URI, skirta Beyonce „Lemondade“albumui.
Dar kartą įjunkite naršyklę ir eikite į šį adresą (akivaizdžiai pakeisdami IP adresą ir kambarį ir įklijuodami ką tik nukopijuotame URI):
192.168.4.102:5005/Valgykla/spotify/dabar/[„Spotify“URI, kurį norite žaisti]
Turėtumėte išgirsti savo pasirinkimą.
Jei norite naudoti žiniatinklio programą, ji suteiks jums žiniatinklio nuorodą (kažką panašaus į žemiau):
open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF
turite tai konvertuoti į „spotify“: albumas: aukščiau pateiktas kodo formatas, kad jis veiktų.
17 veiksmas: pastaba apie „Spotify“URI
„Spotify“URI ir jų sąsaja su mazgu-sonos-http-api dažniausiai yra intuityvūs.
Galite tiesiogiai susieti su albumais, takeliais ir grojaraščiais.
Albumo URI atrodo taip:
spotify: albumas: 6agCM9GJcebduMddgFmgsO
Takelio URI atrodo taip:
spotify: takelis: 4fNDKbaeEjk2P4GrRE1UbW
Grojaraščiai veikia šiek tiek kitaip. Kai nukopijuosite URI iš „Spotify“, jis atrodys maždaug taip:
spotify: grojaraštis: 5huIma0YU4iusLcT2reVEU
Tačiau norint, kad jis veiktų su API, prie aukščiau pateikto pradžios turite pridėti „spotify: user:“. Tai taikoma net viešiems grojaraščiams ir, taip, tai reiškia, kad du kartus sakote „spotify“.
Kad būtų labai aišku, vartotojas neturi būti konkretaus vartotojo vardas, o tik teksto vartotojas. Taigi teisingas aukščiau pateikto grojaraščio URI, kad jis veiktų, būtų toks:
spotify: vartotojas: spotify: grojaraštis: 5huIma0YU4iusLcT2reVEU
18 veiksmas: nustatykite „Raspberry Pi“siųsti HTTP užklausas
Užuot rankiniu būdu įvedę HTTP užklausas į žiniatinklio naršyklę, mes norime ją automatizuoti, kad „Raspberry Pi“tai padarytų pats, kai pateikiamas tam tikras dirgiklis (suaktyvinamas NFC skaitytuvas).
Mes naudosime biblioteką, pavadintą „prašymai“, kad mūsų „Raspberry Pi“galėtų tai padaryti. Patikrinkime, ar jis įdiegtas.
Atidarykite „Pi“terminalą ir įveskite:
sudo pip diegimo užklausos
Tikėtina, kad jis grįžta ir sako, kad jis jau įdiegtas, tokiu atveju puiku. Jei ne, jis jį įdiegs.
19 veiksmas: sukurkite NFCC žymą (-as) naudodami „Spotify“duomenis
Dabar norime įrašyti „Spotify“albumo URI į NFC žymą. Kiekvieną iš šių žymų naudosite liepdami „Raspberry Pi“paleisti tam tikrą albumą.
Galite rašyti į NFC žymą naudodami „Android“telefoną, tačiau manau, kad lengviausia tai padaryti naudojant „Mac“arba asmeninį kompiuterį, nes tada „Spotify“URI gauti lengviausia iš „Spotify“darbalaukio programos.
Prijunkite USB NFC skaitytuvą prie kompiuterio ar „Mac“. Aš naudoju „American Card Systems“ACR122U.
Atsisiųskite „NFC Tools“į savo kompiuterį arba „Mac“. Įdiekite ir atidarykite.
Kartais gali būti šiek tiek lėta prisijungti prie skaitytojo ir pasakyti, kad jis neranda skaitytojo. Eikite į NFC įrankių skirtuką Kitas ir kaskart spustelėkite mygtuką Prijungtas NFC skaitytuvas. Gali tekti kelis kartus atjungti ir vėl prijungti skaitytuvą, kol jis jį suras.
Galų gale tai suteiks jums galimybę pasirinkti skaitytuvą iš sąrašo ir pasakyti, kad jis yra prijungtas. Eikite į skirtuką Informacija, kuriame bus rodoma tik „Laukiama NFC žymos“.
Paimkite tuščią NFC žymą. Uždėkite jį ant skaitytuvo ir palikite ten. „NFC Tools“parodys informaciją apie žymą.
Eikite į skirtuką Rašyti ir spustelėkite Pridėti įrašą> Tekstas. (Būkite atsargūs, nesirinkite URL ar URI - žinau, kad tai viliojanti, nes kopijuojate URI, bet norite teksto)
Paimkite URI iš „Spotify“naudodami metodą, kurį naudojome anksčiau. Jei norite lengvo pavyzdžio, šis yra mūsų John Grant albumas iš ankstesnio.
spotify: albumas: 2dfTV7CktUEBkZCHiB7VQB
Spustelėkite Gerai, tada spustelėkite Rašyti (nepamirškite šio paskutinio veiksmo - jis iš tikrųjų nerašo to, kol nepaspausite šio). Tai jums pasakys, kad žyma sėkmingai parašyta.
Nuimkite etiketę nuo skaitytuvo
20 veiksmas: nustatykite NFC skaitytuvą „Raspberry Pi“
Prijunkite NFC skaitytuvą prie vieno iš „Raspberry Pi“USB prievadų.
Bendraudami su NFC skaitytuvu naudosime „nfcpy Python“biblioteką. Įdiekite jį, įvesdami šią komandinę eilutę „Pi“:
pip install -U nfcpy
Tada galime patikrinti, ar ši biblioteka gali matyti mūsų NFC skaitytuvą, įvesdami:
python -m nfc
Jei tai pavyko, pamatysite šiuos dalykus:
Tai yra 1.0.3 „nfcpy“versija, paleista „Python 2.7.16“sistemoje „Linux-4.19.97-v7+-armv7l-with-debian-10.3“
Dabar ieškau jūsų sistemoje bekontaktių įrenginių ** radau ACS ACR122U PN532v1.6 per usb: 001: 011 Nebandau serijinių įrenginių, nes man to nepasakėte-pridėkite parinktį „--search-tty“kad galėčiau ieškoti, bet saugokitės, kad tai gali pažeisti kitus serijinius kūrėjus
Tačiau yra didelė tikimybė, kad gausite klaidos pranešimą, kuriame sakoma, kad skaitytuvas buvo rastas, bet jūsų vartotojas (pi) neturi leidimo prie jo prieiti. Jei gausite šį klaidos pranešimą, jis taip pat paaiškins, kaip išspręsti problemą, ty įvesdami dvi komandas, kurios atrodo šiek tiek taip:
sudo sh -c 'echo SUBSYSTEM == / "usb \", ACTION == / "add \", ATTRS {idVendor} == / "04e6 \", ATTRS {idProduct} == / "5591 \", GROUP = / "plugdev \" >> /etc/udev/rules.d/nfcdev.rules '
sudo udevadm valdymas -R
Nukopijuokite ir vykdykite abi jo pateiktas komandas (ne visai tai, kas nurodyta aukščiau, nes jūsų gali skirtis), tada atjunkite ir vėl prijunkite NFC skaitytuvą iš USB prievado.
Pabandykite dar kartą patikrinti komandą:
python -m nfc
Šį kartą turėtų būti pasakyta, kad jis buvo rastas be klaidų pranešimų.
21 veiksmas: įdiekite „Vinylemulator Python“scenarijus
Dabar turime visus statybinius blokus:
- Mūsų „Raspberry Pi“gali klausytis NFC įvesties
- Mūsų „Raspberry Pi“gali nurodyti „Sonos“paleisti „Spotify“grojaraščius, kai jiems suteikiamas „Spotify“URI
- Turime NFC žymą su „Spotify URI“
Dabar turime visus šiuos blokus paversti kažkuo naudingu. Tai atliekama per trumpą mano parašytą „Python“scenarijų (su daugybe ankstesnių NFC/„Spotify“/„Sonos“projektų pagalbos), kuris vadinamas vinylemulator.
Failų šaltinio kodą galite peržiūrėti „github“:
Norėdami tai įdiegti „Raspberry Pi“, turime jį klonuoti iš „github“naudodami šią komandą:
git klonas
22 veiksmas: tinkinkite „Vinylemulator“
Atidarykite „Raspberry Pi“failų tvarkyklę ir eikite į pagrindinį puslapį> pi> vinylemulator
Atidarykite failą usersettings.py
Viena iš šio failo eilučių bus tokia:
sonosroom = "Valgomasis"
Pakeiskite „Valgomasis“į tą „Sonos“kambario pavadinimą, kurį norite valdyti.
Šiame faile taip pat yra nustatymas, leidžiantis tinkinti „sonos-http-api“IP adresą. Turėtumėte tai palikti nepakeistą kaip „localhost“, o tai reiškia, kad jis naudos „Raspberry Pi“, kuriame jis veikia.
Išsaugokite failą ir uždarykite.
23 žingsnis: išbandykite „Vinylemulator“
Eikite į „Raspberry Pi“komandų eilutę.
Įveskite šią komandą:
python vinylemulator/readnfc.py
Jei viskas gerai, įkeliamas scenarijus ir sakoma, kad skaitytojas yra pasirengęs. Skaitytuvo lemputė turėtų degti žalia.
Uždėkite NFC žymą ant skaitytuvo, kuris pypsės.
Terminalas parodys tai, ką perskaitė iš NFC žymos, ir parodys jo išsiųstą HTTP užklausos adresą. Pasirinktas albumas turėtų būti paleistas iš „Sonos“garsiakalbių.
Šis scenarijus veiks tol, kol uždarysite terminalo langą. Galite paliesti kitas albumo NFC žymas ir jis persijungs į tą albumą.
24 veiksmas: leiskite „Vinylemulator“veikti nuolat ir paleidžiant
Kaip ir „sonos-http-api“, mes norime, kad viniliatorius veiktų visą laiką, o ne tik tada, kai jį vadiname. Norėdami tai padaryti, galime naudoti „pm2“.
Pirmiausia uždarykite bet kokius jūsų naudojamus vinylemulator atvejus, uždarydami jų terminalo langus.
Tada atidarykite naują terminalo langą ir įveskite šias dvi komandas:
pm2 paleiskite vinylemulator/readnfc.py
Išsaugoti pm2
Patikrinkime, ar tai pavyko, iš naujo paleisdami „Raspberry Pi“. (Galite įvesti sudo reboot arba tai padaryti iš Raspberry meniu su pele.
Palaukite, kol „Pi“vėl pradės veikti, ir pamatysite, kaip jis veikia, paliesdami skaitytuvo NFC žymą. Turėtumėte gauti muziką.
25 žingsnis: pasveikinkite save
Dabar viskas veikia. „Raspberry Pi“galite perkelti į bet kurią vietą, kurioje planuojate ją patalpinti. Jis bus paleistas iš naujo ir veiks taip, kaip jį nustatėte, kai tik jį prijungsite.
Kitos jūsų užduotys yra linksmos: padaryti viską gražią.
26 žingsnis: padarykite tai gražiu - paslėpkite skaitytoją
Pirmoji jo gražinimo dalis yra kažkur paslėpti bjaurų balto plastiko NFC skaitytuvą.
Aš pasirinkau neabejotinai žemos technologijos galimybę priklijuoti jį prie skaitiklio apačios šalia „Sonos Play“: 5. Skaitiklio mediena yra pakankamai plona, kad NFC galėtų praeiti, todėl groju muziką paliesdamas NFC žymę stebuklingoje ir nematomoje vietoje.
Rekomenduojamas:
Retro CP/M atskiras emuliatorius: 8 žingsniai
Retro CP/M atskiras emuliatorius: Šiame projekte naudojamas VGA32 ESP v1.4 modulis deriniui paleisti arba „RunCPM“ir „FabGL“, kad būtų sukurtas atskiras kompiuteris, kuriame veikia lygiavertė sistema CP/M 2.2. Devintajame dešimtmetyje populiari kaip mažų kompiuterių operacinė sistema. Galite grįžti atgal
HP-35 mokslinis skaičiuoklės emuliatorius su „Arduino Uno“: 4 žingsniai
HP-35 mokslinis skaičiuoklės emuliatorius su „Arduino Uno“: Šio projekto tikslas yra paleisti šį simuliatorių https://www.hpmuseum.org/simulate/hp35sim/hp35sim….on „Arduino Uno“su TFTLCD ir jutikliniu ekranu originalus HP-35 mokslinis skaičiuotuvas. Jis imituoja originalų išsaugotą kodą
„Ps2 Controller to Usb Hid“klaviatūros emuliatorius: 3 žingsniai
„Ps2 Controller to Usb Hid“klaviatūros emuliatorius: tai nedidelis projektas, skirtas sukurti programuojamą kompiuterio USB adapterį ps2 valdikliui. Tai kryžminė platforma. Aš tai padariau, nes turėjau problemų diegdamas įprastą programinės įrangos sprendimą (antimicro, joy2key ir kt.). Paaugliams biblioteka nerenka
„Raspberry Pi 3: Retro Arcade“emuliatorius: 7 žingsniai
„Raspberry Pi 3: Retro Arcade Emulator“: mano motyvacija tai padaryti yra technologinio raštingumo stoka šiuolaikiniame pasaulyje. Net ir turėdami daugybę kompiuterių ir mažų įrenginių, žmonės vis dar labai nežino pagrindinių kasdien naudojamų daiktų funkcijų. Manau, kad tai bus
PC pelės emuliatorius naudojant „Arduino Uno“ir jutiklius: 8 žingsniai
Kompiuterio pelės emuliatorius naudojant „Arduino Uno“ir jutiklius. Šioje instrukcijoje mes ketiname sukurti pelės emuliatoriaus prototipą. Pelės emuliatorius yra įrenginys, kurį galima naudoti, kai pelė neveikia tinkamai. Jutikliai naudojami pelės valdymui judesiai. Projektą sudaro vienas