Talaan ng mga Nilalaman:

Sonos Spotify Vinyl Emulator: 26 Hakbang
Sonos Spotify Vinyl Emulator: 26 Hakbang

Video: Sonos Spotify Vinyl Emulator: 26 Hakbang

Video: Sonos Spotify Vinyl Emulator: 26 Hakbang
Video: 30 лучших советов и рекомендаций по Windows 10 на 2020 год 2024, Hulyo
Anonim
Image
Image
Sonos Spotify Vinyl Emulator
Sonos Spotify Vinyl Emulator

Mangyaring tandaan na hindi ito ang pinakabagong hanay ng mga tagubilin para sa proyektong ito:

Mangyaring bisitahin ang https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d para sa pinakabagong hanay ng mga tagubilin at suporta

Ang pakikinig sa musika sa vinyl ay mahusay. Ito ay pisikal at pandamdam. Makinig ka sa isang buong album sa halip na mga random na track. Napansin mo kapag natapos na at may malay na pumili ng iba pa. Maaari kang bumuo ng isang koleksyon at mag-browse sa pamamagitan nito sa halip na maghanap para sa eksaktong gusto mo.

Mahal din ito at napakalaki, lalo na kapag isinasaalang-alang mo ang anumang pera na ginastos mo sa vinyl ay malamang na isang duplicate ng musika na mayroon ka ng access sa pamamagitan ng isang streaming service na nag-subscribe ka.

Sinusubukan ng proyektong ito na gayahin ang taktika at mga aspeto ng pagbuo ng koleksyon ng vinyl habang umaasa sa Spotify upang maihatid ang musika. Ang paglalagay ng isang pisikal na bagay sa isang mambabasa ng NFC na naka-hook sa isang Raspberry Pi (parehong maaaring maitago) ay magsisimulang maglaro ng album na nauugnay sa tag na iyon.

Dadalhin kita sa lahat ng mga hakbang - mula sa pag-set up ng Raspberry Pi hanggang sa pag-encode ng mga NFC tag. Ito ang aking kauna-unahang proyekto ng Raspberry Pi at ang aking unang Python code, kaya tinuro ko ang aking sarili kapwa habang binubuo ito. Tulad ng naturan, ang mga tagubiling ito ay ipinapalagay literal zero nakaraang kaalaman at makipag-usap sa iyo sa bawat hakbang.

Ang kabuuang gastos para sa mahahalagang bahagi upang mabuo ito ay humigit-kumulang na £ 50-60.

Gusto kong makita kung ano ang iyong itatayo!

Hakbang 1: Kinakailangan na Mga Panustos 1: Raspberry Pi

Ang likod na dulo na nakakonekta sa iyong network, Sonos at Spotify ay tatakbo ng isang Raspberry Pi. Talagang napakaliit na kailangan mo upang makarating ito.

Mahalaga:

Raspberry Pi: Gumamit ako ng isang Raspberry Pi 3 Model B + ngunit gagana rin ito sa isang Raspberry Pi 3 Model A + (£ 23)

USB power supply: Mayroon akong isang nakahiga - mayroong isang opisyal na magagamit kung hindi mo (£ 9)

Micro SD card: Nakuha ko ang isang 32gb na isa, na kung saan ay marami para sa application na ito, sa Amazon (£ 6)

Ang ilang kagamitan ng Sonos na tumatakbo sa iyong network (Hulaan ko mayroon ka na nito kung narito ka …)

Isang Spotify Premium account

Inirekomenda:

Isang kaso para sa Pi: maraming mga pagpipilian, simula sa £ 5

Isang bote ng disenteng California Zinfandel: Inirerekumenda ko ang Ridge, ngunit ang iba ay magagamit

Hakbang 2: Kinakailangan na Mga Supply 2: NFC Reader

Mga Kinakailangan na Supply 2: NFC Reader
Mga Kinakailangan na Supply 2: NFC Reader
Mga Kinakailangan na Supply 2: NFC Reader
Mga Kinakailangan na Supply 2: NFC Reader

Ang mga tagubiling ito ay binuo para sa isang ACR122U NFC reader na kumokonekta sa pamamagitan ng USB.

ACR122U

Binili ko ang isang ito mula sa Amazon sa halagang £ 38 (karamihan dahil mayroon itong pangunahing paghahatid) ngunit may mga mas murang mga pagpipilian upang bilhin ang parehong mambabasa.

Nakakalito ang ACR122U tila ipinagbibili sa ilalim ng maraming pangkat ng iba't ibang mga pangalan ng tatak (ang minahan ay nasa ilalim ng malayo-nakasisiguro na pangalan ng tatak na "Yosoo") ngunit mula sa masasabi kong lahat sila ay pareho at itinayo ng American Card Systems.

Ang pinakamurang nahanap kong na-advertise na ACR122U ay £ 21 kasama ang pagpapadala, ngunit iyon ay direktang nagmula sa China kaya maaaring kailanganin mong maghintay nang kaunti para doon.

Iba pang mga pagpipilian

Ang proyektong ito ay nakasalalay sa isang python library na tinatawag na nfcpy na nagpapanatili ng isang listahan ng mga suportadong aparato dito:

Sa teorya ang proyektong ito ay dapat na gumana sa alinman sa mga nasa listahang iyon na may kaunting pagsasama.

Ang isang pagpipilian na kaakit-akit ay ang Adafruit PN532 na isang board na dapat direktang mag-hook sa iyong Raspberry Pi gamit ang mga jumper cables. Sinubukan ko ito at nakita kong talagang faf ito. Nangangailangan ito ng paghihinang, halimbawa.

Ang isang bentahe nito ay, mababaw, na mas maliit ito ngunit sa totoo lang ang board ay halos pareho ang laki ng lakas ng loob ng ACR122U. Kung talagang tinulak ka para sa puwang para sa iyong aplikasyon pagkatapos ay maaari mong alisin ang plastik sa ACR122U at gamitin lamang ang board.

Hakbang 3: Kinakailangan na Mga Panustos 3: Mga Tag ng NFC

Mga Kinakailangan na Pantustos 3: Mga Tag ng NFC
Mga Kinakailangan na Pantustos 3: Mga Tag ng NFC

Para sa bawat album na nais mong likhain, kakailanganin mo ng isang NFC tag na nakakatugon sa pamantayan ng NTAG213.

Maraming mga lugar upang bumili ng mga ito.

Binili ko ang aking unang batch mula sa Amazon, kung saan nakakuha ako ng isang pack ng 10 sa halagang £ 9 (kasama ang Punong paghahatid)

Ang pinakamahusay na naibigay na nahanap ko dito sa UK ay Seritag - mayroon silang talagang malawak na pagpipilian ng iba't ibang mga estilo, mahusay na payo sa kanilang website, alam mo mismo kung ano ang iyong nakukuha (hindi laging totoo sa Amazon). Wala silang minimum na laki ng order at isang toneladang mga pagpipilian. Ang mga tag ay nagsisimula sa 27p bawat tag

Hakbang 4: I-download ang Raspberry Pi OS sa isang SD Card

I-download ang Raspberry Pi OS sa isang SD Card
I-download ang Raspberry Pi OS sa isang SD Card
I-download ang Raspberry Pi OS sa isang SD Card
I-download ang Raspberry Pi OS sa isang SD Card

Sa iyong PC o Mac, i-download at patakbuhin ang application ng imagery na Raspberry PI.

Ipasok ang SD card na nais mong mai-install ang operating system ng Raspberry Pi.

Mag-click sa PUMILI ng OS at piliin ang default na Rasbian.

Mag-click sa PUMILI ng SD CARD at piliin ang SD card na iyong na-plug in.

Mag-click sa WRITE. Magtatagal pa ito ng ilang sandali.

Kapag tapos na ito sasabihin sa iyo na alisin ang SD card, na dapat mong gawin. Ngunit pagkatapos ay i-plug ito muli dahil mayroong ilang mga punto ng pag-aalaga ng bahay na kailangan mo munang gawin.

Hakbang 5: Paganahin ang SSH sa Iyong Larawan sa Raspberry Pi OS

Paganahin ang SSH sa Iyong Larawan ng Raspberry Pi OS
Paganahin ang SSH sa Iyong Larawan ng Raspberry Pi OS

Kapag nakasulat ang OS sa SD card, maraming mga karagdagang gawain ang kailangan mong gawin.

Nais naming i-access ang Raspberry Pi nang hindi nag-plug sa isang keyboard o monitor (aka "walang ulo"), na maaari naming gawin sa aming lokal na network gamit ang aming PC o Mac sa isang protokol na tinatawag na SSH. Gayunpaman, para sa mga kadahilanang panseguridad Ang SSH ay hindi pinagana bilang default. Kailangan naming paganahin ito.

Magagawa natin ito sa pamamagitan ng paglikha ng isang walang laman na file na tinatawag na:

ssh

sa SD card na nilikha namin. Mahalaga na wala itong anumang uri ng extension (hal.. Txt). Ang file mismo ay hindi kailangang maglaman ng anumang nilalaman - ang pagkakaroon lamang nito ay paganahin ang SSH kapag naka-boot ang Pi.

Hakbang 6: Opsyonal: I-set up ang Wifi sa Iyong Raspberry Pi

Opsyonal: Mag-set Up ng Wifi sa Iyong Raspberry Pi
Opsyonal: Mag-set Up ng Wifi sa Iyong Raspberry Pi
Opsyonal: Mag-set Up ng Wifi sa Iyong Raspberry Pi
Opsyonal: Mag-set Up ng Wifi sa Iyong Raspberry Pi

Maaari mong laktawan ang hakbang na ito kung balak mong i-wire ang iyong Raspberry Pi sa iyong router ng ethernet. (Bagaman maaaring gusto mong pag-isipang mabuti ang tungkol sa pasyang iyon - ang pagkakaroon nito ng wifi ay ginagawang mas madali ang buhay sa mga tuntunin ng pagpoposisyon nito)

Lumikha ng isang simpleng file ng teksto na tinatawag na wpa_supplicant.conf sa root Directory ng SD card.

Ipasok ang teksto sa ibaba sa file:

bansa = gb

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

Baguhin ang bansa kung naaangkop (GB ang UK, US ang US, DE ang Alemanya, atbp)

Baguhin ang mga kredensyal ng wifi doon upang maging iyong aktwal na mga detalye ng wifi router.

I-save ang file.

Ligtas na maalis ang SD card.

Hakbang 7: Palakasin ang Iyong Raspberry Pi

Palakasin ang Iyong Raspberry Pi
Palakasin ang Iyong Raspberry Pi

Ilagay ang SD card na nilikha mo lamang sa iyong Raspberry Pi.

I-plug ang iyong Raspberry Pi sa kapangyarihan sa pamamagitan ng USB cable. Maghintay ng isang minuto para mag-boot up ito.

Hakbang 8: Hanapin ang IP Address ng Iyong Raspberry Pi

Kailangan mo ngayong hanapin ang IP address ng Raspberry Pi upang makakonekta ka rito. Magagawa mo ito sa dalawang paraan:

  • sa pamamagitan ng iyong pahina ng pag-setup ng router - kung mayroon kang isang modernong router tulad ng eero kung gayon ito ay napakadali;
  • o sa pamamagitan ng isang smartphone app na magagamit para sa iOS at Android na tinatawag na "fing" - i-download ito, kumonekta sa iyong router at i-scan para sa mga aparato - ang isa sa kanila ay dapat tawaging "Raspberry" - ito ang magiging IP address na kailangan mo.

Hakbang 9: Kumonekta sa Iyong Linya ng Command na Raspberry Pi

Kumonekta sa Iyong Raspberry Pi Command Line
Kumonekta sa Iyong Raspberry Pi Command Line

Buksan ang Terminal sa iyong mac (o kung gumagamit ka ng Windows pagkatapos ay i-download at gamitin ang Putty).

Ipasok ang sumusunod na utos:

ssh pi @ [IP address ng iyong Pi]

Tanggapin ang anumang mga babala sa seguridad na nakukuha mo. Sasabihan ka para sa password para sa default na gumagamit ng pi na

prambuwesas

Hakbang 10: I-set up ang Raspberry Pi OS GUI

I-set up ang Raspberry Pi OS GUI
I-set up ang Raspberry Pi OS GUI
I-set up ang Raspberry Pi OS GUI
I-set up ang Raspberry Pi OS GUI

Nakakonekta ka na ngayon sa iyong Pi sa pamamagitan ng linya ng utos, na mahusay ngunit nais mo ring i-set up ito upang ma-access mo ang Graphical User Interface na maa-access namin sa pamamagitan ng VNC (Virtual Network Computing). Mahuhulaan, kailangan din nating paganahin ito.

Una sa lahat suriin ang iyong Pi software na napapanahon sa pamamagitan ng pagpasok ng mga sumusunod na dalawang utos (bawat isa ay sinusundan ng enter) sa linya ng utos:

sudo apt update

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

Susunod, buksan ang menu ng mga setting ng Raspberry Pi sa pamamagitan ng pagpasok:

sudo raspi-config

Mag-navigate sa Mga Pagpipilian sa Interfacing> VNC> Oo.

Lumabas sa config application sa pamamagitan ng pagpindot sa makatakas key at i-reboot ang Pi mula sa linya ng utos sa pamamagitan ng pagta-type:

sudo reboot

Hakbang 11: Kumonekta at I-setup ang Iyong Raspberry Pi GUI

Kumonekta at I-setup ang Iyong Raspberry Pi GUI
Kumonekta at I-setup ang Iyong Raspberry Pi GUI
Kumonekta at I-setup ang Iyong Raspberry Pi GUI
Kumonekta at I-setup ang Iyong Raspberry Pi GUI

I-download at buksan ang VNC Viewer.

I-type ang IP address para sa iyong Raspberry Pi at pindutin ang kumonekta. Susubukan ka nito para sa username at password na:

Username = pi

Password = raspberry

Dapat itong i-boot ka hanggang sa GUI.

Hihikayat ka nito na kumpirmahin ang iyong heograpiya at layout ng keyboard.

Susubukan ka nito pagkatapos na baguhin ang iyong password (magandang ideya).

Hihilingin sa iyo na itakda ang iyong mga detalye sa wifi, ngunit maaari mo itong laktawan dahil gumagana na ang mga ito. (Bagaman kung tumatakbo ka sa ethernet at nagkakaroon ng pangalawang saloobin kung gayon ngayon ang iyong pagkakataon … ngunit tandaan na maaaring magbago ang iyong IP address)

Susuriin nito pagkatapos, i-download at mai-install ang mga update (maaaring magtagal).

Sa sandaling dumaan ka sa setup wizard ay inirerekumenda kong palitan ang resolusyon ng screen dahil ang default ay medyo maliit. Maaari mo itong gawin sa pamamagitan ng pag-click sa Raspberry sa kaliwang tuktok> Mga Kagustuhan> Kumpigurasyon ng Raspberry Pi> Display> Itakda ang Resolusyon

Kakailanganin mong i-reboot ang Pi muli muli upang magkabisa ito.

Hakbang 12: I-install ang Node.js at NPM

I-install ang Node.js at NPM
I-install ang Node.js at NPM

Susunod na nais mong mai-load ang linya ng utos ng Raspberry Pi upang mai-install ang mga dependency na kailangan namin.

Maaari mo itong gawin sa pamamagitan ng pagkonekta sa pamamagitan ng VNC at pag-click sa pindutan na malapit sa itaas na mukhang isang linya ng utos; o maaari kang direktang kumonekta mula sa iyong Mac / PC gamit ang Terminal at Putty tulad ng ginawa namin dati. Kung hindi ka gaanong nakasanayan na magtrabaho kasama ang Raspberry Pi kung gayon mas madaling gawin ang nauna.

(Tip: Maaari mong kopyahin ang teksto mula sa iyong Mac / PC at i-paste ito sa Raspberry Pi sa pamamagitan ng VNC sa pamamagitan ng pagpindot sa CONTROL-V, ngunit kung sinusubukan mong i-paste sa Terminal kung gayon kailangan mong pindutin ang CONTROL-SHIFT-V)

Ang unang trabaho ay suriin muli ang iyong software ay napapanahon sa pamamagitan ng pagta-type ng sumusunod na dalawang mga utos. Maaari silang magtagal upang mag-download at mag-install.

sudo apt-get update

sudo apt-get upgrade

Susunod na nais mong i-download at mai-install ang node.js at NPM (huwag mag-alala tungkol sa kung ano ang mga ito, ang mga ito ay kapaki-pakinabang at kinakailangan para sa aming mga susunod na gawain) sa pamamagitan ng pag-type ng sumusunod:

sudo apt-get install nodejs npm

Tatanungin ka nito ng ilang beses kung masaya ka na kumuha ng disk space sa mga ito - napipilit mo ang Y

Hakbang 13: I-install ang SONOS HTTP API

I-install ang SONOS HTTP API
I-install ang SONOS HTTP API
I-install ang SONOS HTTP API
I-install ang SONOS HTTP API

Ang batayan ng back end para sa aming proyekto ay ang node-sonos-http-api package na nilikha ni jishi. Maaari mong basahin ang lahat tungkol dito:

I-download namin ito mula sa github kasama ang sumusunod na utos na ipinasok sa linya ng utos:

git clone

at mai-install namin ito sa mga sumusunod na utos

cd node-sonos-http-api

install ng npm --production

Maaari namin itong patakbuhin gamit ang sumusunod na utos:

magsimula na ako

Kapag tapos na iyon dapat nating subukan na gumagana ito.

Una sa lahat, buksan ang browser ng internet sa aming Raspberry Pi at mag-navigate sa https:// localhost: 5005 /. Ang isang magandang interface ay dapat buksan gamit ang logo ng Sonos at ilang dokumentasyon sa kung paano gumagana ang API.

Susunod, suriin natin na gumagana ito mula sa mas malawak na network sa pamamagitan ng paggamit ng isang browser sa isa pang PC o Mac sa parehong network at pag-navigate sa https:// [theIPaddressofyourPi]: 5005 / at nakikita kung nakakuha tayo ng parehong resulta. Dapat natin.

Ngayon ay gagawin talaga namin ang system na may gawin. Gumamit ng isang browser at mag-navigate sa:

192.168.4.102dagdag005/Dining Room / playpause

Dapat mong palitan ang nasa itaas na IP address ng address ng iyong Raspberry Pi at "Dining Room" na may isa sa mga pangalan ng iyong mga sonos zone. Dapat itong i-play o i-pause (depende kung tumutugtog na ang musika o hindi) ang musika sa silid na iyon. Malinaw na may isang bagay na dapat na sa pila ng Sonos upang gumana iyon.

Magpatuloy, gagamitin ko ang IP address sa itaas at ang Silid-kainan bilang mga halimbawa sa buong tutorial na ito. Malinaw na dapat mong palitan ang mga ito ng iyong IP address at ang iyong pangalan ng zone sa bawat okasyon.

Hakbang 14: Gawing Patuloy na Patakbuhin ang Sonos HTTP API

Gawing Patuloy na Patakbuhin ang Sonos HTTP API
Gawing Patuloy na Patakbuhin ang Sonos HTTP API

Mahusay na nakuha namin ang Sonos HTTP API na tumatakbo, ngunit paano kung mag-crash ito? O nawalan ka ng lakas o kailangan mong i-reboot ang iyong Raspberry Pi?

Maaari mong makita ang epekto sa pamamagitan ng pagsara sa window ng terminal at muling pagsubok ang sinubukan lang namin. Hindi ito gagana dahil tumigil ang HTTP API kasama ang window ng terminal.

Talagang nais namin ito upang magpatakbo ng patuloy at gawin ito mula sa pagsisimula sa bawat oras. Ginagawa namin ito sa isang cool na bagay na tinatawag na PM2.

Sa isang sariwang window ng terminal, i-install at patakbuhin ito tulad ng sumusunod:

sudo npm i-install -g pm2

katayuan ng pm2

Kunin natin ito upang patakbuhin ang aming Sonos HTTP API:

cd node-sonos-http-api

pm2 start npm - simulan ang pm2 startup systemd

Ang huling utos na ito ay bumubuo ng isang bagay na medyo katulad nito:

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

Kopyahin kung ano ang nabubuo ng iyong Pi (hindi ang eksaktong teksto sa itaas - maaaring naiiba ang iyo) at ipasok ito sa linya ng utos. Inuutusan nito ang system na patakbuhin ang PM2 sa boot sa bawat oras.

Panghuli, ipasok:

pm2 makatipid

na nakakatipid lahat.

Ngayon subukan kung nagtrabaho ito sa pamamagitan ng pag-reboot ng iyong Raspberry Pi gamit ang utos

sudo reboot

Inaasahan kong sa sandaling mag-reboot ang Pi ay magsisimula din ito sa PM2 at sa turn ng Sonos HTTP API. Maaari mong suriin ito sa pamamagitan ng pag-navigate gamit ang isang browser sa parehong network sa address na ginamit namin dati at makita ang logo at mga tagubilin ng Sonos:

192.168.4.102 Agosto005/

ay kung ano ang para sa akin, ngunit ang iyo ay nakasalalay sa IP address.

Hakbang 15: Maglaro ng Ilang Spotify

Suriin natin na maaaring ma-access ng serbisyo ang Spotify.

Magbukas ng isang browser at mag-navigate sa sumusunod na address (malinaw naman na papalit sa iyong IP address at pangalan ng silid):

192.168.4.102dagdag005/Dining Room / spotify / now / spotify / spotify: album: 2dfTV7CktUEBkZCHiB7VQB

Dapat mong pakinggan ang ilang John Grant. Tangkilikin

Hakbang 16: Maghanap ng Spotify URI

Maghanap ng Spotify URI
Maghanap ng Spotify URI

Kakaiba, alam ko, ngunit hindi lahat ay may gusto kay John Grant. Marahil ay nais mong makinig sa iba pa?

Maaari mong makuha ang mga link ng Spotify mula sa desktop, web o mobile apps ngunit ang Desktop ay ang pinakamadali habang naghahatid ito ng URI sa eksaktong format na nais mo kaya magsimula ka doon.

Sa Spotify desktop app mag-navigate sa album na nais mong pakinggan (maaaring ang Lemonade ni Beyonce?)

Mag-click sa tatlong maliliit na tuldok sa tabi ng pindutan ng puso.

Bumaba sa menu upang Ibahagi at piliin ang Kopyahin ang Spotify URI

Kopyahin nito ang isang bagay tulad ng

spotify: album: 7dK54iZuOxXFarGhXwEXfF

sa iyong clipboard, na kung saan ay ang Spotify URI para sa album ni Lemonade ng Beyonce.

Sunog muli ang iyong browser at mag-navigate sa sumusunod na address (malinaw na pinapalitan ang IP address at silid at pag-paste sa URI na kinopya mo lamang):

192.168.4.102dagdag005/Dining Room / spotify / now / [Spotify URI na nais mong i-play]

Dapat mong marinig ang iyong pagpipilian na maglaro.

Kung mas gusto mong gamitin ang web app pagkatapos ay bibigyan ka nito ng isang web link (isang bagay tulad ng sa ibaba):

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

kailangan mo itong i-convert sa spotify: album: format ng code sa itaas upang gumana ito.

Hakbang 17: Isang Tandaan sa Spotify URIs

Ang mga Spotify URI at ang paraan ng kanilang pag-interface sa node-sonos-http-api ay madaling maunawaan, para sa pinaka-bahagi.

Maaari kang mag-link nang direkta sa mga album, track at playlist.

Ang isang album na URI ay katulad ng:

spotify: album: 6agCM9GJcebduMddgFmgsO

Ang isang track na URI ay katulad ng:

spotify: track: 4fNDKbaeEjk2P4GrRE1UbW

Gumagawa ang mga playlist ng kaunting kakaiba. Kapag kinopya mo ang URI mula sa Spotify magkakaroon ito ng hitsura:

spotify: playlist: 5huIma0YU4iusLcT2reVEU

Gayunpaman, upang aktwal na gumana ito sa API na kailangan mo upang magdagdag ng spotify: gumagamit: sa simula ng nasa itaas. Nalalapat ito kahit sa mga pampublikong playlist at, oo, nangangahulugan ito na sinasabi mong dalawang beses na mag-spotify.

Upang maging napakalinaw, ang gumagamit ay hindi kailangang maging isang partikular na pangalan ng gumagamit, ang gumagamit lamang ng teksto. Kaya't ang tamang URI para sa playlist sa itaas upang maisagawa ito ay:

spotify: user: spotify: playlist: 5huIma0YU4iusLcT2reVEU

Hakbang 18: I-set up ang Raspberry Pi upang Magpadala ng Mga Kahilingan sa

I-set up ang Raspberry Pi upang Magpadala ng Mga Kahilingan sa HTTP
I-set up ang Raspberry Pi upang Magpadala ng Mga Kahilingan sa HTTP

Sa halip na manu-manong pag-type ng mga kahilingan sa HTTP sa isang web browser, nais naming i-automate ito upang gawin iyon ng Raspberry Pi mismo kapag ipinakita sa ilang mga pampasigla (ang NFC reader na na-trigger).

Gumagamit kami ng isang silid-aklatan na tinatawag na mga kahilingan upang payagan ang aming Raspberry Pi na gawin ito. Suriin natin na naka-install ito.

Buksan ang terminal sa iyong Pi at i-type ang sumusunod:

sudo pip mga kahilingan sa pag-install

Malamang na bumalik ito at sabihin na naka-install na, kung saan malaki ito. Kung hindi, mai-install ito.

Hakbang 19: Bumuo ng (mga) NFCC Tag Sa Spotify Data

Bumuo ng (mga) NFCC Tag Sa Spotify Data
Bumuo ng (mga) NFCC Tag Sa Spotify Data
Bumuo ng (mga) NFCC Tag Sa Spotify Data
Bumuo ng (mga) NFCC Tag Sa Spotify Data
Bumuo ng (mga) NFCC Tag Sa Spotify Data
Bumuo ng (mga) NFCC Tag Sa Spotify Data
Bumuo ng (mga) NFCC Tag Sa Spotify Data
Bumuo ng (mga) NFCC Tag Sa Spotify Data

Ngayon nais naming magsulat ng isang Spotify album na URI sa isang NFC tag. Ang bawat isa sa mga tag na ito ay kung ano ang gagamitin mo upang sabihin sa Raspberry Pi na magpatugtog ng isang partikular na album.

Maaari kang sumulat sa isang tag ng NFC gamit ang isang Android phone, ngunit mas madali kong gawin ito sa pamamagitan ng mac o PC dahil maaari kang makakuha ng pinakamadaling makuha ang Spotify URI mula sa Spotify desktop app.

I-plug ang iyong USB NFC reader sa iyong PC o Mac. Gumagamit ako ng ACR122U ng American Card Systems.

Mag-download ng NFC Tools sa iyong PC o Mac. I-install at buksan ito.

Maaari itong maging isang mabagal upang kumonekta sa mambabasa minsan at maaaring sabihin na hindi nito mahanap ang mambabasa. Pumunta sa Iba pang tab sa mga tool ng NFC at i-click ang bawat madalas sa pindutang Nakakonekta na NFC Reader. Maaaring kailanganin mong i-unplug at i-replug ang mambabasa ng ilang beses bago ito makita.

Sa paglaon bibigyan ka nito ng pagpipilian upang piliin ang iyong mambabasa mula sa isang listahan at sabihin na konektado ito. Pumunta sa tab na Impormasyon na walang ipapakita maliban sa "Naghihintay para sa isang tag ng NFC".

Kumuha ng isang blangko na tag ng NFC. Ilagay ito sa mambabasa at iwanan ito doon. Ipapakita ng NFC Tools ang impormasyon tungkol sa tag.

Pumunta sa tab na Sumulat at i-click ang Magdagdag ng isang talaan> Text. (Mag-ingat na huwag pumili ng URL o URI - Alam kong nakakaakit dahil nakakopya ka ng isang URI, ngunit gusto mo ng teksto)

Grab isang URI mula sa Spotify gamit ang pamamaraang ginamit namin dati. Kung nais mo ng isang madaling halimbawa kung gayon ang sumusunod ay ang aming album na John Grant mula nang mas maaga.

spotify: album: 2dfTV7CktUEBkZCHiB7VQB

I-click ang OK at pagkatapos ay i-click ang Isulat (huwag kalimutan ang huling hakbang na ito - hindi talaga ito nakasulat hanggang sa i-click ito). Sasabihin nito sa iyo na matagumpay itong nakasulat sa tag.

Alisin ang tag sa mambabasa

Hakbang 20: I-set up ang NFC Reader sa Raspberry Pi

I-set up ang NFC Reader sa Raspberry Pi
I-set up ang NFC Reader sa Raspberry Pi

I-plug ang iyong NFC reader sa isa sa mga USB port sa iyong Raspberry Pi.

Gagamitin namin ang nfcpy Python library upang makipag-usap sa mambabasa ng NFC. I-install ito sa pamamagitan ng pag-type ng sumusunod sa iyong linya ng utos ng Pi:

pip install -U nfcpy

Maaari naming suriin kung nakikita ng library na ito ang aming NFC reader sa pamamagitan ng pagta-type ng sumusunod:

sawa -m nfc

Kung nagtrabaho ito makikita mo ang sumusunod:

Ito ang 1.0.3 bersyon ng nfcpy run sa Python 2.7.16 sa Linux-4.19.97-v7 + -armv7l-with-debian-10.3

Hinahanap ko ngayon ang iyong system para sa mga aparatong walang contact ** natagpuan ang ACS ACR122U PN532v1.6 sa usb: 001: 011 Hindi ko sinusubukan ang mga serial device dahil hindi mo pa sinabi sa akin - idagdag ang pagpipiliang '--search-tty' upang tumingin ako - ngunit mag-ingat na maaari nitong masira ang iba pang mga serial dev

Gayunpaman mayroong isang magandang pagkakataon na makakuha ka ng isang mensahe ng error na nagsasabi na ang mambabasa ay natagpuan ngunit ang iyong gumagamit (pi) ay walang pahintulot na i-access ito. Kung nakakuha ka ng mensahe ng error na ito pagkatapos ay ipapaliwanag din nito kung paano ayusin ang problema, na sa pamamagitan ng pag-type ng dalawang utos na medyo katulad ng sumusunod:

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

Kopyahin at ipatupad ang parehong mga utos na ibinibigay sa iyo (hindi eksakto kung ano ang nasa itaas, dahil maaaring iba ang sa iyo), pagkatapos ay i-unplug at i-replug ang iyong NFC reader mula sa USB port.

Subukang muli ang utos ng tseke:

sawa -m nfc

Sa oras na ito ay dapat sabihin na natagpuan ito nang walang mga mensahe ng error.

Hakbang 21: I-install ang Vinylemulator Python Scripts

Nasa lugar namin ngayon ang lahat ng mga bloke ng gusali:

  • Nakikinig ang aming Raspberry Pi para sa input ng NFC
  • Nasasabi ng aming Raspberry Pi kay Sonos na maglaro ng mga playlist ng Spotify kapag binigyan ng Spotify URI
  • Mayroon kaming isang NFC tag na may isang Spotify URI na nakaimbak dito

Ngayon kailangan naming hilahin ang lahat ng mga bloke ng gusali sa isang bagay na kapaki-pakinabang. Ginagawa ito sa pamamagitan ng isang maikling script ng python na isinulat ko (na may maraming tulong mula sa nakaraang mga proyekto ng NFC / Spotify / Sonos) na tinatawag na vinylemulator.

Maaari mong tingnan ang source code para sa mga file sa github:

Upang mai-install ito sa aming Raspberry Pi kailangan namin itong i-clone mula sa github gamit ang sumusunod na utos:

git clone

Hakbang 22: Ipasadya ang Vinylemulator

Ipasadya ang Vinylemulator
Ipasadya ang Vinylemulator
Ipasadya ang Vinylemulator
Ipasadya ang Vinylemulator

Buksan ang file manager ng Raspberry Pi at mag-navigate sa bahay> pi> vinylemulator

Buksan ang file Usersettings.py

Basahin ang isa sa mga linya sa file na ito:

sonosroom = "Silid-kainan"

Baguhin ang "silid kainan" upang maging alinman sa mga pangalan ng silid ng Sonos na nais mong kontrolin.

Mayroon ding setting sa file na ito na nagbibigay-daan sa iyo upang ipasadya ang IP address ng sonos-http-api. Dapat mong iwanan ang hindi nabago bilang "localhost" na nangangahulugang gagamitin nito ang Raspberry Pi na tumatakbo ito.

I-save ang file at isara ito.

Hakbang 23: Subukan ang Vinylemulator

Subukan ang Vinylemulator
Subukan ang Vinylemulator
Subukan ang Vinylemulator
Subukan ang Vinylemulator

Pumunta sa iyong prompt na utos ng Raspberry Pi.

Ipasok ang sumusunod na utos:

python vinylemulator / readnfc.py

Kung maayos ang lahat ay mai-load nito ang script at sasabihin na handa na ang mambabasa. Ang ilaw sa mambabasa ay dapat na berde.

Ilagay ang tag ng NFC sa mambabasa, na kung saan ay beep.

Ipapakita ng terminal kung ano ang nabasa nito mula sa NFC tag at ipapakita ang HTTP na kahilingan sa address na ipinadala nito. Dapat i-play ang iyong album ng pagpipilian mula sa iyong mga speaker ng Sonos.

Patuloy na tumatakbo ang script na ito hanggang sa isara mo ang window ng terminal. Maaari mong i-tap ang iba't ibang mga tag ng NFC ng album at lilipat ito sa album na iyon.

Hakbang 24: Kunin ang Vinylemulator upang Patuloy na Patakbuhin at sa Startup

Tulad ng sonos-http-api, nais namin ang vinylemulator na tumakbo sa lahat ng oras sa halip na kapag tinawag natin ito. Maaari naming gamitin ang pm2 upang gawin ito muli.

Isara muna ang anumang mga pagkakataon ng vinylemulator na iyong tumatakbo sa pamamagitan ng pagsara ng kanilang mga windows windows.

Pagkatapos buksan ang isang sariwang window ng terminal at i-type ang sumusunod na dalawang utos:

pm2 simulan ang vinylemulator / readnfc.py

pm2 makatipid

Suriin natin kung nagtrabaho iyon sa pamamagitan ng pag-reboot ng Raspberry Pi. (Maaari mong i-type ang sudo reboot o gawin ito mula sa menu ng Raspberry gamit ang iyong mouse.

Hintaying magsimula muli ang Pi at makita itong gumagana sa pamamagitan ng pag-tap sa isang tag ng NFC sa mambabasa. Dapat kang makakuha ng musika.

Hakbang 25: Batiin ang Iyong Sarili

Ang lahat ay gumagana na ngayon. Maaari mong ilipat ang Raspberry Pi sa kung saan mo balak i-site ito. Ire-restart nito at gagana ang paraan ng pag-set up mo sa anumang oras na isaksak mo ito.

Ang iyong mga susunod na gawain ay ang nakakatuwa: pagpapaganda ng lahat.

Hakbang 26: Gawin itong Maganda - Itago ang Iyong Reader

Gawing Maganda - Itago ang Iyong Reader
Gawing Maganda - Itago ang Iyong Reader
Gawing Maganda - Itago ang Iyong Reader
Gawing Maganda - Itago ang Iyong Reader
Gawing Maganda - Itago ang Iyong Reader
Gawing Maganda - Itago ang Iyong Reader
Gawing Maganda - Itago ang Iyong Reader
Gawing Maganda - Itago ang Iyong Reader

Ang unang bahagi ng pagpapaganda nito ay ang pagtatago ng hindi magandang maputing plastik na mambabasa ng NFC sa kung saan.

Nagpunta ako kasama ang isang mapagpasyang mababang pagpipilian sa tech na i-taping ito sa ilalim ng isang counter sa tabi ng aking Sonos Play: 5. Ang kahoy ng counter ay manipis na sapat na maaaring dumaan ang NFC, kaya't nagpe-play ako ng musika sa pamamagitan ng pag-tap sa isang tag ng NFC sa isang mahiwagang at hindi nakikita na lugar.

Inirerekumendang: