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, Juli
Anonim
Image
Image
Sonos Spotify Vinyl Emulator
Sonos Spotify Vinyl 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 muzike na vinilu je odlično. 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 kolekciju 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 muzike kojoj već imate pristup putem usluge streaminga na koju ste pretplaćeni.

Ovaj projekt pokušava replicirati taktilnost i aspekte izgradnje kolekcije vinila, oslanjajući se na Spotify za isporuku muzike. Postavljanjem fizičkog objekta na NFC čitač spojen na Raspberry Pi (oba se mogu sakriti) počet će se 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 dok sam ovo razvijao. Kao takva, ova uputstva pretpostavljaju doslovno nula prethodnog znanja i govore vam kroz svaki korak.

Ukupni troškovi za bitne komponente za izgradnju ove stavke iznose otprilike 50-60 funti.

Volio bih vidjeti šta 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 ovo pokrenete.

Bitno:

Raspberry Pi: Koristio sam Raspberry Pi 3 model B+, ali će raditi i sa Raspberry Pi 3 modelom A+ (23 GBP)

USB napajanje: Jedan sam ležao u blizini - dostupan je službeni ako ne učinite (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 opcija, već od 5 funti

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

Korak 2: 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č
Potrebni potrošni materijal 2: NFC čitač

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

ACR122U

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

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

Najjeftiniji koji sam našao za oglašen 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 projekt se oslanja na python biblioteku zvanu nfcpy koja održava popis podržanih uređaja ovdje:

U teoriji, ovaj projekt bi trebao raditi s bilo kojim od onih na toj listi 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 našao sam pravi faf. 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 vam je zaista potrebno mjesta za vašu aplikaciju, možete skinuti plastiku s ACR122U i jednostavno upotrijebiti ploču.

Korak 3: Potrebni potrošni 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 mesta na kojima se ovo može kupiti.

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

Najbolje snabdjeven koji sam našao ovdje u Velikoj Britaniji je Seritag - oni imaju zaista širok izbor različitih stilova, odlične savjete na svojoj web stranici, znate tačno šta dobijate (što nije uvijek istina na Amazonu). Nemaju minimalnu veličinu narudžbe i gomilu opcija. 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čunaru ili Mac računaru preuzmite i pokrenite aplikaciju Raspberry PI imager.

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

Kliknite na IZABERI OS i odaberite zadani Rasbian.

Kliknite na IZABERI SD KARTU i odaberite SD karticu koju ste priključili.

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

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

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 operativni sistem zapisan na SD karticu, potrebno je obaviti nekoliko dodatnih zadataka.

Želimo pristupiti Raspberry Pi -u bez uključivanja tastature ili monitora (tzv. "Bez glave"), što možemo učiniti preko naše lokalne mreže koristeći naš PC ili Mac 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 će njeno postojanje omogućiti SSH kada se Pi podigne.

Korak 6: Opcionalno: Postavite Wifi na svom Raspberry Pi

Izborno: Postavite Wifi na svom Raspberry Pi
Izborno: Postavite Wifi na svom Raspberry Pi
Izborno: Postavite Wifi na vašem Raspberry Pi
Izborno: Postavite Wifi na vašem Raspberry Pi

Ovaj korak možete preskočiti ako namjeravate povezati svoj Raspberry Pi sa usmjerivačem putem etherneta. (Iako biste možda trebali dobro razmisliti o toj odluci - njeno prebacivanje preko WiFi -a čini život mnogo lakšim u smislu pozicioniranja ove pozicije)

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 tamo kako bi bili vaši stvarni detalji o WiFi usmjerivaču.

Sačuvajte 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. Sačekajte trenutak da se pokrene.

Korak 8: Pronađite IP adresu svog Raspberry Pi

Sada morate pronaći IP adresu Raspberry Pi -a 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 pametne telefone dostupne za iOS i Android pod nazivom "fing" - preuzmite je, povežite se s usmjerivačem i skenirajte za uređaje - jedan od njih trebao bi se zvati "Raspberry" - to će biti IP adresa koja vam je potrebna.

Korak 9: Povežite se sa komandnom linijom Raspberry Pi

Povežite se sa komandnom linijom Raspberry Pi
Povežite se sa komandnom linijom Raspberry Pi

Otvorite Terminal na svom Mac računaru (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 biti zatraženo da unesete lozinku za zadanog korisnika pi koji je

malina

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 naredbene linije, što je sjajno, ali također ga želite postaviti tako da možete pristupiti grafičkom korisničkom sučelju kojem ćemo pristupiti putem VNC -a (računalo virtualne mreže). Predvidljivo, ovo moramo i omogućiti.

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

sudo apt update

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

Zatim otvorite izbornik postavki Raspberry Pi unošenjem:

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 reboot

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 vas trebalo pokrenuti do GUI -ja.

Od vas će se tražiti da potvrdite geografiju i raspored tastature.

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

Od vas će se tražiti da postavite svoje podatke o WiFi mreži, 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).

Kada prođete kroz čarobnjaka za postavljanje, preporučio bih promjenu rezolucije ekrana 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 ponovo 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 naredbenu liniju da biste instalirali potrebne zavisnosti.

To možete učiniti spajanjem putem VNC -a i klikom na gumb pri vrhu koje izgleda kao naredbena linija; 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 navikli 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 da li je softver ažuriran upisivanjem sljedeće dvije naredbe. Možda će potrajati neko vrijeme za preuzimanje i instaliranje.

sudo apt-get update

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

Pitaće vas nekoliko puta da li sa 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

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

Ovo ćemo preuzeti sa github -a sa sljedećom naredbom unetom u komandnu liniju:

git clone

i instalirat ćemo ga sa sljedećim naredbama

cd čvor-sonos-http-api

npm install --production

Zatim ga možemo pokrenuti sljedećom naredbom:

npm start

Kada to učinimo, trebali bismo testirati da li radi.

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

Zatim provjerimo radi li ovo sa šire mreže korištenjem preglednika na drugom računaru ili Mac -u na istoj mreži i navigacijom do https:// [theIPaddressofyourPi]: 5005/i provjeravamo hoćemo li dobiti isti rezultat. Trebali bi.

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

192.168.4.102:5005/ Trpezarija/igraonica

Gornju IP adresu trebate zamijeniti adresom svoje Raspberry Pi, a "Trpezarija" jednim od naziva vaših Sonos zona. Trebalo bi ili reproducirati ili pauzirati (ovisno o tome da li se muzika već reproducira ili ne) muziku u toj prostoriji. Očigledno je da nešto mora biti u redu za Sonos da bi to funkcioniralo.

Ubuduće ću koristiti gornju IP adresu i trpezariju kao primjere u ovom vodiču. Očigledno je da 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

Sjajno 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 ovo radi neprestano i to svaki put od pokretanja. To radimo sa super 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 posljednja naredba generira nešto što izgleda pomalo:

sudo env PATH = $ PATH:/usr/bin/usr/local/lib/node_modules/pm2/bin/pm2 sistem za pokretanjed -u pi --hp/home/pi

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

Na kraju unesite:

pm2 spremi

što sve štedi.

Sada provjerite je li ovo uspjelo tako što ćete ponovo pokrenuti Raspberry Pi naredbom

sudo reboot

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

Trebao bi čuti Johna Granta. Uživajte.

Korak 16: Pronađite Spotify URI -je

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

Čudno, znam, ali ne sviđaju se svi Johna Granta. Možda želite poslušati nešto drugo?

Spotify veze možete dobiti iz desktop, web ili mobilnih aplikacija, ali Desktop je daleko najjednostavniji jer isporučuje URI u točno željenom formatu, pa počnite s tim.

U aplikaciji Spotify za računare idite do albuma koji želite slušati (možda Lemonade by Beyonce?)

Kliknite na tri male tačke pored dugmeta srca.

Idite dolje na izbornik za dijeljenje i odaberite Kopiraj Spotify URI

Ovo će kopirati nešto poput

spotify: album: 7dK54iZuOxXFarGhXwEXfF

u vaš 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

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

Korak 17: Napomena o Spotify URI -ovima

Spotify URI-i i način na koji se povezuju s node-sonos-http-api uglavnom su intuitivni.

Možete se direktno povezati s albumima, pjesmama i listama za reprodukciju.

URI albuma izgleda ovako:

spotify: album: 6agCM9GJcebduMddgFmgsO

URI zapisa izgleda ovako:

spotify: track: 4fNDKbaeEjk2P4GrRE1UbW

Liste za reprodukciju rade malo drugačije. Kada kopirate URI sa Spotifya, izgledat će otprilike ovako:

spotify: playlist: 5huIma0YU4iusLcT2reVEU

Međutim, da biste zapravo pokrenuli API, morate dodati spotify: user: na početak gore navedenog. Ovo se odnosi čak i na javne liste 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 gornju listu za reprodukciju da bi ona funkcionirala bio bi:

spotify: korisnik: spotify: playlist: 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 stimulans (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. U suprotnom će ga instalirati.

Korak 19: Generirajte NFCC oznake sa 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
Generirajte NFCC oznake s Spotify podacima

Sada želimo napisati URI albuma Spotify na NFC oznaku. Svaka od ovih oznaka je ono što ćete koristiti da kažete Raspberry Pi -u da pusti određeni album.

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

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

Preuzmite NFC Tools na svoj PC ili Mac. Instalirajte 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 kliknite povremeno na dugme Povezani NFC čitač. Možda ćete morati isključiti i ponovo uključiti čitač nekoliko puta prije nego što ga pronađe.

Na kraju će vam dati mogućnost da odaberete čitača 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 će prikazati informacije o oznaci.

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

Uzmite URI od 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 na ovo). Reći će vam da je oznaka uspješno napisana.

Skinite oznaku sa č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 nfcpy Python biblioteku. Instalirajte ga upisivanjem sljedećeg u svoju komandnu liniju Pi:

pip install -U nfcpy

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

python -m nfc

Ako je upalilo, vidjet ćete sljedeće:

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

Sada pretražujem vaš sistem 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 polomiti druge serijske programere

Međutim, postoji velika šansa da dobijete poruku o grešci koja kaže da je čitač pronađen, ali vaš korisnik (pi) nema dozvolu za pristup. Ako dobijete ovu poruku o grešci, također će biti objašnjeno kako riješiti problem, a to je upisivanjem dvije naredbe 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 control -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 ponovo uključite svoj NFC čitač s USB priključka.

Pokušajte ponovo sa komandom check:

python -m nfc

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

Korak 21: Instalirajte Python skripte Vinylemulator

Sada imamo postavljene sve gradivne elemente:

  • Naš Raspberry Pi može slušati NFC ulaz
  • Naš Raspberry Pi može reći Sonosu da reproducira Spotify popise za reprodukciju kada dobije Spotify URI
  • Imamo NFC oznaku na kojoj je uskladišten 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 kod za datoteke možete pogledati na githubu:

Da bismo ovo instalirali na naš Raspberry Pi, moramo ga klonirati sa github -a sljedećom naredbom:

git clone

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 redova u ovoj datoteci glasit će:

sonosroom = "Trpezarija"

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

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

Sačuvajte datoteku i zatvorite je.

Korak 23: Testirajte Vinylemulator

Test Vinylemulator
Test Vinylemulator
Test Vinylemulator
Test Vinylemulator

Idite na komandnu liniju 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. Svetlo na čitaču bi trebalo da postane 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š album bi trebao svirati sa vaših zvučnika Sonos.

Ova skripta će se 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. Možemo koristiti pm2 da to ponovimo.

Prvo zatvorite sve instance vinylemulatora koje koristite 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 Raspberry menija pomoću miša.

Pričekajte da se Pi ponovno pokrene i provjerite radi li dodirivanjem NFC oznake na čitaču. Trebalo bi da nabavite muziku.

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 č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 njegovog 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 je dovoljno tanko da NFC može proći pa puštam muziku dodirom NFC oznake na magično i nevidljivo mjesto.

Preporučuje se: