Satura rādītājs:

Sonos Spotify vinila emulators: 26 soļi
Sonos Spotify vinila emulators: 26 soļi

Video: Sonos Spotify vinila emulators: 26 soļi

Video: Sonos Spotify vinila emulators: 26 soļi
Video: НОВОСТИ HI-FI | МУЗЫКАЛЬНЫЕ ВИДЕО | ПЛЕЙЛИСТ НЕДЕЛИ | РОЗЫГРЫШ ВИНИЛА | АУДИОДРОМ S2E33 2024, Decembris
Anonim
Image
Image
Sonos Spotify vinila emulators
Sonos Spotify vinila emulators

Lūdzu, ņemiet vērā, ka šis nav jaunākais instrukciju kopums šim projektam:

Lūdzu, apmeklējiet vietni https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d, lai iegūtu jaunākos norādījumus un atbalstu

Klausīties mūziku uz vinila ir lieliski. Tas ir fiziski un taustāmi. Jūs klausāties veselu albumu, nevis izlases ierakstus. Jūs pamanāt, kad tas ir beidzies, un apzināti izvēlaties kaut ko citu. Jūs varat izveidot kolekciju un pārlūkot to, nevis meklēt tieši to, ko vēlaties.

Tas ir arī dārgi un apjomīgi, it īpaši, ja uzskatāt, ka jebkura nauda, ko tērējat vinila iegādei, ļoti iespējams ir mūzikas dublikāts, kuram jums jau ir piekļuve, izmantojot straumēšanas pakalpojumu, kuru abonējat.

Šis projekts mēģina atkārtot vinila taktilitāti un kolekciju veidošanas aspektus, vienlaikus paļaujoties uz Spotify, lai faktiski piegādātu mūziku. Ievietojot fizisku objektu NFC lasītājā, kas pievienots Raspberry Pi (abus var paslēpt), tiks atskaņots ar šo tagu saistītais albums.

Es sniegšu jums visas darbības - sākot no Raspberry Pi iestatīšanas līdz NFC tagu kodēšanai. Šis ir mans pirmais Raspberry Pi projekts un mans pirmais Python kods, tāpēc es to izstrādāju. Tādējādi šie norādījumi burtiski pieņem, ka nav iepriekšēju zināšanu, un runā par katru soli.

Kopējās izmaksas, kas nepieciešamas, lai to izveidotu, ir aptuveni 50–60 sterliņu mārciņu.

Es gribētu redzēt, ko jūs veidojat!

1. darbība. Nepieciešamie materiāli 1: Raspberry Pi

Aizmugurējo galu, kas ir saskarē ar jūsu tīklu, Sonos un Spotify, vadīs Raspberry Pi. Patiesībā jums ir ļoti maz, lai to panāktu.

Būtiski:

Raspberry Pi: Es izmantoju Raspberry Pi 3 modeli B+, bet tas darbosies arī ar Raspberry Pi 3 modeli A+ (£ 23)

USB barošanas avots: man bija viens guļamvietā - ja jums nav, ir pieejams oficiāls (£ 9)

Micro SD karte: Amazonā es saņēmu 32 GB, kas ir pietiekami šai lietojumprogrammai (£ 6)

Jūsu tīklā darbojas dažas Sonos iekārtas (es domāju, ka jums tas jau ir, ja atrodaties šeit …)

Spotify Premium konts

Ieteicams:

Pi gadījums: ir daudz iespēju, sākot no 5 sterliņu mārciņām

Pudele pienācīgas Kalifornijas Zinfandel: Es iesaku Ridge, bet ir pieejami citi

2. darbība. Nepieciešamie piederumi 2: NFC lasītājs

Nepieciešamie piederumi 2: NFC lasītājs
Nepieciešamie piederumi 2: NFC lasītājs
Nepieciešamie piederumi 2: NFC lasītājs
Nepieciešamie piederumi 2: NFC lasītājs

Šīs instrukcijas ir paredzētas ACR122U NFC lasītājam, kas savienojas, izmantojot USB.

ACR122U

Es to nopirku no Amazon par 38 sterliņu mārciņām (galvenokārt tāpēc, ka tam bija galvenā piegāde), taču ir arī lētākas iespējas iegādāties šo pašu lasītāju.

Neskaidri šķiet, ka ACR122U tiek pārdots ar virkni dažādu zīmolu nosaukumu (mans piederēja ar tālu no pārliecinošā zīmola nosaukuma "Yosoo"), bet, kā es varu pateikt, tie visi ir vienādi un tos ir konstruējis American Card Systems.

Lētākais, ko esmu atradis reklamētajā ACR122U, ir 21 sterliņu mārciņa, ieskaitot piegādi, taču tas nāk tieši no Ķīnas, tāpēc jums, iespējams, būs nedaudz jāgaida.

Citas iespējas

Šis projekts balstās uz python bibliotēku ar nosaukumu nfcpy, kas uztur atbalstīto ierīču sarakstu šeit:

Teorētiski šim projektam vajadzētu sadarboties ar jebkuru no šajā sarakstā iekļautajiem ar nelielu integrāciju.

Viena vilinoša iespēja ir Adafruit PN532, kas ir tāfele, kurai vajadzētu savienot tieši ar Raspberry Pi, izmantojot džemperu kabeļus. Es to izmēģināju un atklāju, ka tas ir īsts fafs. Tam, piemēram, nepieciešama lodēšana.

Viena no priekšrocībām virspusēji ir tā, ka tā ir mazāka, bet patiesībā tāfele ir aptuveni tāda paša izmēra kā ACR122U iekšas. Ja jūsu lietojumprogrammai patiešām tiek prasīts vietas, varat noņemt ACR122U plastmasu un vienkārši izmantot dēli.

3. darbība. Nepieciešamie materiāli 3: NFC tagi

Nepieciešamie piederumi 3: NFC tagi
Nepieciešamie piederumi 3: NFC tagi

Katram albumam, kuru vēlaties izveidot, jums būs nepieciešams NFC tags, kas atbilst NTAG213 standartam.

Ir daudz vietu, kur tos iegādāties.

Es nopirku savu pirmo partiju no Amazon, kur es saņēmu 10 iepakojumu par £ 9 (ieskaitot Prime piegādi)

Vislabāk piegādātais, ko esmu atradis šeit Lielbritānijā, ir Seritag - viņiem ir patiešām plaša dažādu stilu izvēle, lieliski padomi viņu vietnē, jūs precīzi zināt, ko saņemat (ne vienmēr ir taisnība vietnē Amazon). Viņiem nav minimālā pasūtījuma lieluma un daudz iespēju. Tagi sākas ar 27p uz vienu tagu

4. darbība: lejupielādējiet Raspberry Pi OS SD kartē

Lejupielādējiet Raspberry Pi OS SD kartē
Lejupielādējiet Raspberry Pi OS SD kartē
Lejupielādējiet Raspberry Pi OS SD kartē
Lejupielādējiet Raspberry Pi OS SD kartē

Datorā vai Mac datorā lejupielādējiet un palaidiet lietojumprogrammu Raspberry PI.

Ievietojiet SD karti, kurā vēlaties instalēt Raspberry Pi operētājsistēmu.

Noklikšķiniet uz Izvēlēties OS un atlasiet noklusējuma Rasbian.

Noklikšķiniet uz IZVĒLĒTIES SD KARTI un atlasiet pievienoto SD karti.

Noklikšķiniet uz WRITE. Tas var aizņemt kādu laiku.

Kad tas ir izdarīts, tas jums pateiks, kā noņemt SD karti, kas jums jādara. Bet pēc tam pievienojiet to atpakaļ, jo vispirms ir jāveic daži mājas uzkopšanas punkti.

5. darbība: iespējojiet SSH savā Raspberry Pi OS attēlā

Iespējojiet SSH savā Raspberry Pi OS attēlā
Iespējojiet SSH savā Raspberry Pi OS attēlā

Kad operētājsistēma ir ierakstīta SD kartē, ir jāveic daži papildu uzdevumi.

Mēs vēlamies piekļūt Raspberry Pi, nepievienojot tastatūru vai monitoru (pazīstams arī kā "bez galvas"), ko mēs varam darīt savā lokālajā tīklā, izmantojot datoru vai Mac, izmantojot protokolu ar nosaukumu SSH. Tomēr drošības apsvērumu dēļ SSH pēc noklusējuma ir atspējots. Mums tas ir jāiespējo.

Mēs to varam izdarīt, izveidojot tukšu failu ar nosaukumu:

ssh

mūsu tikko izveidotajā SD kartē. Ir svarīgi, lai tam nebūtu paplašinājumu (piemēram,.txt). Pašā failā nav jāsatur nekāds saturs - tikai tā pastāvēšana ļaus SSH, kad Pi sāk darboties.

6. darbība: pēc izvēles: iestatiet Wifi savā Raspberry Pi

Pēc izvēles: iestatiet Wifi savā Raspberry Pi
Pēc izvēles: iestatiet Wifi savā Raspberry Pi
Pēc izvēles: iestatiet Wifi savā Raspberry Pi
Pēc izvēles: iestatiet Wifi savā Raspberry Pi

Šo darbību varat izlaist, ja plānojat pieslēgt Raspberry Pi maršrutētājam, izmantojot Ethernet. (Lai gan jūs, iespējams, vēlēsities rūpīgi pārdomāt šo lēmumu - ja tas darbojas, izmantojot Wi -Fi, tas ievērojami atvieglo dzīvi šī pozicionēšanas ziņā)

Izveidojiet vienkārša teksta failu ar nosaukumu wpa_supplicant.conf SD kartes saknes direktorijā.

Ievietojiet failā zemāk esošo tekstu:

valsts = gb

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

Mainiet valsti pēc vajadzības (GB ir Lielbritānija, ASV ir ASV, DE ir Vācija utt.)

Mainiet tur esošos wifi akreditācijas datus, lai tie būtu faktiskā wifi maršrutētāja informācija.

Saglabājiet failu.

Droši izņemiet SD karti.

7. solis: ieslēdziet savu Raspberry Pi

Ieslēdziet savu Raspberry Pi
Ieslēdziet savu Raspberry Pi

Ievietojiet tikko izveidoto SD karti savā Raspberry Pi.

Pievienojiet Raspberry Pi barošanai, izmantojot USB kabeli. Pagaidiet minūti, līdz tas sāk darboties.

8. solis: atrodiet sava Raspberry Pi IP adresi

Tagad jums jāatrod Raspberry Pi IP adrese, lai varētu ar to izveidot savienojumu. To var izdarīt divos veidos:

  • izmantojot maršrutētāja iestatīšanas lapu - ja jums ir moderns maršrutētājs, piemēram, eero, tas ir ļoti vienkārši;
  • vai izmantojot viedtālruņa lietotni, kas pieejama operētājsistēmai iOS un Android, ko sauc par "fing" - lejupielādējiet to, izveidojiet savienojumu ar maršrutētāju un skenējiet ierīces - vienu no tām vajadzētu saukt par "Raspberry" - tā būs nepieciešamā IP adrese.

9. solis: izveidojiet savienojumu ar savu Raspberry Pi komandrindu

Izveidojiet savienojumu ar savu Raspberry Pi komandrindu
Izveidojiet savienojumu ar savu Raspberry Pi komandrindu

Atveriet termināli savā Mac datorā (vai, ja izmantojat Windows, lejupielādējiet un izmantojiet Putty).

Ievadiet šādu komandu:

ssh pi@[jūsu Pi IP adrese]

Pieņemiet visus saņemtos drošības brīdinājumus. Jums tiks prasīts ievadīt noklusējuma pi lietotāja paroli

aveņu

10. darbība: iestatiet Raspberry Pi OS GUI

Iestatiet Raspberry Pi OS GUI
Iestatiet Raspberry Pi OS GUI
Iestatiet Raspberry Pi OS GUI
Iestatiet Raspberry Pi OS GUI

Tagad jūs esat izveidojis savienojumu ar savu Pi, izmantojot komandrindu, kas ir lieliski, taču vēlaties to arī iestatīt, lai varētu piekļūt grafiskajai lietotāja saskarnei, kurai mēs piekļūsim, izmantojot VNC (virtuālā tīkla skaitļošanu). Paredzams, ka mums tas arī ir jāiespējo.

Vispirms pārbaudiet, vai jūsu Pi programmatūra ir atjaunināta, komandrindā ievadot šādas divas komandas (katrai seko enter):

sudo apt atjauninājums

sudo apt instalēt realvnc-vnc-server realvnc-vnc-viewer

Pēc tam atveriet Raspberry Pi iestatījumu izvēlni, ievadot:

sudo raspi-config

Dodieties uz Saskarnes opcijas> VNC> Jā.

Izejiet no konfigurācijas programmas, nospiežot evakuācijas taustiņu, un atsāknējiet Pi no komandrindas, ierakstot:

sudo atsāknēšana

11. darbība: izveidojiet savienojumu ar Raspberry Pi GUI un iestatiet to

Pievienojieties Raspberry Pi GUI un iestatiet to
Pievienojieties Raspberry Pi GUI un iestatiet to
Pievienojieties Raspberry Pi GUI un iestatiet to
Pievienojieties Raspberry Pi GUI un iestatiet to

Lejupielādējiet un atveriet VNC skatītāju.

Ierakstiet sava Raspberry Pi IP adresi un nospiediet savienojumu. Tas prasīs ievadīt lietotājvārdu un paroli:

Lietotājvārds = pi

Parole = aveņu

Tam vajadzētu sākt lietot GUI.

Tas liks jums apstiprināt savu ģeogrāfiju un tastatūras izkārtojumu.

Pēc tam tas liks jums nomainīt paroli (laba ideja).

Tajā tiks lūgts iestatīt informāciju par wifi, taču varat to izlaist, jo tie jau darbojas. (Lai gan, ja izmantojat ethernet un domājat, tad tagad ir jūsu iespēja… bet ņemiet vērā, ka jūsu IP adrese var mainīties)

Pēc tam tas pārbaudīs, lejupielādēs un instalēs atjauninājumus (tas var aizņemt kādu laiku).

Kad esat pabeidzis iestatīšanas vedni, es ieteiktu mainīt ekrāna izšķirtspēju, jo noklusējuma vērtība ir diezgan maza. To var izdarīt, augšējā kreisajā stūrī noklikšķinot uz Aveņu> Preferences> Raspberry Pi konfigurācija> Displejs> Iestatīt izšķirtspēju

Lai tas stātos spēkā, jums būs vēlreiz jārestartē Pi.

12. darbība: instalējiet Node.js un NPM

Instalējiet Node.js un NPM
Instalējiet Node.js un NPM

Tālāk vēlaties ielādēt komandrindu Raspberry Pi, lai instalētu nepieciešamās atkarības.

To var izdarīt, pieslēdzoties, izmantojot VNC, un augšpusē noklikšķinot uz pogas, kas izskatās kā komandrinda; vai arī varat izveidot savienojumu tieši no sava Mac/datora, izmantojot termināli un špakteles, kā mēs to darījām iepriekš. Ja esat mazāk pieradis strādāt ar Raspberry Pi, tad to ir vieglāk izdarīt.

(Padoms. Jūs varat nokopēt tekstu no sava Mac/datora un ielīmēt to Raspberry Pi, izmantojot VNC, nospiežot CONTROL-V, bet, ja mēģināt ielīmēt terminālī, nospiediet taustiņu kombināciju CONTROL-SHIFT-V)

Pirmais uzdevums ir vēlreiz pārbaudīt, vai jūsu programmatūra ir atjaunināta, ierakstot šādas divas komandas. To lejupielāde un instalēšana var aizņemt kādu laiku.

sudo apt-get update

sudo apt-get jauninājums

Tālāk vēlaties lejupielādēt un instalēt node.js un NPM (pārāk neuztraucieties par to, kas tie ir, tie ir noderīgi un nepieciešami mūsu nākamajiem uzdevumiem), ierakstot šo:

sudo apt-get install nodejs npm

Pāris reizes jums tiks jautāts, vai esat priecīgs aizņemt vietu diskā, tāpēc nospiediet Y

13. darbība: instalējiet SONOS HTTP API

Instalējiet SONOS HTTP API
Instalējiet SONOS HTTP API
Instalējiet SONOS HTTP API
Instalējiet SONOS HTTP API

Mūsu projekta aizmugures pamats ir jishi izveidotā pakete mezgls-sonos-http-api. Visu par to varat izlasīt šeit:

Mēs to lejupielādēsim no github, komandrindā ievadot šādu komandu:

git klons

un mēs to instalēsim ar šādām komandām

cd mezgls-sonos-http-api

npm instalēšana -ražošana

Pēc tam mēs varam to palaist ar šādu komandu:

npm sākums

Kad tas ir izdarīts, mums jāpārbauda, vai tas darbojas.

Vispirms atveriet interneta pārlūkprogrammu mūsu Raspberry Pi un dodieties uz vietni https:// localhost: 5005/. Jāatver jauks interfeiss ar Sonos logotipu un kādu dokumentāciju par API darbību.

Pēc tam pārbaudīsim, vai tas darbojas no plašāka tīkla, izmantojot pārlūkprogrammu citā datorā vai Mac tajā pašā tīklā un pārejot uz vietni https:// [theIPaddressofyourPi]: 5005/un pārbaudot, vai iegūstam tādu pašu rezultātu. Mums vajadzētu.

Tagad mēs faktiski liksim sistēmai kaut ko darīt. Izmantojiet pārlūkprogrammu un dodieties uz:

192.168.4.102:5005/ Ēdamistaba/playpause

Iepriekš minētā IP adrese jāaizstāj ar Raspberry Pi un ēdamistabas adresi ar vienu no jūsu Sonos zonu nosaukumiem. Tai vajadzētu atskaņot vai apturēt (atkarībā no tā, vai mūzika jau tiek atskaņota vai nē) mūziku šajā telpā. Acīmredzot kaut kam ir jābūt Sonos rindā, lai tas darbotos.

Turpmāk es izmantošu iepriekš minēto IP adresi un ēdamistabu kā šīs apmācības piemērus. Acīmredzot jums katru reizi tās jāaizstāj ar savu IP adresi un zonas nosaukumu.

14. darbība. Lieciet Sonos HTTP API pastāvīgi darboties

Lieciet Sonos HTTP API darboties pastāvīgi
Lieciet Sonos HTTP API darboties pastāvīgi

Ir lieliski, ka mums ir palaista Sonos HTTP API, bet ko darīt, ja tā avarē? Vai arī jūs zaudējat jaudu vai jums ir jāpārstartē Raspberry Pi?

Jūs varat redzēt efektu, aizverot termināļa logu un mēģinot vēlreiz to, ko mēs tikko izmēģinājām. Tas nedarbosies, jo HTTP API ir apstājusies kopā ar termināļa logu.

Mēs patiesībā vēlamies, lai tas darbotos nepārtraukti, un to darām katru reizi no palaišanas brīža. Mēs to darām ar foršu lietu ar nosaukumu PM2.

Jaunā termināļa logā instalējiet un palaidiet to šādi:

sudo npm instalēt -g pm2

pm2 statuss

Tagad sāksim to palaist mūsu Sonos HTTP API:

cd mezgls-sonos-http-api

pm2 start npm - start pm2 starta systemd

Šī pēdējā komanda ģenerē kaut ko līdzīgu:

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

Kopējiet to, ko rada jūsu Pi (nevis precīzu tekstu iepriekš - jūsu var būt atšķirīgs) un ievadiet to komandrindā. Tas liek sistēmai katru reizi palaist PM2, sāknējot.

Visbeidzot, ievadiet:

ietaupīt pm2

kas ietaupa visu.

Tagad pārbaudiet, vai tas ir strādājis, pārstartējot Raspberry Pi ar komandu

sudo atsāknēšana

Cerams, ka pēc Pi atkārtotas palaišanas tas sāks arī PM2 un, savukārt, Sonos HTTP API. To varat pārbaudīt, navigējot, izmantojot tā paša tīkla pārlūkprogrammu, uz adresi, kuru izmantojām iepriekš, un skatiet Sonos logotipu un norādījumus:

192.168.4.102:5005/

tas ir domāts man, bet jūsu būs atkarīgs no IP adreses.

15. solis: atskaņojiet kādu Spotify

Pārbaudīsim, vai pakalpojums var piekļūt Spotify.

Atveriet pārlūkprogrammu un dodieties uz šādu adresi (protams, aizstājot ar savu IP adresi un telpas nosaukumu):

192.168.4.102:5005/Dining Room/spotify/now/spotify/spotify: albums: 2dfTV7CktUEBkZCHiB7VQB

Jums vajadzētu dzirdēt kādu Džonu Grantu. Izbaudi.

16. darbība. Atrodiet Spotify URI

Atrodiet Spotify URI
Atrodiet Spotify URI

Dīvaini, es zinu, bet ne visiem patīk Džons Grants. Varbūt vēlaties klausīties kaut ko citu?

Jūs varat iegūt Spotify saites no darbvirsmas, tīmekļa vai mobilajām lietotnēm, taču darbvirsma ir visvienkāršākā, jo tā nodrošina URI tieši tādā formātā, kādu vēlaties, tāpēc sāciet ar to.

Darbvirsmas lietotnē Spotify dodieties uz albumu, kuru vēlaties klausīties (varbūt Bejonsa limonāde?)

Noklikšķiniet uz trim mazajiem punktiem blakus sirds pogai.

Atveriet izvēlni, lai kopīgotu, un izvēlieties Kopēt Spotify URI

Tas kopēs kaut ko līdzīgu

spotify: albums: 7dK54iZuOxXFarGhXwEXfF

jūsu starpliktuvē, kas ir Spotify URI Beyonce Lemondade albumam.

Atkal aktivizējiet pārlūkprogrammu un dodieties uz šādu adresi (acīmredzot nomainot IP adresi un telpu un ielīmējot tikko nokopēto URI):

192.168.4.102:5005/ Ēdamistaba/spotify/tagad/[Spotify URI, kuru vēlaties atskaņot]

Jums vajadzētu dzirdēt, kā spēlē jūsu izvēle.

Ja vēlaties izmantot tīmekļa lietotni, tā sniegs jums tīmekļa saiti (piemēram, zemāk):

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

jums tas jāpārvērš spotify: albums: koda formāts iepriekš, lai tas darbotos.

17. darbība. Piezīme par Spotify URI

Spotify URI un to saskarne ar mezglu-sonos-http-api lielākoties ir intuitīvi.

Varat tieši saistīt ar albumiem, ierakstiem un atskaņošanas sarakstiem.

Albuma URI izskatās šādi:

spotify: albums: 6agCM9GJcebduMddgFmgsO

Maršruta URI izskatās šādi:

spotify: dziesma: 4fNDKbaeEjk2P4GrRE1UbW

Atskaņošanas saraksti darbojas nedaudz savādāk. Kopējot URI no Spotify, tas izskatīsies apmēram šādi:

spotify: atskaņošanas saraksts: 5huIma0YU4iusLcT2reVEU

Tomēr, lai tas faktiski darbotos pie API, iepriekšminētā sākumam jāpievieno spotify: user:. Tas attiecas pat uz publiskiem atskaņošanas sarakstiem, un, jā, tas nozīmē, ka jūs divreiz sakāt spotify.

Lai būtu ļoti skaidrs, lietotājam nav jābūt konkrēta lietotāja vārdam, bet tikai teksta lietotājam. Tātad pareizais URI iepriekšējam atskaņošanas sarakstam, lai tas darbotos, būtu šāds:

spotify: lietotājs: spotify: atskaņošanas saraksts: 5huIma0YU4iusLcT2reVEU

18. darbība: iestatiet Raspberry Pi HTTP pieprasījumu sūtīšanai

Iestatiet Raspberry Pi, lai nosūtītu HTTP pieprasījumus
Iestatiet Raspberry Pi, lai nosūtītu HTTP pieprasījumus

Tā vietā, lai manuāli ierakstītu HTTP pieprasījumus tīmekļa pārlūkprogrammā, mēs vēlamies to automatizēt, lai Raspberry Pi to izdarītu pats, kad tiek parādīts noteikts stimuls (tiek aktivizēts NFC lasītājs).

Mēs izmantosim bibliotēku ar nosaukumu pieprasījumi, lai ļautu mūsu Raspberry Pi to izdarīt. Pārbaudīsim, vai tas ir instalēts.

Atveriet termināli savā Pi un ierakstiet šo:

sudo pip instalēšanas pieprasījumi

Iespējams, ka tas atgriežas un saka, ka tas jau ir instalēts, un šajā gadījumā lieliski. Ja nē, tas to instalēs.

19. darbība. Izveidojiet NFCC tagu (-us), izmantojot Spotify datus

Izveidojiet NFCC tagu (-us), izmantojot Spotify datus
Izveidojiet NFCC tagu (-us), izmantojot Spotify datus
Izveidojiet NFCC tagu (-us), izmantojot Spotify datus
Izveidojiet NFCC tagu (-us), izmantojot Spotify datus
Izveidojiet NFCC tagu (-us), izmantojot Spotify datus
Izveidojiet NFCC tagu (-us), izmantojot Spotify datus
Izveidojiet NFCC tagu (-us), izmantojot Spotify datus
Izveidojiet NFCC tagu (-us), izmantojot Spotify datus

Tagad mēs vēlamies ierakstīt Spotify albuma URI uz NFC tagu. Katrs no šiem tagiem ir tas, ko izmantosit, lai Raspberry Pi atskaņotu noteiktu albumu.

Jūs varat rakstīt uz NFC tagu, izmantojot Android tālruni, taču, manuprāt, visvieglāk to izdarīt, izmantojot Mac vai datoru, jo tad visvieglāk ir iegūt Spotify URI no darbvirsmas lietotnes Spotify.

Pievienojiet USB NFC lasītāju datoram vai Mac. Es izmantoju American Card Systems ACR122U.

Lejupielādējiet NFC rīkus savā datorā vai Mac. Instalējiet un atveriet to.

Dažreiz var būt nedaudz lēns savienojums ar lasītāju un var teikt, ka tas nevar atrast lasītāju vispār. Atveriet NFC rīku cilni Citi un ik pa laikam noklikšķiniet uz pogas Savienotais NFC lasītājs. Lai lasītājs to atrastu, jums, iespējams, vajadzēs to vairākas reizes atvienot un atvienot.

Galu galā tas dos jums iespēju izvēlēties lasītāju no saraksta un teikt, ka tas ir savienots. Dodieties uz cilni Informācija, kurā netiks rādīts nekas cits kā “Gaida NFC tagu”.

Paņemiet tukšu NFC tagu. Uzlieciet to uz lasītāja un atstājiet to tur. NFC rīki parādīs informāciju par tagu.

Atveriet cilni Rakstīt un noklikšķiniet uz Pievienot ierakstu> Teksts. (Uzmanieties, lai neizvēlētos URL vai URI - es zinu, ka tas ir vilinoši, jo jūs kopējat URI, bet vēlaties tekstu)

Iegūstiet URI no Spotify, izmantojot iepriekš izmantoto metodi. Ja vēlaties vieglu piemēru, tad šāds ir mūsu Džona Granta albums no iepriekšējā.

spotify: albums: 2dfTV7CktUEBkZCHiB7VQB

Noklikšķiniet uz Labi un pēc tam noklikšķiniet uz Rakstīt (neaizmirstiet šo pēdējo darbību - tā faktiski to neraksta, pirms noklikšķināt uz šī). Tas jums pateiks, ka tags ir veiksmīgi uzrakstīts.

Noņemiet atzīmi no lasītāja

20. darbība: iestatiet NFC lasītāju Raspberry Pi

Iestatiet NFC lasītāju Raspberry Pi
Iestatiet NFC lasītāju Raspberry Pi

Pievienojiet NFC lasītāju kādam no Raspberry Pi USB portiem.

Lai sazinātos ar NFC lasītāju, mēs izmantosim nfcpy Python bibliotēku. Instalējiet to, komandrindā Pi ierakstot šādu informāciju:

pip instalēt -U nfcpy

Pēc tam mēs varam pārbaudīt, vai šī bibliotēka var redzēt mūsu NFC lasītāju, ierakstot šo:

python -m nfc

Ja tas ir strādājis, jūs redzēsit sekojošo:

Šī ir 1.0.3 versija nfcpy palaist Python 2.7.16 operētājsistēmā Linux-4.19.97-v7+-armv7l-with-debian-10.3

Es tagad meklēju jūsu sistēmā bezkontakta ierīces ** atradu ACS ACR122U PN532v1.6 pie usb: 001: 011 Es nemēģinu sērijveida ierīces, jo jūs man to neesat teicis-pievienojiet opciju “--search-tty” lai es meklētu - bet uzmanieties, ka tas var izjaukt citus sērijas izstrādātājus

Tomēr pastāv liela iespēja, ka saņemsit kļūdas ziņojumu, kurā teikts, ka lasītājs ir atrasts, bet jūsu lietotājam (pi) nav atļaujas tam piekļūt. Ja saņemat šo kļūdas ziņojumu, tas arī izskaidros, kā novērst problēmu, tas ir, ierakstot divas komandas, kas izskatās mazliet šādi:

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

sudo udevadm kontrole -R

Kopējiet un izpildiet abas tajā sniegtās komandas (ne tieši to, kas ir norādīts iepriekš, jo jūsu var atšķirties), pēc tam atvienojiet un atkal pievienojiet NFC lasītāju no USB porta.

Mēģiniet vēlreiz pārbaudīt komandu:

python -m nfc

Šoreiz vajadzētu teikt, ka tas ir atrasts bez kļūdu ziņojumiem.

21. solis: instalējiet Vinylemulator Python skriptus

Tagad mums ir visi celtniecības bloki:

  • Mūsu Raspberry Pi spēj klausīties NFC ievadi
  • Mūsu Raspberry Pi spēj likt Sonos atskaņot Spotify atskaņošanas sarakstus, kad tiek piešķirts Spotify URI
  • Mums ir NFC tags, kurā ir saglabāts Spotify URI

Tagad mums ir jāvelk visi šie celtniecības bloki kaut ko noderīgu. Tas tiek darīts, izmantojot īsu python skriptu, kuru es uzrakstīju (ar lielu palīdzību no iepriekšējiem NFC/Spotify/Sonos projektiem), ko sauc par vinilimulatoru.

Failu avota kodu varat apskatīt vietnē github:

Lai to instalētu mūsu Raspberry Pi, mums tas ir jāklonē no github ar šādu komandu:

git klons

22. solis: pielāgojiet Vinylemulator

Pielāgojiet Vinylemulator
Pielāgojiet Vinylemulator
Pielāgojiet Vinylemulator
Pielāgojiet Vinylemulator

Atveriet Raspberry Pi failu pārvaldnieku un dodieties uz sākumlapu> pi> vinylemulator

Atveriet failu usersettings.py

Viena no šī faila rindiņām būs šāda:

sonosroom = "Ēdamistaba"

Mainiet “Ēdamistaba” uz jebkuru Sonos telpas nosaukumu, kuru vēlaties kontrolēt.

Šajā failā ir arī iestatījums, kas ļauj pielāgot sonos-http-api IP adresi. Jums vajadzētu būt iespējai atstāt to nemainīgu kā "localhost", kas nozīmē tikai to, ka tas izmantos Raspberry Pi, kurā tas darbojas.

Saglabājiet failu un aizveriet to.

23. solis: pārbaudiet vinilimulatoru

Pārbaudiet Vinylemulator
Pārbaudiet Vinylemulator
Pārbaudiet vinilimulatoru
Pārbaudiet vinilimulatoru

Dodieties uz Raspberry Pi komandu uzvedni.

Ievadiet šādu komandu:

python vinylemulator/readnfc.py

Ja viss ir kārtībā, tiks ielādēts skripts un teikts, ka lasītājs ir gatavs. Lasītāja gaismai vajadzētu iedegties zaļā krāsā.

Uzlieciet lasītājam NFC tagu, kas pīkstēs.

Terminālis parādīs, ko tas ir lasījis no NFC taga, un parādīs tā nosūtīto HTTP pieprasījuma adresi. Jūsu izvēlētajam albumam vajadzētu atskaņot no jūsu Sonos skaļruņiem.

Šis skripts turpinās darboties, līdz aizverat termināļa logu. Varat pieskarties dažādiem albuma NFC tagiem, un tas pārslēgsies uz šo albumu.

24. darbība. Iegūstiet Vinylemulator, lai tas darbotos pastāvīgi un startēšanas laikā

Tāpat kā sonos-http-api, mēs vēlamies, lai vinjulators darbotos visu laiku, nevis tikai tad, kad to saucam. Mēs varam izmantot pm2, lai to izdarītu vēlreiz.

Vispirms aizveriet visus vinylemulator gadījumus, kurus izmantojat, aizverot to termināļa logus.

Pēc tam atveriet jaunu termināļa logu un ierakstiet šādas divas komandas:

pm2 sākt vinylemulator/readnfc.py

ietaupīt pm2

Pārbaudīsim, vai tas ir izdevies, pārstartējot Raspberry Pi. (Varat vai nu ierakstīt sudo reboot, vai arī to izdarīt izvēlnē Raspberry ar peli.

Pagaidiet, līdz Pi atkal sāks darboties, un redziet, kā tas darbojas, pieskaroties lasītājam NFC tagam. Jums vajadzētu saņemt mūziku.

25. solis: Apsveiciet sevi

Tagad viss ir funkcionāls. Jūs varat pārvietot Raspberry Pi uz jebkuru vietu, kur plānojat to izvietot. Katru reizi, kad to pievienosit, tas tiks restartēts un darbosies tā, kā esat to iestatījis.

Jūsu nākamie uzdevumi ir jautri: padarīt to visu skaistu.

26. darbība. Padariet to skaistu - paslēpiet savu lasītāju

Padariet to skaistu - paslēpiet savu lasītāju
Padariet to skaistu - paslēpiet savu lasītāju
Padariet to skaistu - paslēpiet savu lasītāju
Padariet to skaistu - paslēpiet savu lasītāju
Padariet to skaistu - paslēpiet savu lasītāju
Padariet to skaistu - paslēpiet savu lasītāju
Padariet to skaistu - paslēpiet savu lasītāju
Padariet to skaistu - paslēpiet savu lasītāju

Pirmā daļa, lai padarītu to skaistu, ir kaut kur paslēpt šķebinošo balto plastmasas NFC lasītāju.

Esmu izvēlējies neapšaubāmi zemu tehnoloģiju iespēju, piestiprinot to pie skaitītāja apakšējās malas pie sava Sonos Play: 5. Skaitītāja koks ir pietiekami plāns, lai NFC varētu iziet cauri, tāpēc es atskaņoju mūziku, pieskaroties NFC birkai maģiskā un neredzamā vietā.

Ieteicams: