Sisällysluettelo:

Sonos Spotify Vinyl Emulator: 26 vaihetta
Sonos Spotify Vinyl Emulator: 26 vaihetta

Video: Sonos Spotify Vinyl Emulator: 26 vaihetta

Video: Sonos Spotify Vinyl Emulator: 26 vaihetta
Video: 30 Ultimate Windows 10 Tips and Tricks for 2020 2024, Marraskuu
Anonim
Image
Image
Sonos Spotify vinyyli -emulaattori
Sonos Spotify vinyyli -emulaattori

Huomaa, että tämä ei ole tämän projektin viimeisin ohje:

Käy osoitteessa https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d saadaksesi uusimmat ohjeet ja tuen

Musiikin kuunteleminen vinyylinä on hienoa. Se on fyysistä ja kosketeltavaa. Kuuntelet koko levyä satunnaisten kappaleiden sijaan. Huomaat kun se on ohi ja valitset tietoisesti jotain muuta. Voit rakentaa kokoelman ja selata sitä sen sijaan, että sinun pitäisi etsiä juuri sitä, mitä haluat.

Se on myös kallista ja tilaa vievää, varsinkin kun katsot, että kaikki vinyyliin käyttämäsi raha on todennäköisesti kopio musiikista, johon sinulla on jo pääsy tilaamasi suoratoistopalvelun kautta.

Tässä projektissa yritetään toistaa vinyylin taktiili- ja kokoelmarakentamisen näkökohtia ja luottaa siihen, että Spotify toimittaa musiikin. Fyysisen esineen asettaminen Raspberry Pi -laitteeseen kytkettyyn NFC -lukijaan (molemmat voidaan piilottaa) aloittaa kyseiseen tunnisteeseen liittyvän albumin toistamisen.

Käyn läpi kaikki vaiheet - Raspberry Pi: n määrittämisestä NFC -tunnisteiden koodaamiseen. Tämä on ensimmäinen Raspberry Pi -projektini ja ensimmäinen Python -koodini, joten opetin itselleni molempia tämän kehityksen aikana. Näissä ohjeissa oletetaan kirjaimellisesti nolla aiempaa tietoa ja puhutaan sinulle jokaisessa vaiheessa.

Tämän rakentamisen olennaisten osien kokonaiskustannukset ovat noin 50-60 puntaa.

Haluaisin nähdä mitä rakennat!

Vaihe 1: Tarvittavat tarvikkeet 1: Raspberry Pi

Taustapäätä, joka on yhteydessä verkkoon, Sonosiin ja Spotifyyn, käyttää Raspberry Pi. Tarvitset todella vähän saadaksesi tämän aikaan.

Olennaista:

Raspberry Pi: Käytin Raspberry Pi 3 Model B+: ta, mutta se toimii myös Raspberry Pi 3 Model A+: n kanssa (23 €)

USB -virtalähde: Minulla oli yksi makaamassa - virallinen on saatavilla, jos et (9 €)

Micro SD -kortti: Sain 32 Gt: n, joka riittää tähän sovellukseen, Amazonissa (6 puntaa)

Jotkut Sonos -laitteet toimivat verkossa (oletan, että sinulla on jo tämä, jos olet täällä …)

Spotify Premium -tili

Suositeltava:

Pi -tapaus: vaihtoehtoja on paljon, alkaen 5 puntaa

Pullo kunnollista Kalifornian Zinfandelia: Suosittelen Ridgeä, mutta muita on saatavilla

Vaihe 2: Tarvittavat tarvikkeet 2: NFC -lukija

Tarvittavat tarvikkeet 2: NFC -lukija
Tarvittavat tarvikkeet 2: NFC -lukija
Tarvittavat tarvikkeet 2: NFC -lukija
Tarvittavat tarvikkeet 2: NFC -lukija

Nämä ohjeet on laadittu ACR122U NFC -lukijalle, joka yhdistää USB: n kautta.

ACR122U

Ostin tämän Amazonilta 38 puntaa (lähinnä siksi, että sillä oli ensisijainen toimitus), mutta on olemassa halvempia vaihtoehtoja ostaa tämä sama lukija.

Hämmentävästi ACR122U näyttää olevan myynnissä joukolla erilaisia tuotenimiä (omani kuului kaukana vakuuttavasta tuotenimestä "Yosoo"), mutta voin kertoa, että ne ovat kaikki samat ja American Card Systemsin rakentamat.

Halvin, jonka olen löytänyt mainostetun ACR122U: n, on 21 puntaa sisältäen toimituksen, mutta se tulee suoraan Kiinasta, joten sinun on ehkä odotettava sitä vähän.

Muita vaihtoehtoja

Tämä projekti perustuu python -kirjastoon nfcpy, joka ylläpitää tuettujen laitteiden luetteloa täällä:

Teoriassa tämän projektin pitäisi toimia minkä tahansa luettelossa olevien kanssa vain vähän integroituna.

Yksi houkutteleva vaihtoehto on Adafruit PN532, joka on levy, jonka pitäisi kytkeytyä suoraan Raspberry Pi -laitteeseen hyppyjohtojen avulla. Kokeilin sitä ja löysin sen todellisen huivin. Se vaatii esimerkiksi juottamista.

Yksi sen eduista on pinnallisesti, että se on pienempi, mutta todellisuudessa levy on suunnilleen samankokoinen kuin ACR122U: n suolet. Jos haluat todella tilaa sovelluksellesi, voit irrottaa muovin ACR122U: sta ja käyttää vain levyä.

Vaihe 3: Tarvittavat tarvikkeet 3: NFC -tunnisteet

Tarvittavat tarvikkeet 3: NFC -tunnisteet
Tarvittavat tarvikkeet 3: NFC -tunnisteet

Jokaista albumia varten, jonka haluat luoda, tarvitset NTAG213 -standardin mukaisen NFC -tunnisteen.

Näitä ostopaikkoja on monia.

Ostin ensimmäisen eräni Amazonista, josta sain 10 pakkauksen hintaan 9 puntaa (mukaan lukien Prime -toimitus)

Parasta toimitusta, jonka olen löytänyt täältä Isosta -Britanniasta, on Seritag - heillä on todella laaja valikoima erilaisia tyylejä, hyviä neuvoja verkkosivuillaan, tiedät tarkalleen, mitä saat (ei aina totta Amazonissa). Heillä ei ole vähimmäistilauskokoa ja paljon vaihtoehtoja. Tunnisteet alkavat 27p per tunniste

Vaihe 4: Lataa Raspberry Pi -käyttöjärjestelmä SD -kortille

Lataa Raspberry Pi OS SD -kortille
Lataa Raspberry Pi OS SD -kortille
Lataa Raspberry Pi OS SD -kortille
Lataa Raspberry Pi OS SD -kortille

Lataa ja suorita Raspberry PI imager -sovellus PC: llä tai Macilla.

Aseta SD -kortti, jolle haluat asentaa Raspberry Pi -käyttöjärjestelmän.

Napsauta VALITSE OS ja valitse oletusrasbian.

Napsauta VALITSE SD -KORTTI ja valitse liitetty SD -kortti.

Napsauta KIRJOITA. Tämä voi kestää hetken.

Kun se on tehty, se kehottaa sinua poistamaan SD -kortin, mikä sinun pitäisi tehdä. Mutta kytke se sitten takaisin, koska sinun on ensin tehtävä muutama siivous.

Vaihe 5: Ota SSH käyttöön Raspberry Pi OS -kuvassasi

Ota SSH käyttöön Raspberry Pi OS -kuvassasi
Ota SSH käyttöön Raspberry Pi OS -kuvassasi

Kun käyttöjärjestelmä on kirjoitettu SD -kortille, sinun on tehtävä muutamia lisätehtäviä.

Haluamme käyttää Raspberry Pi: tä kytkemättä näppäimistöä tai näyttöä (eli "päätön"), minkä voimme tehdä paikallisen verkon kautta PC- tai Mac -tietokoneella SSH -protokollan avulla. SSH on kuitenkin oletuksena pois käytöstä turvallisuussyistä. Meidän on otettava se käyttöön.

Voimme tehdä tämän luomalla tyhjän tiedoston nimeltä:

ssh

juuri luomallamme SD -kortilla. On tärkeää, että tällä ei ole minkäänlaista laajennusta (esim. Txt). Tiedoston itsensä ei tarvitse sisältää mitään sisältöä - vain sen olemassaolo mahdollistaa SSH: n, kun Pi käynnistyy.

Vaihe 6: Valinnainen: Määritä Wifi Raspberry Pi -laitteeseesi

Valinnainen: Määritä Wifi Raspberry Pi -laitteeseesi
Valinnainen: Määritä Wifi Raspberry Pi -laitteeseesi
Valinnainen: Määritä Wifi Raspberry Pi -laitteeseesi
Valinnainen: Määritä Wifi Raspberry Pi -laitteeseesi

Voit ohittaa tämän vaiheen, jos aiot kytkeä Raspberry Pi -laitteesi reitittimeen Ethernet -yhteyden kautta. (Vaikka haluat ehkä harkita tarkkaan tätä päätöstä - sen käyttäminen wifi -verkon kautta helpottaa elämää huomattavasti tämän sijoittamisessa)

Luo pelkkä tekstitiedosto nimeltä wpa_supplicant.conf SD -kortin juurihakemistoon.

Lisää alla oleva teksti tiedostoon:

maa = GB

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

Vaihda maata tarpeen mukaan (GB on Iso -Britannia, USA on Yhdysvallat, DE on Saksa jne.)

Muuta siellä olevat wifi -kirjautumistiedot todellisiksi wifi -reitittimen tiedoiksi.

Tallenna tiedosto.

Poista SD -kortti turvallisesti.

Vaihe 7: Käynnistä Raspberry Pi

Käynnistä Raspberry Pi
Käynnistä Raspberry Pi

Aseta juuri luomasi SD -kortti Raspberry Pi -laitteeseesi.

Liitä Raspberry Pi virtalähteeseen USB -kaapelin avulla. Odota hetki, että se käynnistyy.

Vaihe 8: Etsi Raspberry Pi -laitteen IP -osoite

Sinun on nyt löydettävä Raspberry Pi: n IP -osoite, jotta voit muodostaa yhteyden siihen. Voit tehdä tämän kahdella tavalla:

  • reitittimen asetussivun kautta - jos sinulla on moderni reititin, kuten eero, tämä on erittäin helppoa;
  • tai iOS- ja Android -laitteille saatavilla olevan älypuhelinsovelluksen "fing" kautta - lataa se, muodosta yhteys reitittimeesi ja etsi laitteita - yhden niistä pitäisi olla nimeltään "Vadelma" - tämä on tarvitsemasi IP -osoite.

Vaihe 9: Yhdistä Raspberry Pi -komentoosi

Yhdistä Raspberry Pi -komentoosi
Yhdistä Raspberry Pi -komentoosi

Avaa Terminal Macissa (tai jos käytät Windowsia, lataa ja käytä Puttyä).

Kirjoita seuraava komento:

ssh pi@[Pi: n IP -osoite]

Hyväksy saamasi turvallisuusvaroitukset. Sinulta kysytään salasanaa pi -oletuskäyttäjälle

vadelma

Vaihe 10: Määritä Raspberry Pi OS -käyttöliittymä

Määritä Raspberry Pi OS -käyttöliittymä
Määritä Raspberry Pi OS -käyttöliittymä
Määritä Raspberry Pi OS -käyttöliittymä
Määritä Raspberry Pi OS -käyttöliittymä

Olet nyt yhteydessä Pi -laitteeseesi komentorivin kautta, mikä on hienoa, mutta haluat myös määrittää sen, jotta voit käyttää graafista käyttöliittymää, johon pääsemme VNC: n (Virtual Network Computing) kautta. Ennustettavasti meidän on myös otettava tämä käyttöön.

Tarkista ensin, että Pi -ohjelmistosi on ajan tasalla kirjoittamalla komentoriville seuraavat kaksi komentoa (kummankin jälkeen enter):

sudo apt päivitys

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

Avaa seuraavaksi Raspberry Pi -asetusvalikko kirjoittamalla:

sudo raspi-config

Siirry kohtaan Liitäntäasetukset> VNC> Kyllä.

Poistu määrityssovelluksesta painamalla Esc -näppäintä ja käynnistä Pi uudelleen komentoriviltä kirjoittamalla:

sudo uudelleenkäynnistys

Vaihe 11: Yhdistä Raspberry Pi -käyttöliittymään ja asenna se

Yhdistä Raspberry Pi -käyttöliittymään ja asenna se
Yhdistä Raspberry Pi -käyttöliittymään ja asenna se
Yhdistä Raspberry Pi -käyttöliittymään ja asenna se
Yhdistä Raspberry Pi -käyttöliittymään ja asenna se

Lataa ja avaa VNC Viewer.

Kirjoita Raspberry Pi -laitteen IP -osoite ja paina connect. Se kysyy käyttäjätunnusta ja salasanaa, jotka ovat:

Käyttäjätunnus = pi

Salasana = vadelma

Tämän pitäisi käynnistää sinut graafiseen käyttöliittymään.

Se pyytää sinua vahvistamaan maantieteesi ja näppäimistöasettelun.

Sitten se pyytää sinua vaihtamaan salasanasi (hyvä idea).

Se pyytää sinua asettamaan wifi -tiedot, mutta voit ohittaa tämän, koska ne jo toimivat. (Vaikka et käytä ethernetiä ja mietit toisiasi, nyt on tilaisuutesi … mutta huomaa, että IP -osoitteesi saattaa muuttua)

Se tarkistaa, lataa ja asentaa päivitykset (saattaa kestää hetken).

Kun olet ohjatun asennustoiminnon läpi, suosittelen näytön resoluution muuttamista, koska oletusarvo on melko pieni. Voit tehdä tämän napsauttamalla vasemmassa yläkulmassa olevaa Vadelmaa> Asetukset> Raspberry Pi -määritykset> Näyttö> Aseta tarkkuus

Sinun on käynnistettävä Pi uudelleen uudelleen, jotta tämä tulee voimaan.

Vaihe 12: Asenna Node.js ja NPM

Asenna Node.js ja NPM
Asenna Node.js ja NPM

Seuraavaksi haluat ladata Raspberry Pi -komentorivin tarvittavien riippuvuuksien asentamiseksi.

Voit joko tehdä tämän muodostamalla yhteyden VNC: n kautta ja napsauttamalla komentorivin näköistä painiketta yläosassa. tai voit muodostaa yhteyden suoraan Macista/PC: stä Terminalin ja Puttyn avulla, kuten aiemmin. Jos olet vähemmän tottunut työskentelemään Raspberry Pi: n kanssa, on helpompi tehdä ensimmäinen.

(Vihje: Voit kopioida tekstiä Mac-/PC-tietokoneeltasi ja liittää sen Raspberry Pi -laitteeseen VNC: n kautta painamalla CONTROL-V-näppäintä, mutta jos yrität liittää päätelaitteeseen, sinun on painettava CONTROL-VAIHTO-V)

Ensimmäinen tehtävä on tarkistaa uudelleen, onko ohjelmisto ajan tasalla kirjoittamalla seuraavat kaksi komentoa. Niiden lataaminen ja asentaminen voi kestää jonkin aikaa.

sudo apt-get päivitys

sudo apt-get päivitys

Seuraavaksi haluat ladata ja asentaa node.js ja NPM (älä huolehdi liikaa niiden sisällöstä, ne ovat hyödyllisiä ja tarpeellisia seuraavissa tehtävissä) kirjoittamalla seuraavat:

sudo apt-get install nodejs npm

Se kysyy sinulta pari kertaa, otatko mielellään levytilaa näiden kanssa - paina siis Y

Vaihe 13: Asenna SONOS HTTP -sovellusliittymä

Asenna SONOS HTTP -sovellusliittymä
Asenna SONOS HTTP -sovellusliittymä
Asenna SONOS HTTP -sovellusliittymä
Asenna SONOS HTTP -sovellusliittymä

Projektimme takaosan perusta on jishin luoma solmu-sonos-http-api -paketti. Voit lukea kaiken tästä:

Lataamme tämän githubista seuraavalla komennolla komentoriville:

git-klooni

ja asennamme sen seuraavilla komennoilla

cd-solmu-sonos-http-api

npm install -tuotanto

Voimme sitten suorittaa sen seuraavalla komennolla:

npm alku

Kun tämä on tehty, meidän on testattava, että se toimii.

Avaa ensin Raspberry Pi -laitteen Internet -selain ja siirry osoitteeseen https:// localhost: 5005/. Hieno käyttöliittymä pitäisi avata Sonos -logolla ja joitain asiakirjoja API: n toiminnasta.

Seuraavaksi tarkistetaan, että tämä toimii laajemmasta verkosta käyttämällä selainta toisessa PC: ssä tai Macissa samassa verkossa ja siirtymällä osoitteeseen https:// [theIPaddressofyourPi]: 5005/ja katsomalla, saammeko saman tuloksen. Meidän pitäisi.

Nyt saamme järjestelmän todella tekemään jotain. Käytä selainta ja siirry kohtaan:

