Sadržaj:

Sonos Spotify vinilni emulator: 26 koraka
Sonos Spotify vinilni emulator: 26 koraka

Video: Sonos Spotify vinilni emulator: 26 koraka

Video: Sonos Spotify vinilni emulator: 26 koraka
Video: I just bought an INSANE graphics card 2024, Srpanj
Anonim
Image
Image
Sonos Spotify vinilni emulator
Sonos Spotify vinilni emulator

Imajte na umu da ovo nije najnoviji skup uputa za ovaj projekt:

Posjetite https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d za najnoviji skup uputa i podrške

Slušanje glazbe na vinilu izvrsno je. Fizički je i taktilno. Slušate cijeli album, a ne nasumične pjesme. Primijetite kad je gotovo i svjesno odaberete nešto drugo. Možete stvoriti zbirku i pregledavati je umjesto da morate tražiti upravo ono što želite.

Također je skupo i glomazno, pogotovo ako uzmete u obzir da je novac koji potrošite na vinil vrlo vjerojatno duplikat glazbe kojoj već imate pristup putem streaming usluge na koju ste pretplaćeni.

Ovaj projekt pokušava ponoviti aspekte taktilnosti i izgradnje kolekcije vinila, oslanjajući se na Spotify za isporuku glazbe. Postavljanje fizičkog objekta na NFC čitač spojen na Raspberry Pi (oba se mogu sakriti) počet će reproducirati album povezan s tom oznakom.

Provest ću vas kroz sve korake - od postavljanja Raspberry Pi do kodiranja NFC oznaka. Ovo je moj prvi projekt Raspberry Pi i moj prvi Python kod, pa sam oboje naučio razvijajući ovo. Kao takve, ove upute pretpostavljaju doslovno nula prethodnog znanja i provode vas kroz svaki korak.

Ukupni troškovi za bitne komponente za izgradnju ove opreme su otprilike 50-60 funti.

Volio bih vidjeti što gradiš!

Korak 1: Potrebne zalihe 1: Raspberry Pi

Pozadinski dio koji se povezuje s vašom mrežom, Sonos i Spotify vodit će Raspberry Pi. Zapravo vam je jako malo potrebno da to pokrenete.

Bitno:

Raspberry Pi: Koristio sam Raspberry Pi 3 Model B+, ali također će raditi i s Raspberry Pi 3 Model A+ (23 GBP)

USB napajanje: jedno je ležalo u blizini - postoji službeno ako nemate (9 funti)

Mikro SD kartica: Na Amazonu imam karticu od 32 GB, što je dovoljno za ovu aplikaciju (6 funti)

Neka Sonos oprema radi na vašoj mreži (pretpostavljam da ovo već imate ako ste ovdje …)

Spotify Premium račun

Preporučeno:

Slučaj za Pi: postoji mnogo mogućnosti, počevši od 5 GBP

Boca pristojnog kalifornijskog Zinfandela: preporučujem Ridge, ali druge su dostupne

Korak 2: Potrebni pribor 2: NFC čitač

Potrebni potrošni materijal 2: NFC čitač
Potrebni potrošni materijal 2: NFC čitač
Potrebni potrošni materijal 2: NFC čitač
Potrebni potrošni materijal 2: NFC čitač

Ove upute izrađene su za ACR122U NFC čitač koji se povezuje putem USB -a.

ACR122U

Ovaj sam kupio od Amazona za 38 funti (uglavnom zato što je imao vrhunsku dostavu), ali postoje jeftinije opcije za kupnju istog čitača.

Zbunjujuće je da se čini da se ACR122U prodaje pod hrpom različitih robnih marki (moja je došla pod daleko od uvjerljivog naziva "Yosoo"), ali koliko ja mogu zaključiti, svi su isti i proizvedeni su od strane American Card Systems.

Najjeftiniji koji sam pronašao u oglašavanju ACR122U je 21 £ uključujući dostavu, ali to dolazi izravno iz Kine pa ćete na to možda morati malo pričekati.

Druge opcije

Ovaj se projekt oslanja na knjižnicu python pod nazivom nfcpy koja održava popis podržanih uređaja ovdje:

U teoriji bi ovaj projekt trebao raditi s bilo kojim od onih na tom popisu s malo integracije.

Jedna primamljiva opcija je Adafruit PN532, ploča koja se treba spojiti izravno na vaš Raspberry Pi pomoću kratkospojnih kabela. Probao sam i otkrio da je prava slast. Na primjer, zahtijeva lemljenje.

Jedna njegova prednost je, površno, što je manja, ali u stvarnosti je ploča približno iste veličine kao i crijeva ACR122U. Ako ste doista gurnuti u prostor za svoju aplikaciju, možete skinuti plastiku s ACR122U i jednostavno upotrijebiti ploču.

Korak 3: Potrebni materijal 3: NFC oznake

Potrebni potrošni materijal 3: NFC oznake
Potrebni potrošni materijal 3: NFC oznake

Za svaki album koji želite stvoriti trebat će vam NFC oznaka koja zadovoljava standard NTAG213.

Postoji mnogo mjesta za kupnju ovih.

Prvu sam seriju kupio od Amazona, gdje sam dobio pakiranje od 10 za 9 funti (uključujući Prime dostavu)

Najbolje opskrbljen koji sam našao ovdje u Velikoj Britaniji je Seritag - oni imaju zaista širok izbor različitih stilova, sjajne savjete na svojoj web stranici, znate točno što dobivate (što nije uvijek točno na Amazonu). Nemaju minimalnu veličinu narudžbe i gomilu mogućnosti. Oznake počinju od 27 p po oznaci

Korak 4: Preuzmite Raspberry Pi OS na SD karticu

Preuzmite Raspberry Pi OS na SD karticu
Preuzmite Raspberry Pi OS na SD karticu
Preuzmite Raspberry Pi OS na SD karticu
Preuzmite Raspberry Pi OS na SD karticu

Na računalu ili Mac računalu preuzmite i pokrenite aplikaciju Raspberry PI imager.

Umetnite SD karticu na koju želite instalirati Raspberry Pi operativni sustav.

Pritisnite IZABERI OS i odaberite zadani Rasbian.

Pritisnite IZABERI SD KARTICU i odaberite SD karticu koju ste priključili.

Kliknite na NAPIŠI. To može potrajati.

Kad to učini, reći će vam da uklonite SD karticu, što trebate učiniti. No, zatim ga ponovno uključite jer postoji nekoliko stvari vezanih za održavanje kuće koje morate prvo napraviti.

Korak 5: Omogućite SSH na slici Raspberry Pi OS

Omogućite SSH na slici Raspberry Pi OS
Omogućite SSH na slici Raspberry Pi OS

Nakon što je OS zapisan na SD karticu, potrebno je obaviti nekoliko dodatnih zadataka.

Želimo pristupiti Raspberry Pi -u bez uključivanja tipkovnice ili monitora (tzv. "Bez glave"), što možemo učiniti preko naše lokalne mreže pomoću računala ili Mac -a putem protokola koji se zove SSH. Međutim, iz sigurnosnih razloga SSH je prema zadanim postavkama onemogućen. Moramo to omogućiti.

To možemo učiniti stvaranjem prazne datoteke pod nazivom:

ssh

na SD kartici koju smo upravo stvorili. Važno je da ovo nema nikakvo proširenje (npr.. Txt). Sama datoteka ne mora sadržavati nikakav sadržaj - samo njeno postojanje omogućit će SSH kad se Pi podigne.

Korak 6: Izborno: Postavite Wifi na svom Raspberry Pi

Izborno: Postavite Wifi na svom Raspberry Pi
Izborno: Postavite Wifi na svom Raspberry Pi
Izborno: Postavite Wifi na svom Raspberry Pi
Izborno: Postavite Wifi na svom Raspberry Pi

Ovaj korak možete preskočiti ako namjeravate povezati svoj Raspberry Pi s usmjerivačem putem etherneta. (Iako biste možda trebali dobro razmisliti o toj odluci - njezino pokretanje preko wifi -a čini život mnogo lakšim u smislu pozicioniranja ovoga)

Napravite običnu tekstualnu datoteku pod nazivom wpa_supplicant.conf u korijenskom direktoriju SD kartice.

U datoteku umetnite donji tekst:

zemlja = gb

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

Promijenite zemlju na odgovarajući način (GB je UK, US je SAD, DE je Njemačka itd.)

Promijenite vjerodajnice za wifi kako bi bile vaše stvarne pojedinosti o wifi usmjerivaču.

Spremite datoteku.

Sigurno izbacite SD karticu.

Korak 7: Uključite svoj Raspberry Pi

Pojačajte svoj Raspberry Pi
Pojačajte svoj Raspberry Pi

Stavite SD karticu koju ste upravo stvorili u svoj Raspberry Pi.

Uključite Raspberry Pi u napajanje putem USB kabela. Pričekajte minutu da se podigne.

Korak 8: Pronađite IP adresu svog Raspberry Pi

Sada morate pronaći IP adresu Raspberry Pi kako biste se mogli povezati s njom. To možete učiniti na dva načina:

  • putem stranice za postavljanje usmjerivača - ako imate moderan usmjerivač poput eeroa, ovo je super jednostavno;
  • ili putem aplikacije za pametni telefon dostupne za iOS i Android pod nazivom "fing" - preuzmite je, povežite se s usmjerivačem i potražite uređaje - jedan od njih trebao bi se zvati "Raspberry" - to će biti IP adresa koja vam je potrebna.

Korak 9: Povežite se s naredbenim retkom Raspberry Pi

Spojite se na naredbenu liniju Raspberry Pi
Spojite se na naredbenu liniju Raspberry Pi

Otvorite Terminal na svom Mac računalu (ili ako koristite Windows, preuzmite i upotrijebite Putty).

Unesite sljedeću naredbu:

ssh pi@[IP adresa vašeg Pi -a]

Prihvatite sva sigurnosna upozorenja koja dobijete. Od vas će se zatražiti lozinka za zadanog korisnika pi, a to je

kupina

Korak 10: Postavite Raspberry Pi OS GUI

Postavite Raspberry Pi OS GUI
Postavite Raspberry Pi OS GUI
Postavite Raspberry Pi OS GUI
Postavite Raspberry Pi OS GUI

Sada ste povezani sa svojim Pi -om putem naredbenog retka, što je sjajno, ali ga također želite postaviti tako da možete pristupiti Grafičkom korisničkom sučelju kojem ćemo pristupiti putem VNC -a (Virtual Network Computing). Predvidljivo, to moramo i omogućiti.

Prije svega provjerite je li vaš softver Pi ažuriran unošenjem sljedeće dvije naredbe (svaka slijedi enter) u naredbeni redak:

sudo apt ažuriranje

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

Zatim otvorite izbornik postavki Raspberry Pi unosom:

sudo raspi-config

Idite na Opcije sučelja> VNC> Da.

Izađite iz konfiguracijske aplikacije pritiskom na tipku escape i ponovno pokrenite Pi iz naredbenog retka upisivanjem:

sudo ponovno podizanje sustava

Korak 11: Povežite se i postavite svoj Raspberry Pi GUI

Povežite se i postavite svoj Raspberry Pi GUI
Povežite se i postavite svoj Raspberry Pi GUI
Povežite se i postavite svoj Raspberry Pi GUI
Povežite se i postavite svoj Raspberry Pi GUI

Preuzmite i otvorite VNC Viewer.

Upišite IP adresu za Raspberry Pi i pritisnite Connect. Od vas će se zatražiti korisničko ime i lozinka koji su:

Korisničko ime = pi

Lozinka = malina

Ovo bi vam trebalo pokrenuti GUI.

Od vas će se zatražiti da potvrdite svoju geografsku lokaciju i raspored tipkovnice.

Zatim će vas zatražiti da promijenite lozinku (dobra ideja).

Od vas će se tražiti da postavite svoje podatke o WiFi -u, ali to možete preskočiti jer već rade. (Iako ako radite na ethernetu i razmišljate, sada je vaša prilika … ali imajte na umu da se vaša IP adresa može promijeniti)

Zatim će provjeriti, preuzeti i instalirati ažuriranja (može potrajati).

Kad prođete kroz čarobnjaka za postavljanje, preporučio bih promjenu razlučivosti zaslona jer je zadana vrijednost prilično mala. To možete učiniti klikom na Raspberry u gornjem lijevom kutu> Postavke> Raspberry Pi konfiguracija> Zaslon> Postavi rezoluciju

Morat ćete ponovno pokrenuti Pi kako bi ovo stupilo na snagu.

Korak 12: Instalirajte Node.js i NPM

Instalirajte Node.js i NPM
Instalirajte Node.js i NPM

Zatim želite učitati Raspberry Pi naredbeni redak kako biste instalirali potrebne ovisnosti.

To možete učiniti povezivanjem putem VNC -a i klikom na gumb pri vrhu koji izgleda kao naredbeni redak; ili se možete povezati izravno s vašeg Mac/PC -a koristeći Terminal i Putty kao što smo prethodno radili. Ako ste manje naviknuti raditi s Raspberry Pi, lakše je učiniti prvo.

(Savjet: Možete kopirati tekst sa svog Mac/PC-a i zalijepiti ga u Raspberry Pi putem VNC-a pritiskom na CONTROL-V, ali ako pokušavate zalijepiti u terminal, morate pritisnuti CONTROL-SHIFT-V)

Prvi posao je provjeriti je li softver ažuriran upisivanjem sljedeće dvije naredbe. Preuzimanje i instaliranje može potrajati.

sudo apt-get ažuriranje

sudo apt-get nadogradnja

Zatim želite preuzeti i instalirati node.js i NPM (ne brinite previše o tome što su oni, korisni su i potrebni za naše sljedeće zadatke) upisivanjem sljedećeg:

sudo apt-get install nodejs npm

Upitat će vas nekoliko puta ako s ovim zauzimate prostor na disku - pritisnite Y

Korak 13: Instalirajte SONOS HTTP API

Instalirajte SONOS HTTP API
Instalirajte SONOS HTTP API
Instalirajte SONOS HTTP API
Instalirajte SONOS HTTP API

Temelj pozadine našeg projekta je paket node-sonos-http-api koji je stvorio jishi. Sve o tome možete pročitati ovdje:

Preuzet ćemo ovo s githuba sa sljedećom naredbom unesenom u naredbeni redak:

git klon

a mi ćemo ga instalirati sa sljedećim naredbama

cd čvor-sonos-http-api

npm install --production

Zatim ga možemo pokrenuti sljedećom naredbom:

npm početak

Nakon što to učinimo, trebali bismo provjeriti radi li.

Prije svega, otvorite internetski preglednik na našem Raspberry Pi i idite na https:// localhost: 5005/. Trebalo bi se otvoriti lijepo sučelje s logotipom Sonos i nekom dokumentacijom o tome kako API radi.

Zatim provjerimo radi li to sa šire mreže korištenjem preglednika na drugom računalu ili Macu na istoj mreži i navigacijom do https:// [theIPaddressofyourPi]: 5005/i provjeravamo hoćemo li dobiti isti rezultat. Trebali bismo.

Sada ćemo zapravo natjerati sustav da učini nešto. Upotrijebite preglednik i idite na:

192.168.4.102:5005/ Blagovaonica/pauza za igru

Gornju IP adresu trebate zamijeniti adresom svoje Raspberry Pi, a "Blagovaonica" jednim od naziva vaših Sonos zona. Trebala bi reproducirati ili pauzirati (ovisno o tome pušta li se glazba ili ne) glazbu u toj prostoriji. Očito nešto mora biti u redu Sonos da bi to funkcioniralo.

Ubuduće ću koristiti gornju IP adresu i blagovaonicu kao primjere u ovom vodiču. Očito biste ih trebali zamijeniti svojom IP adresom i imenom zone u svakoj prilici.

Korak 14: Neka Sonos HTTP API radi stalno

Neka Sonos HTTP API radi stalno
Neka Sonos HTTP API radi stalno

Super je što imamo pokrenut Sonos HTTP API, ali što ako se sruši? Ili gubite napajanje ili trebate ponovno pokrenuti Raspberry Pi?

Učinak možete vidjeti zatvaranjem prozora terminala i ponovnim pokušajem onoga što smo upravo pokušali. Neće raditi jer je HTTP API stao zajedno s prozorom terminala.

Zapravo želimo da se ovo stalno izvodi i to svaki put od pokretanja. To radimo s cool stvari zvanom PM2.

U novom prozoru terminala instalirajte ga i pokrenite na sljedeći način:

sudo npm install -g pm2

status pm2

Ajmo sada pokrenuti naš Sonos HTTP API:

cd čvor-sonos-http-api

pm2 start npm - početak pm2 pokretanje systemd

Ova zadnja naredba generira nešto što izgleda pomalo:

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

Kopirajte ono što vaš Pi generira (ne točan gornji tekst - vaš se može razlikovati) i unesite ga u naredbeni redak. Ovo upućuje sustav da pokrene PM2 pri pokretanju svaki put.

Na kraju unesite:

pm2 spremi

što sve štedi.

Sada provjerite je li to uspjelo ponovnim pokretanjem vašeg Raspberry Pi -a naredbom

sudo ponovno podizanje sustava

Nadajmo se da će se nakon ponovnog pokretanja Pi -a pokrenuti i PM2, a zauzvrat i Sonos HTTP API. To možete provjeriti navigacijom putem preglednika na istoj mreži do adrese koju smo ranije koristili i vidjeti logotip Sonos i upute:

192.168.4.102:5005/

je ono što je za mene, ali vaša će ovisiti o IP adresi.

Korak 15: Igrajte Spotify

Provjerimo može li usluga pristupiti Spotifyju.

Otvorite preglednik i idite na sljedeću adresu (očito zamjenjujući vašu IP adresu i naziv sobe):

192.168.4.102:5005/ Trpezarija/spotify/sada/spotify/spotify: album: 2dfTV7CktUEBkZCHiB7VQB

Trebali biste čuti Johna Granta. Uživati.

Korak 16: Pronađite Spotify URI -je

Pronađite Spotify URI -je
Pronađite Spotify URI -je

Čudno, znam, ali ne sviraju se svi Johnu Grantu. Možda želite poslušati nešto drugo?

Spotify veze možete dobiti iz stolnih, web ili mobilnih aplikacija, ali radna površina je daleko najlakša jer isporučuje URI u točno željenom formatu pa počnite s tim.

U stolnoj aplikaciji Spotify idite na album koji želite slušati (možda Lemonade by Beyonce?)

Pritisnite tri male točkice pored gumba za srce.

Spustite se na izbornik za Dijeljenje i odaberite Kopiraj Spotify URI

Ovo će kopirati nešto poput

spotify: album: 7dK54iZuOxXFarGhXwEXfF

u međuspremnik, koji je Spotify URI za album Beyonce Lemondade.

Ponovo pokrenite svoj preglednik i idite na sljedeću adresu (očito zamjenjujući IP adresu i sobu i lijepljenjem u URI koji ste upravo kopirali):

192.168.4.102:5005/Trpezarija/spotify/sada/[Spotify URI koji želite igrati]

Trebali biste čuti sviranje po vašem izboru.

Ako više volite koristiti web aplikaciju, ona će vam dati web vezu (nešto poput dolje navedenog):

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

ovo morate pretvoriti u gornji format spotify: album: code da bi radio.

Korak 17: Napomena o spotify URI -ovima

Spotify URI-i i njihov način sučelja s node-sonos-http-api uglavnom su intuitivni.

Možete se izravno povezati s albumima, pjesmama i popisima za reprodukciju.

URI albuma izgleda ovako:

spotify: album: 6agCM9GJcebduMddgFmgsO

URI zapisa izgleda ovako:

spotify: track: 4fNDKbaeEjk2P4GrRE1UbW

Popisi za reprodukciju rade malo drugačije. Kad kopirate URI sa Spotifyja, izgledat će otprilike ovako:

spotify: popis pjesama: 5huIma0YU4iusLcT2reVEU

Međutim, da biste zapravo pokrenuli API, morate dodati spotify: user: na početak gore navedenog. To se odnosi čak i na javne popise za reprodukciju i, da, to znači da dva puta kažete spotify.

Da budemo jasni, korisnik ne mora biti ime određenog korisnika, samo tekstualni korisnik. Dakle, ispravan URI za gornji popis za reprodukciju kako bi ga pokrenuo bio bi:

spotify: korisnik: spotify: popis pjesama: 5huIma0YU4iusLcT2reVEU

Korak 18: Postavite Raspberry Pi za slanje HTTP zahtjeva

Postavite Raspberry Pi za slanje HTTP zahtjeva
Postavite Raspberry Pi za slanje HTTP zahtjeva

Umjesto ručnog upisivanja HTTP zahtjeva u web preglednik, želimo ga automatizirati tako da Raspberry Pi to učini sam kad mu se predstavi određeni poticaj (aktivira se NFC čitač).

Koristit ćemo biblioteku pod nazivom zahtjevi kako bismo omogućili našem Raspberry Pi -u da to učini. Provjerimo je li instaliran.

Otvorite terminal na svom Pi i upišite sljedeće:

sudo pip zahtjevi za instalaciju

Vjerojatno se vraća i kaže da je već instaliran, u tom slučaju odlično. Ako ne, instalirat će ga.

Korak 19: Generirajte NFCC oznake (e) s podacima Spotify

Generirajte NFCC oznake s Spotify podacima
Generirajte NFCC oznake s Spotify podacima
Generirajte NFCC oznake s Spotify podacima
Generirajte NFCC oznake s Spotify podacima
Generirajte NFCC oznake s Spotify podacima
Generirajte NFCC oznake s Spotify podacima
Generirajte NFCC oznake s Spotify podacima
Generirajte NFCC oznake s Spotify podacima

Sada želimo napisati URI albuma Spotify na NFC oznaku. Svaka od ovih oznaka upotrijebit će vas da kažete Raspberry Pi -u da svira određeni album.

Možete pisati na NFC oznaku pomoću Android telefona, ali smatram da je to najlakše učiniti putem Mac računala ili računala jer tada možete najlakše dobiti URI -e Spotify iz aplikacije Spotify za računala.

Uključite USB NFC čitač u računalo ili Mac. Koristim ACR122U tvrtke American Card Systems.

Preuzmite NFC alate na računalo ili Mac. Instalirajte ga i otvorite.

Povezivanje s čitateljem ponekad može biti malo sporo i može reći da uopće ne može pronaći čitatelja. Idite na karticu Ostalo u NFC alatima i svako toliko kliknite gumb Povezani NFC čitač. Možda ćete morati isključiti čitač nekoliko puta prije nego što ga pronađe.

Na kraju će vam dati mogućnost da odaberete čitatelja s popisa i kažete da je povezan. Idite na karticu Informacije koja neće prikazivati ništa osim "Čekanje na NFC oznaku".

Uzmite praznu NFC oznaku. Stavite ga na čitač i ostavite tamo. NFC alati prikazat će informacije o oznaci.

Idite na karticu Write i kliknite Dodaj zapis> Tekst. (Pazite da ne odaberete URL ili URI - znam da je primamljivo jer kopirate URI, ali želite tekst)

Uzmite URI iz Spotifyja pomoću metode koju smo prethodno koristili. Ako želite jednostavan primjer, slijedi naš album John Grant od ranije.

spotify: album: 2dfTV7CktUEBkZCHiB7VQB

Pritisnite U redu, a zatim kliknite Napiši (ne zaboravite ovaj zadnji korak - on ga zapravo ne zapisuje dok ne kliknete ovo). Reći će vam da je oznaka uspješno napisana.

Skinite oznaku s čitača

Korak 20: Postavite NFC čitač na Raspberry Pi

Postavite NFC čitač na Raspberry Pi
Postavite NFC čitač na Raspberry Pi

Uključite svoj NFC čitač u jedan od USB priključaka na vašem Raspberry Pi.

Za komunikaciju s NFC čitačem koristit ćemo knjižnicu nfcpy Python. Instalirajte ga upisivanjem sljedećeg u Pi naredbeni redak:

pip install -U nfcpy

Zatim možemo provjeriti može li ova knjižnica vidjeti naš NFC čitač upisivanjem sljedećeg:

python -m nfc

Ako je upalilo, vidjet ćete sljedeće:

Ovo je verzija 1.0.3 nfcpy pokrenuta u Pythonu 2.7.16 na Linux-4.19.97-v7+-armv7l-with-debian-10.3

Sada pretražujem vaš sustav za beskontaktne uređaje ** pronađeno ACS ACR122U PN532v1.6 na usb: 001: 011 Ne isprobavam serijske uređaje jer mi niste rekli-dodajte opciju '--search-tty' da me gledaju - ali pazite da to može slomiti druge serijske programere

No postoji velika vjerojatnost da ćete dobiti poruku o pogrešci koja kaže da je čitač pronađen, ali vaš korisnik (pi) nema dopuštenje za pristup. Ako dobijete ovu poruku o pogrešci, također će vam objasniti kako riješiti problem, a to je upisivanjem dviju naredbi koje izgledaju otprilike ovako:

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

sudo udevadm kontrola -R

Kopirajte i izvršite obje naredbe koje vam daje (ne baš ono što je gore, jer se vaše mogu razlikovati), a zatim isključite i ponovno priključite svoj NFC čitač s USB priključka.

Pokušajte ponovo naredbu check:

python -m nfc

Ovaj put bi trebao reći da je pronađen bez poruka o pogrešci.

Korak 21: Instalirajte Python skripte Vinylemulator

Sada imamo sve gradivne elemente:

  • Naš Raspberry Pi može slušati NFC ulaz
  • Naš Raspberry Pi može reći Sonosu da reproducira popise za reprodukciju Spotify kada mu se dodeli Spotify URI
  • Imamo NFC oznaku na kojoj je pohranjen Spotify URI

Sada moramo sve ove građevne blokove uvući u nešto korisno. To se radi pomoću kratke python skripte koju sam napisao (uz puno pomoći iz prethodnih projekata NFC/Spotify/Sonos) koja se zove vinylemulator.

Izvorni kôd datoteka možete pogledati na githubu:

Da bismo ovo instalirali na naš Raspberry Pi, moramo ga klonirati s githuba sljedećom naredbom:

git klon

Korak 22: Prilagodite Vinylemulator

Prilagodite Vinylemulator
Prilagodite Vinylemulator
Prilagodite Vinylemulator
Prilagodite Vinylemulator

Otvorite Raspberry Pi upravitelj datoteka i idite na početnu stranicu> pi> vinylemulator

Otvorite datoteku usersettings.py

Jedan od redaka u ovoj datoteci glasit će:

sonosroom = "Blagovaonica"

Promijenite "Blagovaonica" na bilo koji naziv Sonos sobe koji želite kontrolirati.

U ovoj datoteci postoji i postavka koja vam omogućuje prilagodbu IP adrese sonos-http-api. Ovo biste trebali ostaviti nepromijenjenim kao "localhost", što samo znači da će koristiti Raspberry Pi na kojem radi.

Spremite datoteku i zatvorite je.

Korak 23: Testirajte vinylemulator

Testirajte vinylemulator
Testirajte vinylemulator
Testirajte vinylemulator
Testirajte vinylemulator

Idite na naredbeni redak Raspberry Pi.

Unesite sljedeću naredbu:

python vinylemulator/readnfc.py

Ako je sve u redu, učitat će se skripta i reći da je čitatelj spreman. Svjetlo na čitaču trebalo bi svijetliti zeleno.

Stavite NFC oznaku na čitač, koji će se oglasiti zvučnim signalom.

Terminal će pokazati ono što je pročitao iz NFC oznake i pokazati adresu HTTP zahtjeva koju je poslao. Vaš bi se album trebao reproducirati s vaših zvučnika Sonos.

Ova će se skripta nastaviti prikazivati sve dok ne zatvorite prozor terminala. Možete dodirnuti različite NFC oznake albuma i prebacit će se na taj album.

Korak 24: Neka Vinylemulator radi stalno i pri pokretanju

Baš kao i sonos-http-api, želimo da vinylemulator radi stalno, a ne samo kad ga zovemo. Za to možemo ponovno upotrijebiti pm2.

Najprije zatvorite sve instance vinylemulatora koje pokrećete zatvaranjem njihovih prozora terminala.

Zatim otvorite novi prozor terminala i upišite sljedeće dvije naredbe:

pm2 start vinylemulator/readnfc.py

pm2 spremi

Provjerimo je li to uspjelo ponovnim pokretanjem Raspberry Pi. (Možete upisati sudo reboot ili to učiniti iz izbornika Raspberry pomoću miša.

Pričekajte da se Pi ponovno pokrene i provjerite radi li tako da dodirnete NFC oznaku na čitaču. Trebao bi dobiti glazbu.

Korak 25: Čestitajte sebi

Sada je sve funkcionalno. Raspberry Pi možete premjestiti gdje god ga namjeravate postaviti. Ponovno će se pokrenuti i raditi na način na koji ste ga postavili svaki put kada ga uključite.

Sljedeći zadaci su vam zabavni: učiniti sve lijepim.

Korak 26: Učinite to lijepo - sakrijte svog čitatelja

Neka bude lijepo - sakrijte svog čitatelja
Neka bude lijepo - sakrijte svog čitatelja
Neka bude lijepo - sakrijte svog čitatelja
Neka bude lijepo - sakrijte svog čitatelja
Neka bude lijepo - sakrijte svog čitatelja
Neka bude lijepo - sakrijte svog čitatelja
Neka bude lijepo - sakrijte svog čitatelja
Neka bude lijepo - sakrijte svog čitatelja

Prvi dio njegova uljepšavanja je skrivanje gadnog bijelog plastičnog NFC čitača negdje dalje.

Otišao sam s izrazito niskotehnološkom opcijom da ga zalijepim na donju stranu pulta pored mog Sonos Play -a: 5. Drvo brojača dovoljno je tanko da NFC može proći pa puštam glazbu dodirom NFC oznake na čarobno i nevidljivo mjesto.

Preporučeni: