Satura rādītājs:
- 1. darbība. Nepieciešamie materiāli 1: Raspberry Pi
- 2. darbība. Nepieciešamie piederumi 2: NFC lasītājs
- 3. darbība. Nepieciešamie materiāli 3: NFC tagi
- 4. darbība: lejupielādējiet Raspberry Pi OS SD kartē
- 5. darbība: iespējojiet SSH savā Raspberry Pi OS attēlā
- 6. darbība: pēc izvēles: iestatiet Wifi savā Raspberry Pi
- 7. solis: ieslēdziet savu Raspberry Pi
- 8. solis: atrodiet sava Raspberry Pi IP adresi
- 9. solis: izveidojiet savienojumu ar savu Raspberry Pi komandrindu
- 10. darbība: iestatiet Raspberry Pi OS GUI
- 11. darbība: izveidojiet savienojumu ar Raspberry Pi GUI un iestatiet to
- 12. darbība: instalējiet Node.js un NPM
- 13. darbība: instalējiet SONOS HTTP API
- 14. darbība. Lieciet Sonos HTTP API pastāvīgi darboties
- 15. solis: atskaņojiet kādu Spotify
- 16. darbība. Atrodiet Spotify URI
- 17. darbība. Piezīme par Spotify URI
- 18. darbība: iestatiet Raspberry Pi HTTP pieprasījumu sūtīšanai
- 19. darbība. Izveidojiet NFCC tagu (-us), izmantojot Spotify datus
- 20. darbība: iestatiet NFC lasītāju Raspberry Pi
- 21. solis: instalējiet Vinylemulator Python skriptus
- 22. solis: pielāgojiet Vinylemulator
- 23. solis: pārbaudiet vinilimulatoru
- 24. darbība. Iegūstiet Vinylemulator, lai tas darbotos pastāvīgi un startēšanas laikā
- 25. solis: Apsveiciet sevi
- 26. darbība. Padariet to skaistu - paslēpiet savu lasītāju
Video: Sonos Spotify vinila emulators: 26 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
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
Šī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
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ē
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ā
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
Š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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
Retro CP/M atsevišķs emulators: 8 soļi
Retro CP/M atsevišķs emulators: šis projekts izmanto VGA32 ESP v1.4 moduli, lai palaistu kombināciju, vai RunCPM un FabGL, lai nodrošinātu atsevišķu datoru, kurā darbojas līdzvērtīga sistēma CP/M 2.2. Astoņdesmitajos gados populāra kā mazu datoru operētājsistēma. Jūs varat atgriezties
HP-35 zinātniskais kalkulatora emulators ar Arduino Uno: 4 soļi
HP-35 zinātniskais kalkulatora emulators ar Arduino Uno: Šī projekta mērķis ir palaist šādu simulatoru https://www.hpmuseum.org/simulate/hp35sim/hp35sim….on Arduino Uno ar TFTLCD un skārienekrānu oriģinālais HP-35 zinātniskais kalkulators. Tas emulē sākotnēji saglabāto kodu
KIM Uno - 5 € mikroprocesoru izstrādātāju komplekta emulators: 13 soļi (ar attēliem)
KIM Uno - 5 € mikroprocesoru izstrādātāju komplekta emulators: KIM Uno ir pārnēsājams programmatūras izstrādāts izstrādātāju komplekts (retro) mikroprocesoriem. Bet ļaujiet man iepazīstināt ar ideju, atgriežoties pagātnē: 2018. gada beigās man ienāca prātā, ka vēlos izveidot nelielu pārnēsājamu mikroprocesoru izstrādātāju komplektu
Raspberry Pi 3: Retro arkādes emulators: 7 soļi
Raspberry Pi 3: Retro arkādes emulators: Mana motivācija to darīt ir tehnoloģiskās prasmes trūkums mūsdienu pasaulē. Pat ja ir daudz datoru un mazu ierīču, cilvēki joprojām ir ļoti nezinoši par ikdienas lietoto lietu pamatfunkcijām. Es domāju, ka tas būs
PC peles emulators, izmantojot Arduino Uno un sensorus: 8 soļi
PC peles emulators, izmantojot Arduino Uno un sensorus. Šajā instrukcijā mēs veidosim peles emulatora prototipu. Peles emulators ir ierīce, ko var izmantot, ja pele nedarbojas pareizi. Peles kontrolei tiek izmantoti sensori kustības. Projekts sastāv no viena