192.168.4.102:5005/Ruokasali/playpause

Korvaa yllä oleva IP -osoite Raspberry Pi -laitteesi ja "Ruokasalin" osoitteella jollakin Sonos -alueesi nimillä. Sen pitäisi joko toistaa tai keskeyttää (riippuen siitä, toistetaanko musiikkia jo vai ei) kyseisen huoneen musiikkia. On selvää, että Sonos -jonossa on oltava jotain, jotta se toimisi.

Jatkossa käytän yllä olevaa IP -osoitetta ja ruokasalia esimerkkinä koko opetusohjelmassa. Ilmeisesti sinun pitäisi korvata ne IP -osoitteellasi ja vyöhykkeen nimelläsi joka kerta.

Vaihe 14: Käynnistä Sonos HTTP -sovellusliittymä jatkuvasti

Käynnistä Sonos HTTP -sovellusliittymä jatkuvasti
Käynnistä Sonos HTTP -sovellusliittymä jatkuvasti

On hienoa, että Sonos HTTP -sovellusliittymä on käynnissä, mutta entä jos se kaatuu? Tai menetät virran tai joudut käynnistämään Raspberry Pi -laitteesi uudelleen?

Näet vaikutuksen sulkemalla pääteikkunan ja yrittämällä uudelleen mitä yritimme. Se ei toimi, koska HTTP -sovellusliittymä on pysähtynyt pääteikkunan kanssa.

Haluamme todella, että tämä toimii jatkuvasti ja teemme niin aina käynnistyksen jälkeen. Teemme tämän hienolla jutulla nimeltä PM2.

Asenna ja suorita se uudessa pääteikkunassa seuraavasti:

sudo npm asennus -g pm2

pm2 -tila

Aloitetaan nyt Sonos HTTP -sovellusliittymän suorittaminen:

cd-solmu-sonos-http-api

pm2 aloita npm - aloita pm2 käynnistysjärjestelmä

Tämä viimeinen komento luo jotain, joka näyttää vähän tältä:

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

Kopioi mitä Pi tuottaa (ei tarkkaa tekstiä yllä - sinun voi olla erilainen) ja kirjoita se komentoriville. Tämä ohjaa järjestelmää suorittamaan PM2 käynnistyksen yhteydessä joka kerta.

Kirjoita lopuksi:

pm2 säästää

joka säästää kaiken.

Testaa nyt, onko tämä toiminut käynnistämällä Raspberry Pi uudelleen komennolla

sudo uudelleenkäynnistys

Toivottavasti kun Pi käynnistyy uudelleen, se käynnistää myös PM2: n ja vuorostaan Sonos HTTP -sovellusliittymän. Voit tarkistaa tämän navigoimalla saman verkon selaimen avulla aiemmin käyttämäämme osoitteeseen ja katso Sonos -logo ja ohjeet:

192.168.4.102:5005/

on minulle, mutta omasi riippuu IP -osoitteesta.

Vaihe 15: Pelaa Spotifyä

Tarkistetaan, että palvelu voi käyttää Spotifyä.

Avaa selain ja siirry seuraavaan osoitteeseen (ilmeisesti IP -osoitteesi ja huoneesi nimi):

192.168.4.102:5005/Ruokailuhuone/spotify/nyt/spotify/spotify: albumi: 2dfTV7CktUEBkZCHiB7VQB

Sinun pitäisi kuulla John Grant. Nauttia.

Vaihe 16: Etsi Spotifyn URI -tunnukset

Etsi Spotifyn URI -tunnukset
Etsi Spotifyn URI -tunnukset

Tiedän outoa, mutta kaikki eivät pidä John Grantista. Ehkä haluat kuunnella jotain muuta?

Voit saada Spotify -linkit työpöydältä, verkosta tai mobiilisovelluksista, mutta työpöytä on ylivoimaisesti helpoin, koska se toimittaa URI: n juuri haluamassasi muodossa, joten aloita siitä.

Siirry Spotify -työpöytäsovelluksessa albumille, jonka haluat kuunnella (ehkä Beyoncen Lemonade?)

Napsauta kolmea pientä pistettä sydänpainikkeen vieressä.

Siirry valikosta Jaa -kohtaan ja valitse Kopioi Spotify URI

Tämä kopioi jotain sellaista

spotify: albumi: 7dK54iZuOxXFarGhXwEXfF

leikepöydällesi, joka on Spotify URI Beyoncen Lemondade -albumille.

Käynnistä selaimesi uudelleen ja siirry seuraavaan osoitteeseen (ilmeisesti IP -osoitteen ja huoneen korvaaminen ja liittäminen juuri kopioituun URI -osoitteeseen):

192.168.4.102:5005/Ruokailuhuone/spotify/nyt/[Spotify -URI, jonka haluat pelata]

Sinun pitäisi kuulla valitsemasi soitto.

Jos haluat käyttää verkkosovellusta, se antaa sinulle verkkolinkin (jotain alla olevaa):

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

sinun on muunnettava tämä spotify: albumi: koodimuoto yllä, jotta se toimisi.

Vaihe 17: Huomautus Spotifyn URI -osoitteista

Spotify-URI-tunnukset ja niiden tapa liittyä solmu-sonos-http-api ovat intuitiivisia, suurelta osin.

Voit linkittää suoraan albumeihin, kappaleisiin ja soittolistoihin.

Albumin URI näyttää tältä:

spotify: albumi: 6agCM9GJcebduMddgFmgsO

Raidan URI näyttää tältä:

spotify: track: 4fNDKbaeEjk2P4GrRE1UbW

Soittolistat toimivat hieman eri tavalla. Kun kopioit URI: n Spotifysta, se näyttää tältä:

spotify: soittolista: 5huIma0YU4iusLcT2reVEU

Jotta sovellus todella toimisi API: n kanssa, sinun on kuitenkin lisättävä spotify: user: edellä mainitun alkuun. Tämä koskee jopa julkisia soittolistoja, ja kyllä, se tarkoittaa, että sanot spotify kahdesti.

Ollakseen erittäin selkeä, käyttäjän ei tarvitse olla tietyn käyttäjän nimi, vain tekstin käyttäjä. Joten oikea URI yllä olevalle soittolistalle sen toimimiseksi olisi:

spotify: käyttäjä: spotify: soittolista: 5huIma0YU4iusLcT2reVEU

Vaihe 18: Määritä Raspberry Pi lähettämään HTTP -pyynnöt

Määritä Raspberry Pi lähettämään HTTP -pyynnöt
Määritä Raspberry Pi lähettämään HTTP -pyynnöt

Sen sijaan, että kirjoittaisimme HTTP -pyynnöt manuaalisesti verkkoselaimeen, haluamme automatisoida sen niin, että Raspberry Pi tekee sen itse, kun se esitetään tietyllä ärsykkeellä (NFC -lukija käynnistyy).

Käytämme kirjastoa nimeltä pyynnöt, jotta Raspberry Pi voi tehdä tämän. Tarkistetaan, onko se asennettu.

Avaa päätelaite Pi -laitteellasi ja kirjoita seuraava:

sudo pip -asennuspyynnöt

On todennäköistä, että se tulee takaisin ja sanoo, että se on jo asennettu, jolloin se on hienoa. Jos ei, se asentaa sen.

Vaihe 19: Luo NFCC -tunnisteet Spotify -tietojen avulla

Luo NFCC -tunniste (t) Spotify -tietojen avulla
Luo NFCC -tunniste (t) Spotify -tietojen avulla
Luo NFCC -tunniste (t) Spotify -tietojen avulla
Luo NFCC -tunniste (t) Spotify -tietojen avulla
Luo NFCC -tunniste (t) Spotify -tietojen avulla
Luo NFCC -tunniste (t) Spotify -tietojen avulla
Luo NFCC -tunniste (t) Spotify -tietojen avulla
Luo NFCC -tunniste (t) Spotify -tietojen avulla

Nyt haluamme kirjoittaa Spotify -albumin URI -tunnuksen NFC -tunnisteeseen. Kutakin näistä tunnisteista käytetään kertomaan Raspberry Pi: lle toistamaan tietty albumi.

Voit kirjoittaa NFC -tunnisteeseen Android -puhelimella, mutta minusta on helpointa tehdä se Macin tai PC: n kautta, koska silloin voit saada helpoimmin Spotifyn URI -tunnukset Spotify -työpöytäsovelluksesta.

Liitä USB NFC -lukija PC- tai Mac -tietokoneeseen. Käytän American Card Systemsin ACR122U: ta.

Lataa NFC -työkalut PC- tai Mac -tietokoneellesi. Asenna ja avaa se.

Yhteyden muodostaminen lukijaan voi joskus olla hidasta ja voi sanoa, että se ei löydä lukijaa ollenkaan. Siirry NFC -työkalujen Muut -välilehteen ja napsauta niin usein Connected NFC Reader -painiketta. Sinun on ehkä irrotettava ja kytkettävä lukko muutaman kerran ennen kuin se löytää sen.

Lopulta se antaa sinulle mahdollisuuden valita lukijasi luettelosta ja sanoa, että se on yhteydessä. Siirry Tiedot -välilehteen, jossa ei näy muuta kuin "Odotetaan NFC -tagia".

Ota tyhjä NFC -tunniste. Laita se lukijan päälle ja jätä se sinne. NFC -työkalut näyttävät tunnisteen tiedot.

Siirry Kirjoita -välilehteen ja valitse Lisää tietue> Teksti. (Varo, ettet valitse URL -osoitetta tai URI: ta - tiedän, että se on houkuttelevaa, koska kopioit URI: ta, mutta haluat tekstiä)

Hanki URI Spotifysta aiemmin käyttämämme menetelmän avulla. Jos haluat helpon esimerkin, seuraava on John Grant -albumimme aikaisemmalta.

spotify: albumi: 2dfTV7CktUEBkZCHiB7VQB

Napsauta OK ja sitten Kirjoita (älä unohda tätä viimeistä vaihetta - se ei itse kirjoita sitä ennen kuin napsautat tätä). Se kertoo, että tagi on kirjoitettu onnistuneesti.

Ota tunniste pois lukijasta

Vaihe 20: Asenna NFC -lukija Raspberry Pi -laitteeseen

Asenna NFC -lukija Raspberry Pi -laitteeseen
Asenna NFC -lukija Raspberry Pi -laitteeseen

Liitä NFC -lukija johonkin Raspberry Pi -laitteen USB -porttiin.

Käytämme nfcpy Python -kirjastoa kommunikoimaan NFC -lukijan kanssa. Asenna se kirjoittamalla seuraava Pi -komentoriville:

pip asennus -U nfcpy

Voimme sitten tarkistaa, näkeekö tämä kirjasto NFC -lukijamme kirjoittamalla seuraavat:

python -m nfc

Jos se on toiminut, näet seuraavan:

Tämä on 1.0.3 versio nfcpy-ajosta Python 2.7.16: ssa Linux-4.19.97-v7+-armv7l-with-debian-10.3

Etsin nyt järjestelmästäsi kontaktittomia laitteita ** löytyi ACS ACR122U PN532v1.6 osoitteesta usb: 001: 011 En kokeile sarjalaitteita, koska et ole kertonut minulle-lisää vaihtoehto '--search-tty' saada minut etsimään - mutta varokaa, että tämä voi rikkoa muita sarjakehittäjiä

On kuitenkin suuri mahdollisuus, että saat virheilmoituksen, jossa sanotaan, että lukija on löydetty, mutta käyttäjälläsi (pi) ei ole lupaa käyttää sitä. Jos saat tämän virheilmoituksen, se selittää myös, kuinka korjata ongelma, eli kirjoittamalla kaksi komentoa, jotka näyttävät vähän tältä:

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

sudo udevadm ohjaus -R

Kopioi ja suorita molemmat sen antamat komennot (ei täsmälleen mitä yllä on, koska omasi voi olla erilainen), irrota sitten ja kytke NFC -lukija uudelleen USB -portista.

Kokeile tarkistuskomentoa uudelleen:

python -m nfc

Tällä kertaa sen pitäisi sanoa, että se on löytänyt sen ilman virheilmoituksia.

Vaihe 21: Asenna Vinylemulator Python Scripts

Meillä on nyt kaikki rakennuspalikat paikallaan:

  • Raspberry Pi pystyy kuuntelemaan NFC -tuloa
  • Raspberry Pi pystyy käskemään Sonosin pelaamaan Spotify -soittolistoja, kun heille annetaan Spotify URI
  • Meillä on NFC -tunniste, johon on tallennettu Spotify URI

Nyt meidän on vedettävä kaikki nämä rakennuspalikat johonkin hyödylliseen. Tämä tapahtuu lyhyen python -komentosarjan kautta, jonka kirjoitin (paljon apua aiemmista NFC/Spotify/Sonos -projekteista), jota kutsutaan vinylemulaattoriksi.

Voit tarkastella tiedostojen lähdekoodia osoitteessa github:

Asentaaksemme tämän Raspberry Pi -laitteeseemme meidän on kloonattava se githubista seuraavalla komennolla:

git -klooni

Vaihe 22: Muokkaa Vinylemulator

Mukauta Vinylemulator
Mukauta Vinylemulator
Mukauta Vinylemulator
Mukauta Vinylemulator

Avaa Raspberry Pi -tiedostonhallinta ja siirry etusivulle> pi> vinylemulator

Avaa tiedosto usersettings.py

Yksi tämän tiedoston riveistä lukee:

sonosroom = "Ruokasali"

Muuta "Ruokasali" sen Sonos -huoneen nimen mukaan, jota haluat hallita.

Tässä tiedostossa on myös asetus, jonka avulla voit muokata sonos-http-apin IP-osoitetta. Sinun pitäisi pystyä jättämään tämä ennalleen "paikallinen isäntä", mikä tarkoittaa vain, että se käyttää Raspberry Pi: tä, jolla se toimii.

Tallenna tiedosto ja sulje se.

Vaihe 23: Testaa Vinylemulator

Testaa Vinylemulator
Testaa Vinylemulator
Testaa Vinylemulator
Testaa Vinylemulator

Siirry Raspberry Pi -komentokehotteeseen.

Kirjoita seuraava komento:

python vinylemulator/readnfc.py

Jos kaikki on hyvin, tämä lataa komentosarjan ja sanoo, että lukija on valmis. Lukijan valon pitäisi palaa vihreänä.

Aseta NFC -tunniste lukijaan, joka piippaa.

Pääte näyttää, mitä se on lukenut NFC -tunnisteesta, ja näyttää lähettämänsä HTTP -pyyntöosoitteen. Valitsemasi albumin pitäisi soida Sonos -kaiuttimistasi.

Tämä komentosarja jatkuu, kunnes suljet pääteikkunan. Voit napauttaa eri albumin NFC -tunnisteita ja se vaihtaa kyseiseen albumiin.

Vaihe 24: Hanki Vinylemulator toimimaan jatkuvasti ja käynnistettäessä

Aivan kuten sonos-http-api, haluamme vinylemulaattorin toimivan koko ajan eikä vain silloin, kun kutsumme sitä. Voimme käyttää pm2: ta uudelleen tämän tekemiseen.

Sulje ensin kaikki käynnissä olevat vinylemulator -ilmentymät sulkemalla niiden pääteikkunat.

Avaa sitten uusi pääteikkuna ja kirjoita seuraavat kaksi komentoa:

pm2 käynnistä vinylemulator/readnfc.py

pm2 säästää

Tarkistetaan, toimiiko tämä käynnistämällä Raspberry Pi uudelleen. (Voit joko kirjoittaa sudo reboot tai tehdä sen Vadelma -valikosta hiirellä.

Odota, että Pi käynnistyy uudelleen ja katso, että se toimii napauttamalla lukijan NFC -tunnistetta. Sinun pitäisi saada musiikkia.

Vaihe 25: Onnittele itseäsi

Kaikki on nyt toimivaa. Voit siirtää Raspberry Pi: n mihin tahansa, mihin aiot sijoittaa sen. Se käynnistyy uudelleen ja toimii asetuksellasi aina, kun liität sen.

Seuraavat tehtävät ovat hauskoja: tehdä siitä kaikki kaunista.

Vaihe 26: Tee siitä kaunis - piilota lukija

Tee siitä kaunis - piilota lukija
Tee siitä kaunis - piilota lukija
Tee siitä kaunis - piilota lukija
Tee siitä kaunis - piilota lukija
Tee siitä kaunis - piilota lukija
Tee siitä kaunis - piilota lukija
Tee siitä kaunis - piilota lukija
Tee siitä kaunis - piilota lukija

Ensimmäinen osa kaunistamisesta on piilottaa ilkeä valkoinen muovinen NFC -lukija jonnekin.

Olen valinnut selkeästi matalan teknologian vaihtoehdon nauhoittaa sen tiskin alapuolelle Sonos Play -laitteeni vieressä: 5. Laskurin puu on riittävän ohut, jotta NFC voi mennä läpi, joten soitan musiikkia napauttamalla NFC -tagia maagisessa ja näkymättömässä paikassa.

Suositeltava: