Sisukord:

Sonos Spotify vinüülemulaator: 26 sammu
Sonos Spotify vinüülemulaator: 26 sammu

Video: Sonos Spotify vinüülemulaator: 26 sammu

Video: Sonos Spotify vinüülemulaator: 26 sammu
Video: Sonos Spotify Connect 2024, November
Anonim
Image
Image
Sonos Spotify vinüülemulaator
Sonos Spotify vinüülemulaator

Pange tähele, et see ei ole selle projekti viimane juhend:

Viimase juhiste ja toe saamiseks külastage veebisaiti

Vinüülil muusika kuulamine on suurepärane. See on füüsiline ja kombatav. Kuulate tervet albumit, mitte juhuslikke lugusid. Märkad, kui see on läbi ja valid teadlikult midagi muud. Saate kogumise luua ja seda sirvida, selle asemel et otsida täpselt seda, mida soovite.

See on ka kallis ja mahukas, eriti kui arvestada, et kogu raha, mille kulutate vinüülile, on suure tõenäosusega muusika duplikaat, millele teil on tellitud voogedastusteenuse kaudu juba juurdepääs.

See projekt püüab korrata vinüüli taktitunnet ja kollektsiooni loomise aspekte, tuginedes muusika tegelikule edastamisele Spotifyle. Füüsilise objekti paigutamine Raspberry Pi külge ühendatud NFC -lugejale (mõlemad saab peita) alustab selle sildiga seotud albumi esitamist.

Tutvustan teile kõiki samme - alates Raspberry Pi seadistamisest kuni NFC -siltide kodeerimiseni. See on minu esimene Raspberry Pi projekt ja minu esimene Pythoni kood, nii et ma õpetasin selle arendamise ajal endale mõlemaid. Sellised juhised eeldavad sõna otseses mõttes eelnevaid teadmisi ja räägivad teile iga sammu.

Selle ehitamise oluliste komponentide kogumaksumus on umbes 50–60 naela.

Mulle meeldiks näha, mida sa ehitad!

Samm: nõutavad tarvikud 1: Raspberry Pi

Teie võrgu, Sonose ja Spotifyga liidestavat tagaosa haldab Raspberry Pi. Selle käivitamiseks on tegelikult väga vähe vaja.

Oluline:

Vaarika Pi: Ma kasutasin Raspberry Pi 3 mudelit B+, kuid see töötab ka Raspberry Pi 3 mudeliga A+ (23 naela)

USB -toiteallikas: mul oli üks lamades - ametlik on saadaval, kui te seda ei tee (9 naela)

Micro SD -kaart: sain Amazonist 32 GB, mida on selle rakenduse jaoks palju (6 naela)

Mõned teie võrgus töötavad Sonose seadmed (ma arvan, et teil on see juba olemas, kui olete siin …)

Spotify Premiumi konto

Soovitatav:

Pi juhtum: võimalusi on palju, alates 5 naela

Pudel korralikku California Zinfandeli: soovitan Ridge'i, kuid teisi on saadaval

2. samm: nõutavad tarvikud 2: NFC -lugeja

Nõutavad tarvikud 2: NFC -lugeja
Nõutavad tarvikud 2: NFC -lugeja
Nõutavad tarvikud 2: NFC -lugeja
Nõutavad tarvikud 2: NFC -lugeja

Need juhised on loodud ACR122U NFC lugeja jaoks, mis ühendab USB kaudu.

ACR122U

Ostsin selle Amazonist 38 naela eest (enamasti sellepärast, et sellel oli parim kohaletoimetamine), kuid selle sama lugeja ostmiseks on odavamaid võimalusi.

Segadust tekitav tundub, et ACR122U-d müüakse hunniku erinevate kaubamärkide all (minu oma oli kaugel rahustava kaubamärgi all "Yosoo"), kuid ma võin öelda, et need on kõik ühesugused ja konstrueeritud American Card Systems'i poolt.

Kõige odavam reklaamitud ACR122U on minu jaoks koos saatmisega 21 naela, kuid see tuleb otse Hiinast, nii et peate võib -olla natuke ootama.

Muud valikud

See projekt põhineb pythoni raamatukogul nimega nfcpy, mis haldab toetatud seadmete loendit siin:

Teoreetiliselt peaks see projekt töötama kõigi selles loendis olevate inimestega, kellel on vähe integreerumist.

Üks ahvatlev võimalus on Adafruit PN532, mis on plaat, mis peaks hüppajakaablite abil otse teie Raspberry Pi külge ühendama. Proovisin seda ja leidsin, et see on tõeline faff. See nõuab näiteks jootmist.

Selle üks eelis on pealiskaudselt see, et see on väiksem, kuid tegelikult on plaat umbes sama suur kui ACR122U sisikond. Kui teil on rakenduse jaoks ruumi vaja, saate ACR122U plastiku eemaldada ja lihtsalt plaati kasutada.

3. samm: vajalikud tarvikud 3: NFC -sildid

Nõutavad tarvikud 3: NFC -sildid
Nõutavad tarvikud 3: NFC -sildid

Iga albumi jaoks, mida soovite luua, vajate NTAG213 standardile vastavat NFC -silti.

Selliseid kohti on palju osta.

Ostsin oma esimese partii Amazonist, kust sain 10 -eurose paki 9 naela eest (sealhulgas Prime -kohaletoimetamine)

Parim varustus, mille olen siit Ühendkuningriigist leidnud, on Seritag - neil on tõesti lai valik erinevaid stiile, suurepärased nõuanded oma veebisaidil, teate täpselt, mida saate (mitte alati Amazonil tõsi). Neil pole minimaalset tellimuse suurust ja palju võimalusi. Sildid algavad 27 p märgi kohta

Samm: laadige Raspberry Pi OS alla SD -kaardile

Laadige Raspberry Pi OS alla SD -kaardile
Laadige Raspberry Pi OS alla SD -kaardile
Laadige Raspberry Pi OS alla SD -kaardile
Laadige Raspberry Pi OS alla SD -kaardile

Laadige oma arvutis või Macis alla ja käivitage rakendus Raspberry PI imager.

Sisestage SD -kaart, kuhu soovite Raspberry Pi operatsioonisüsteemi installida.

Klõpsake valikul OST ja valige vaikimisi Rasbian.

Klõpsake valikul VALI SD -KAART ja valige ühendatud SD -kaart.

Klõpsake KIRJUTA. See võib võtta aega.

Kui see on tehtud, käsib see teil SD -kaardi eemaldada, mida peaksite tegema. Kuid seejärel ühendage see uuesti, kuna esmalt peate tegema mõned majapidamistööd.

Samm: lubage SSH oma Raspberry Pi OS -i pildil

Luba SSH oma Raspberry Pi OS -i pildil
Luba SSH oma Raspberry Pi OS -i pildil

Kui operatsioonisüsteem on SD -kaardile kirjutatud, peate tegema mõned täiendavad ülesanded.

Soovime Raspberry Pi -le juurde pääseda ilma klaviatuuri või monitori (aka "peata") ühendamata, mida saame teha oma kohaliku võrgu kaudu, kasutades oma arvutit või Maci SSH -protokolli kaudu. Turvalisuse huvides on SSH vaikimisi keelatud. Peame selle võimaldama.

Seda saame teha, luues tühja faili nimega:

ssh

äsja loodud SD -kaardil. On oluline, et sellel poleks ühtegi laiendit (nt.txt). Fail ise ei pea sisaldama mingit sisu - lihtsalt selle olemasolu võimaldab SS -i käivitada, kui Pi käivitub.

6. samm: valikuline: seadistage oma Raspberry Pi -le WiFi

Valikuline: seadistage oma Raspberry Pi jaoks WiFi
Valikuline: seadistage oma Raspberry Pi jaoks WiFi
Valikuline: seadistage oma Raspberry Pi jaoks WiFi
Valikuline: seadistage oma Raspberry Pi jaoks WiFi

Selle sammu saate vahele jätta, kui kavatsete oma Raspberry Pi Etherneti kaudu ruuteriga ühendada. (Kuigi võiksite selle otsuse üle kõvasti mõelda - selle WiFi kaudu töötamine muudab elu selle paigutamise osas palju lihtsamaks)

Looge SD -kaardi juurkataloogi lihttekstifail nimega wpa_supplicant.conf.

Sisestage allolev tekst faili:

riik = GB

update_config = 1 ctrl_interface =/var/run/wpa_supplicant network = {scan_ssid = 1 ssid = "MyNetworkSSID" psk = "MyPassword"}

Muutke riiki vastavalt vajadusele (GB on Ühendkuningriik, USA on USA, DE on Saksamaa jne)

Muutke seal olevaid wifi mandaate, et need oleksid teie tegelikud WiFi -ruuteri üksikasjad.

Salvestage fail.

Eemaldage SD -kaart turvaliselt.

Samm: lülitage oma Raspberry Pi sisse

Lülitage oma Raspberry Pi sisse
Lülitage oma Raspberry Pi sisse

Pange äsja loodud SD -kaart oma Raspberry Pi -sse.

Ühendage oma Raspberry Pi USB -kaabli abil vooluvõrku. Oodake hetk, kuni see käivitub.

Samm: leidke oma Raspberry Pi IP -aadress

Nüüd peate leidma Raspberry Pi IP -aadressi, et saaksite sellega ühenduse luua. Seda saate teha kahel viisil.

  • ruuteri seadistuslehe kaudu - kui teil on kaasaegne ruuter nagu eero, on see ülilihtne;
  • või iOS -i ja Androidi jaoks saadaval oleva nutitelefonirakenduse "fing" kaudu - laadige see alla, ühendage oma ruuteriga ja otsige seadmeid - üks neist peaks olema nimega "Vaarikas" - see on vajalik IP -aadress.

Samm: looge ühendus oma Raspberry Pi käsureaga

Ühendage oma Raspberry Pi käsureaga
Ühendage oma Raspberry Pi käsureaga

Avage oma Macis terminal (või kui kasutate Windowsi, laadige alla ja kasutage Putty).

Sisestage järgmine käsk:

ssh pi@[teie Pi IP -aadress]

Võtke vastu kõik saadud turvahoiatused. Teilt küsitakse vaikimisi pi kasutaja parooli

vaarikas

Samm: seadistage Raspberry Pi OS GUI

Seadistage Raspberry Pi OS GUI
Seadistage Raspberry Pi OS GUI
Seadistage Raspberry Pi OS GUI
Seadistage Raspberry Pi OS GUI

Nüüd olete oma Pi -ga ühendatud käsurea kaudu, mis on suurepärane, kuid soovite selle ka seadistada, et pääsete juurde graafilisele kasutajaliidesele, millele pääseme juurde VNC (virtuaalse võrgu andmetöötluse) kaudu. Ennustatavalt peame selle ka võimaldama.

Kõigepealt kontrollige, kas teie Pi tarkvara on ajakohane, sisestades käsureale järgmised kaks käsku (kummalegi järgneb sisestus):

sudo apt värskendus

sudo apt install realvnc-vnc-server realvnc-vnc-viewer

Seejärel avage Raspberry Pi seadete menüü, sisestades:

sudo raspi-config

Liikuge liidese suvanditele> VNC> Jah.

Väljuge konfiguratsiooniprogrammist, vajutades põgenemisnuppu ja taaskäivitage Pi käsurealt, tippides:

sudo taaskäivitamine

Samm: ühendage oma Raspberry Pi GUI ja seadistage see

Ühendage oma Raspberry Pi GUI ja seadistage see
Ühendage oma Raspberry Pi GUI ja seadistage see
Ühendage oma Raspberry Pi GUI ja seadistage see
Ühendage oma Raspberry Pi GUI ja seadistage see

Laadige alla ja avage VNC Viewer.

Sisestage oma Raspberry Pi IP -aadress ja vajutage Connect. See küsib kasutajanime ja parooli, mis on järgmised:

Kasutajanimi = pi

Parool = vaarikas

See peaks teid GUI -sse käivitama.

See palub teil kinnitada oma geograafia ja klaviatuuri paigutuse.

Seejärel palub see teil parooli muuta (hea mõte).

See palub teil määrata oma WiFi andmed, kuid saate selle vahele jätta, kuna need juba töötavad. (Kuigi kui kasutate Etherneti ja mõtlete teisiti, on nüüd teie võimalus … kuid pange tähele, et teie IP -aadress võib muutuda)

Seejärel kontrollib, laadib alla ja installib värskendusi (võib võtta aega).

Kui olete häälestusviisardi läbi teinud, soovitaksin muuta ekraani eraldusvõimet, kuna vaikimisi on see üsna väike. Seda saate teha, klõpsates vasakus ülanurgas Raspberry> Eelistused> Raspberry Pi Configuration> Display> Set Resolution

Selle jõustumiseks peate Pi uuesti taaskäivitama.

12. samm: installige Node.js ja NPM

Installige Node.js ja NPM
Installige Node.js ja NPM

Järgmisena soovite laadida vajaliku sõltuvuse installimiseks käsurea Raspberry Pi.

Saate seda teha, kui ühendate VNC kaudu ja klõpsate ülaosas asuvat nuppu, mis näeb välja nagu käsurea; või saate ühenduse luua otse oma Macist/arvutist, kasutades terminali ja puttyt, nagu varem. Kui olete vähem harjunud Raspberry Pi -ga töötama, on seda esimest lihtsam teha.

(Näpunäide. Saate teksti oma Macist/arvutist kopeerida ja VNC kaudu Raspberry Pi-sse kleepida, vajutades klahve CONTROL-V, kuid kui proovite terminali kleepida, peate vajutama klahve CONTROL-SHIFT-V)

Esimene ülesanne on kontrollida uuesti, kas teie tarkvara on ajakohane, sisestades järgmised kaks käsku. Nende allalaadimine ja installimine võib võtta aega.

sudo apt-get update

sudo apt-get upgrade

Järgmisena soovite alla laadida ja installida node.js ja NPM (ärge muretsege liiga palju nende pärast, need on meie järgmiste ülesannete jaoks abiks ja vajalikud), tippides järgmise:

sudo apt-get install nodejs npm

See küsib teilt paar korda, kas võtate nendega hea meelega kettaruumi - vajutage Y

Samm: installige SONOS HTTP API

Installige SONOS HTTP API
Installige SONOS HTTP API
Installige SONOS HTTP API
Installige SONOS HTTP API

Meie projekti tagakülje aluseks on jishi loodud pakett node-sonos-http-api. Selle kohta saate lugeda siit:

Laadime selle alla githubist, kui käsureale sisestatakse järgmine käsk:

git kloon

ja installime selle järgmiste käskudega

cd sõlm-sonos-http-api

npm install -tootmine

Seejärel saame selle käivitada järgmise käsuga:

npm algus

Kui see on tehtud, peaksime kontrollima, kas see töötab.

Kõigepealt avage meie Raspberry Pi veebibrauser ja navigeerige lehele https:// localhost: 5005/. Avanema peaks kena liides koos Sonose logoga ja mõned dokumendid API toimimise kohta.

Järgmisena kontrollime, kas see töötab laiemast võrgust, kasutades sama võrgu teise arvuti või Maci brauserit ja navigeerides aadressile https:// [theIPaddressofyourPi]: 5005/ja vaadates, kas saame sama tulemuse. Me peaks.

Nüüd paneme süsteemi tegelikult midagi tegema. Kasutage brauserit ja navigeerige:

192.168.4.102:5005/ Söögituba/playpause

Peaksite ülaltoodud IP -aadressi asendama oma Raspberry Pi ja "Söögitoa" aadressiga ühe Sonose tsooni nimega. See peaks kas esitama või peatama (sõltuvalt sellest, kas muusika juba mängib või mitte) selles ruumis oleva muusika. Ilmselgelt peab Sonose järjekorras midagi toimima.

Edaspidi kasutan selle õpetuse näidetena ülaltoodud IP -aadressi ja söögituba. Ilmselgelt peaksite need igal juhul asendama oma IP -aadressi ja tsooni nimega.

Samm: pange Sonose HTTP API pidevalt tööle

Pange Sonose HTTP API pidevalt tööle
Pange Sonose HTTP API pidevalt tööle

Tore, et meil on Sonose HTTP API käivitatud, aga mis siis, kui see kokku jookseb? Või kaotate jõu või peate oma Raspberry Pi taaskäivitama?

Efekti näete, kui sulgete terminaliakna ja proovite uuesti seda, mida me just proovisime. See ei tööta, kuna HTTP API on koos terminaliaknaga peatunud.

Tegelikult tahame, et see toimiks pidevalt, ja teeme seda iga kord alates käivitamisest. Me teeme seda laheda asjaga nimega PM2.

Installige ja käivitage see uues terminaliaknas järgmiselt.

sudo npm install -g pm2

pm2 staatus

Nüüd käivitame selle meie Sonose HTTP API käitamiseks:

cd sõlm-sonos-http-api

pm2 algus npm - start pm2 käivitussüsteem

See viimane käsk genereerib midagi, mis näeb välja umbes selline:

sudo env PATH = $ PATH:/usr/bin/usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp/home/pi

Kopeerige see, mida teie Pi genereerib (mitte ülaltoodud täpne tekst - teie oma võib olla erinev) ja sisestage see käsureale. See annab süsteemile käsu käivitada PM2 käivitamisel iga kord.

Lõpuks sisestage:

pm2 säästa

mis säästab kõik.

Nüüd kontrollige, kas see on töötanud, taaskäivitades oma käsuga Raspberry Pi

sudo taaskäivitamine

Loodetavasti käivitab Pi taaskäivitamisel ka PM2 ja omakorda Sonose HTTP API. Saate seda kontrollida, navigeerides sama võrgu brauseri abil aadressile, mida kasutasime varem, ja vaadake Sonose logo ja juhiseid:

192.168.4.102:5005/

on minu jaoks, kuid teie oma sõltub IP -aadressist.

15. samm: mängige mõnda Spotifyt

Kontrollime, kas teenusel on juurdepääs Spotifyle.

Avage brauser ja navigeerige järgmisele aadressile (ilmselt asendatakse see teie IP -aadressi ja ruumi nimega):

192.168.4.102:5005/ Söögituba/spotify/nüüd/spotify/spotify: album: 2dfTV7CktUEBkZCHiB7VQB

Peaksite kuulma mõnda John Grantit. Nautige.

16. samm: otsige üles Spotify URI -d

Leidke Spotify URI -d
Leidke Spotify URI -d

Imelik, ma tean, aga John Grant ei meeldi kõigile. Äkki tahad veel midagi kuulata?

Spotify linke saate töölaualt, veebist või mobiilirakendustest, kuid töölaud on vaieldamatult lihtsaim, kuna see edastab URI täpselt sellises vormingus, nagu soovite, nii et alustage sellest.

Navigeerige Spotify töölauarakenduses albumini, mida soovite kuulata (võib -olla Beyonce'i limonaad?)

Klõpsake südame nupu kõrval olevat kolme väikest punkti.

Minge menüüst alla Jaga ja valige Kopeeri Spotify URI

See kopeerib midagi sellist

spotify: album: 7dK54iZuOxXFarGhXwEXfF

lõikelauale, mis on Spotify URI Beyonce'i Lemondade albumi jaoks.

Käivitage oma brauser uuesti ja navigeerige järgmisele aadressile (ilmselgelt asendades IP -aadressi ja ruumi ning kleepides äsja kopeeritud URI -sse):

192.168.4.102:5005/ Söögituba/spotify/nüüd/[Spotify URI, mida soovite mängida]

Peaksite oma valikut mängima.

Kui eelistate veebirakendust kasutada, annab see teile veebilingi (midagi sellist nagu allpool):

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

peate selle teisendama spotify: album: ülaltoodud koodivormingus, et see toimiks.

17. samm. Märkus Spotify URI -de kohta

Spotify URI-d ja nende liidesed sõlme-sonos-http-api-ga on enamasti intuitiivsed.

Saate linkida otse albumite, lugude ja esitusloenditega.

Albumi URI näeb välja selline:

spotify: album: 6agCM9GJcebduMddgFmgsO

Raja URI näeb välja selline:

spotify: rada: 4fNDKbaeEjk2P4GrRE1UbW

Esitusloendid töötavad veidi teisiti. Kui kopeerite URI Spotifyst, näeb see välja umbes selline:

spotify: esitusloend: 5huIma0YU4iusLcT2reVEU

Kuid selleks, et see API -ga tegelikult tööle hakkaks, peate lisama ülaltoodu algusesse spotify: user:. See kehtib isegi avalike esitusloendite kohta ja jah, see tähendab, et ütlete kaks korda spotify.

Et asi oleks väga selge, ei pea kasutaja olema konkreetse kasutaja nimi, vaid lihtsalt teksti kasutaja. Nii et ülaltoodud esitusloendi toimimiseks oleks õige URI järgmine:

spotify: kasutaja: spotify: esitusloend: 5huIma0YU4iusLcT2reVEU

Samm: seadistage Raspberry Pi HTTP -päringute saatmiseks

Seadistage Raspberry Pi HTTP taotluste saatmiseks
Seadistage Raspberry Pi HTTP taotluste saatmiseks

Selle asemel, et HTTP -päringuid veebibrauserisse käsitsi trükkida, tahame selle automatiseerida nii, et Raspberry Pi teeks seda teatud stiimuliga esitamisel (NFC -lugeja käivitatakse).

Kasutame raamatukogu nimega taotlused, et lubada meie Raspberry Pi -l seda teha. Kontrollime, kas see on installitud.

Avage oma Pi terminal ja tippige järgmine tekst:

sudo pip installipäringud

Tõenäoliselt tuleb see tagasi ja ütleb, et see on juba installitud, sel juhul suurepärane. Kui ei, siis installib selle.

19. samm: looge Spotify andmetega NFCC -märgend (id)

Looge Spotify andmetega NFCC märgend (id)
Looge Spotify andmetega NFCC märgend (id)
Looge Spotify andmetega NFCC märgend (id)
Looge Spotify andmetega NFCC märgend (id)
Looge Spotify andmetega NFCC märgend (id)
Looge Spotify andmetega NFCC märgend (id)
Looge Spotify andmetega NFCC märgend (id)
Looge Spotify andmetega NFCC märgend (id)

Nüüd tahame kirjutada Spotify albumi URI NFC -sildile. Kõiki neid silte kasutate Raspberry Pi -l konkreetse albumi esitamiseks.

Võite kirjutada NFC -märgendile Android -telefoni kasutades, kuid minu arvates on seda kõige lihtsam teha maci või personaalarvuti kaudu, sest siis on kõige lihtsam hankida Spotify URI -d Spotify töölauarakendusest.

Ühendage oma USB NFC lugeja arvuti või Maciga. Ma kasutan American Card Systems'i ACR122U.

Laadige oma arvutisse või Maci alla NFC -tööriistad. Installige ja avage see.

Mõnikord võib lugejaga ühenduse loomine olla pisut aeglane ja võib öelda, et see ei leia lugejat üldse üles. Minge NFC tööriistade vahekaardile Muu ja klõpsake iga kord nupul Ühendatud NFC lugeja. Võimalik, et peate lugeja paar korda vooluvõrgust lahti ühendama ja uuesti ühendama, enne kui ta selle leiab.

Lõpuks annab see teile võimaluse valida loendist lugeja ja öelda, et see on ühendatud. Minge vahekaardile Teave, mis ei näita midagi peale NFC -märgendi ootamise.

Võtke tühi NFC -silt. Pange see lugejale ja jätke see sinna. NFC Tools kuvab märgendi kohta teabe.

Minge vahekaardile Kirjutamine ja klõpsake nuppu Lisa kirje> Tekst. (Olge ettevaatlik, et mitte valida URL -i või URI -d - ma tean, et see on ahvatlev, kuna kopeerite URI -d, kuid soovite teksti)

Hankige Spotify URI -d, kasutades varem kasutatud meetodit. Kui soovite lihtsat näidet, siis järgmine on meie John Granti album varasemast ajast.

spotify: album: 2dfTV7CktUEBkZCHiB7VQB

Klõpsake nuppu OK ja seejärel nuppu Kirjutage (ärge unustage seda viimast sammu - see ei kirjuta seda tegelikult enne, kui klõpsate sellel). See ütleb teile, et märgend on edukalt kirjutatud.

Võtke silt lugejalt maha

Samm: seadistage Raspberry Pi NFC lugeja

Seadistage Raspberry Pi NFC lugeja
Seadistage Raspberry Pi NFC lugeja

Ühendage oma NFC -lugeja oma Raspberry Pi USB -porti.

Kasutame NFC lugejaga suhtlemiseks nfcpy Pythoni raamatukogu. Installige see, kirjutades oma Pi käsureale järgmise:

pip install -U nfcpy

Seejärel saame kontrollida, kas see raamatukogu näeb meie NFC -lugejat, sisestades järgmise:

python -m nfc

Kui see on töötanud, näete järgmist:

See on 1.0.3 versioon nfcpy käivitamisest Python 2.7.16-s Linux-4.19.97-v7+-armv7l-with-debian-10.3

Otsin praegu teie süsteemist kontaktivabu seadmeid ** leidsin usb-lt ACS ACR122U PN532v1.6: ma ei proovi seeriaseadmeid, sest te pole mulle seda öelnud-lisage suvand „--search-tty” et ma otsiksin - kuid olge ettevaatlik, et see võib rikkuda teisi jadaversioone

Siiski on suur tõenäosus, et saate veateate, milles öeldakse, et lugeja on leitud, kuid teie kasutajal (pi) pole sellele juurdepääsu. Kui saate selle veateate, selgitab see ka probleemi lahendamist, sisestades kaks käsku, mis näevad välja natuke järgmised:

sudo sh -c 'echo ALASÜSTEEM == / "usb \", ACTION == / "add \", ATTRS {idVendor} == / "04e6 \", ATTRS {idProduct} == / "5591 \", GROUP = / "plugdev \" >> /etc/udev/rules.d/nfcdev.rules '

sudo udevadm kontroll -R

Kopeerige ja täitke mõlemad käsud, mida see teile annab (mitte täpselt ülaltoodud, kuna teie oma võib olla erinev), seejärel eemaldage ja ühendage NFC -lugeja USB -pordist.

Proovige uuesti käsku kontrollida:

python -m nfc

Seekord peaks ütlema, et see on leitud ilma veateadeteta.

Samm: installige Vinylemulator Pythoni skriptid

Nüüd on meil kõik ehitusplokid paigas:

  • Meie Raspberry Pi suudab kuulata NFC sisendit
  • Meie Raspberry Pi suudab käsutada Sonost Spotify esitusloendeid esitama, kui neile antakse Spotify URI
  • Meil on NFC -silt, millele on salvestatud Spotify URI

Nüüd peame kõik need ehitusplokid millekski kasulikuks tõmbama. Seda tehakse minu kirjutatud lühikese pythoni skripti kaudu (kus on palju abi eelmistest NFC/Spotify/Sonose projektidest), mida nimetatakse vinylemulaatoriks.

Failide lähtekoodi saate vaadata aadressil github:

Selle installimiseks meie Raspberry Pi -le peame selle githubist kloonima järgmise käsuga:

git kloon

22. samm: kohandage Vinylemulator

Kohandage Vinylemulator
Kohandage Vinylemulator
Kohandage Vinylemulator
Kohandage Vinylemulator

Avage Raspberry Pi failihaldur ja navigeerige avalehele> pi> vinylemulator

Avage fail usersettings.py

Selle faili üks rida on järgmine:

sonosroom = "Söögituba"

Muutke „Söögituba” selliseks, mis Sonose toa nime soovite juhtida.

Selles failis on ka seade, mis võimaldab teil kohandada sonos-http-api IP-aadressi. Peaksite selle muutmata jätma nimega "localhost", mis tähendab lihtsalt, et ta kasutab Raspberry Pi, millel see töötab.

Salvestage fail ja sulgege see.

23. samm: testige vinüülimulaatorit

Testi Vinylemulator
Testi Vinylemulator
Testi Vinylemulator
Testi Vinylemulator

Minge oma Raspberry Pi käsureale.

Sisestage järgmine käsk:

python vinylemulator/readnfc.py

Kui kõik on korras, laaditakse skript üles ja öeldakse, et lugeja on valmis. Lugeja tuli peaks roheliseks muutuma.

Pange lugejale NFC -silt, mis piiksub.

Terminal näitab, mida ta on NFC -märgendist lugenud, ja näitab saadetud HTTP -päringu aadressi. Teie valitud album peaks mängima teie Sonose kõlaritest.

See skript töötab seni, kuni sulgete terminaliakna. Saate puudutada erinevaid albumi NFC -silte ja see lülitub sellele albumile.

Samm: laske Vinylemulator pidevalt ja käivitamisel käivitada

Nagu sonos-http-api, tahame, et vinylemulator töötaks kogu aeg, mitte ainult siis, kui me seda kutsume. Selle uuesti tegemiseks saame kasutada pm2.

Kõigepealt sulgege kõik teie poolt kasutatavad vinylemulaatori eksemplarid, sulgedes nende terminaliaknad.

Seejärel avage uus terminaliaken ja tippige järgmised kaks käsku:

pm2 käivitage vinylemulator/readnfc.py

pm2 säästa

Kontrollige, kas see on töötanud, taaskäivitades Raspberry Pi. (Võite sisestada sudo reboot või teha seda hiirega menüüst Vaarikas.

Oodake, kuni Pi uuesti käivitub ja vaadake, kuidas see töötab, puudutades lugejal NFC -silti. Peaksite muusikat hankima.

25. samm: õnnitlege ennast

Kõik on nüüd funktsionaalne. Saate Raspberry Pi teisaldada kõikjale, kuhu kavatsete selle paigutada. See taaskäivitub ja töötab nii, nagu olete selle seadistanud, iga kord, kui selle ühendate.

Teie järgmised ülesanded on lõbusad: muuta see kõik ilusaks.

26. samm: muutke see ilusaks - peitke oma lugeja

Tee see ilusaks - peida oma lugeja
Tee see ilusaks - peida oma lugeja
Tee see ilusaks - peida oma lugeja
Tee see ilusaks - peida oma lugeja
Tee see ilusaks - peida oma lugeja
Tee see ilusaks - peida oma lugeja
Tee see ilusaks - peida oma lugeja
Tee see ilusaks - peida oma lugeja

Ilusaks muutmise esimene osa on vastiku valge plastikust NFC -lugeja peitmine kuhugi.

Olen kasutanud otsustavalt madala tehnoloogiaga võimalust, sidudes selle oma Sonos Play kõrval loenduri alumise küljega: 5. Loenduri puit on piisavalt õhuke, et NFC saaks läbi minna, nii et ma mängin muusikat, koputades maagilisele ja nähtamatule kohale NFC -silti.

Soovitan: