Мазмуну:

Sonos Spotify Vinyl Emulator: 26 кадам
Sonos Spotify Vinyl Emulator: 26 кадам

Video: Sonos Spotify Vinyl Emulator: 26 кадам

Video: Sonos Spotify Vinyl Emulator: 26 кадам
Video: I just bought an INSANE graphics card 2024, Июль
Anonim
Image
Image
Sonos Spotify Vinyl Emulator
Sonos Spotify Vinyl Emulator

Бул долбоор боюнча көрсөтмөлөрдүн акыркы топтому эмес экенин эске алыңыз:

Сураныч, https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d барыңыз акыркы көрсөтмөлөр жана колдоо топтому

Винилден музыка угуу сонун. Бул физикалык жана тийүү. Сиз туш келди тректерди эмес, бүтүндөй альбомду угасыз. Сиз бүткөндө байкайсыз жана аң -сезимдүү түрдө башка нерсени тандаңыз. Сиз коллекция түзүп, каалаган нерсеңизди издөөнүн ордуна, аны карап чыгсаңыз болот.

Бул ошондой эле кымбат жана көлөмдүү, айрыкча, сиз винилге сарптаган акчаңыз сиз жазылып алынган агым кызматы аркылуу буга чейин жеткиликтүү болгон музыканын дубликаты экенин эске алганда.

Бул долбоор музыканы чынында жеткирүү үчүн Spotifyге таянып, винилдин тактилигин жана коллекциялоо аспектилерин кайталоого аракет кылат. NFC окурманына физикалык объектти Raspberry Pi'ге туташтыруу (экөөнү тең жашырууга болот) ошол тег менен байланышкан альбомду ойной баштайт.

Мен сизди Raspberry Pi орнотуудан NFC тэглерин коддоого чейинки бардык кадамдар аркылуу басып өтөм. Бул менин эң биринчи Raspberry Pi долбоорум жана биринчи Python кодум, ошондуктан мен муну иштеп чыгууда экөөнө тең үйрөттүм. Ошентип, бул көрсөтмөлөр мурунку билимди нөлгө теңейт жана сизди ар бир кадам аркылуу сүйлөшөт.

Муну куруу үчүн негизги компоненттердин жалпы баасы болжол менен 50-60 фунт стерлингди түзөт.

Мен эмнени куруп жатканыңызды көргүм келет!

1 -кадам: Керектүү материалдар 1: Raspberry Pi

Сиздин тармагыңыз, Sonos жана Spotify менен иштей турган арткы бөлүгү Raspberry Pi тарабынан башкарылат. Муну ишке ашыруу үчүн чындыгында өтө аз нерсе керек.

Негизги:

Raspberry Pi: Мен Raspberry Pi 3 Model B+ колдонгом, бирок ал Raspberry Pi 3 Model A+ менен иштейт (£ 23)

USB энергия менен камсыздоо: Менде бирөө жатып калды - эгер жок болсо, расмий жеткиликтүү (£ 9)

Micro SD карта: Менде 32 Гб бар, бул Amazon үчүн көп (£ 6)

Тармагыңызда иштеп жаткан Sonos жабдуулары (менимче, эгер сиз бул жерде болсоңуз …)

Spotify Premium эсеби

Сунушталат:

Пи үчүн иш: 5 фунт стерлингден баштап көптөгөн варианттар бар

Калифорниянын татыктуу бөтөлкөсү Зинфандел: Мен Риджди сунуштайм, бирок башкалар бар

2 -кадам: Керектүү жабдыктар 2: NFC Reader

Керектүү жабдыктар 2: NFC Reader
Керектүү жабдыктар 2: NFC Reader
Керектүү жабдыктар 2: NFC Reader
Керектүү жабдыктар 2: NFC Reader

Бул көрсөтмөлөр USB аркылуу туташкан ACR122U NFC окурманы үчүн курулган.

ACR122U

Мен муну Амазонкадан 38 фунтка сатып алдым (негизинен ал эң жакшы жеткирилгендиктен), бирок ушул эле окурмандын арзан варианттары бар.

Баш аламан ACR122U ар кандай фирмалык аталыштар менен сатылган окшойт (меники "Yosoo" ишенимдүү брендинин алдында), бирок мен айта алам, алар баары бирдей жана American Card Systems тарабынан курулган.

Мен тапкан эң арзан ACR122U 21 фунт стерлингди камтыйт, бирок бул Кытайдан түз келет, андыктан бир аз күтүүгө туура келиши мүмкүн.

Башка варианттар

Бул долбоор nfcpy деп аталган python китепканасына таянат, бул жерде колдоого алынган түзмөктөрдүн тизмеси сакталат:

Теория боюнча, бул долбоор аз интеграция менен тизмедегилердин бири менен иштеши керек.

Кызыктыруучу варианттардын бири - Adafruit PN532, ал такта, Raspberry Pi'ге түз секирүүчү кабелдерди колдонушу керек. Мен муну сынап көрдүм жана чыныгы фафф деп таптым. Бул, мисалы, ширетүүнү талап кылат.

Анын бир артыкчылыгы, үстүртөн караганда, кичирээк, бирок чындыгында такта ACR122U ичегиси менен бирдей. Эгерде сиз чындап эле колдонмоңуз үчүн орун сурап жатсаңыз, анда пластикти ACR122Uдан чечип, тактайды колдонсоңуз болот.

3 -кадам: Керектүү материалдар 3: NFC Tags

Керектүү жабдыктар 3: NFC Tags
Керектүү жабдыктар 3: NFC Tags

Сиз түзгүңүз келген ар бир альбом үчүн NTAG213 стандартына жооп берген NFC теги керек болот.

Буларды сатып ала турган жерлер көп.

Мен биринчи партиямды Амазонкадан сатып алдым, ал жерден 10 фунтту 9 фунтка алдым (Prime жеткирүүнү кошкондо)

Мен Улуу Британиядан бул жерден тапканымдын эң жакшысы - Seritag - аларда чындыгында ар кандай стилдердин кеңири тандоосу бар, алардын веб -сайтында чоң кеңештер бар, сиз эмнени алып жатканыңызды так билесиз (Amazonдо дайыма эле туура эмес). Алардын минималдуу заказ өлчөмү жана көптөгөн варианттары жок. Тегдер бир теги үчүн 27рден башталат

4 -кадам: Raspberry Pi OSти SD картка түшүрүңүз

Raspberry Pi OSти SD картага түшүрүңүз
Raspberry Pi OSти SD картага түшүрүңүз
Raspberry Pi OSти SD картага түшүрүңүз
Raspberry Pi OSти SD картага түшүрүңүз

Компьютериңизде же Mac компьютериңизде Raspberry PI сүрөтчү тиркемесин жүктөп алып иштетиңиз.

Raspberry Pi иштетүү тутумун орноткуңуз келген SD картаны салыңыз.

OS тандаганды чыкылдатып, демейки Rasbian тандаңыз.

ТАНДОО КАРТАСЫН ЧЫКТЫҢЫЗ жана туташтырылган SD картты тандаңыз.

ЖАЗУУ дегенди басыңыз. Бул бир аз убакыт талап кылынышы мүмкүн.

Ал бүткөндөн кийин, сизге SD картаны алып салуу керектиги айтылат. Бирок аны кайра туташтырыңыз, анткени биринчи кезекте үй тазалоонун бир нече пункттары бар.

5 -кадам: Raspberry Pi OS сүрөтүңүздө SSH иштетүү

Raspberry Pi OS сүрөтүңүздө SSH иштетүү
Raspberry Pi OS сүрөтүңүздө SSH иштетүү

OS SD картага жазылгандан кийин, сиз жасашыңыз керек болгон бир нече кошумча тапшырмалар бар.

Биз Raspberry Pi'ге клавиатураны же мониторду ("башы жок") кошпостон кирүүнү каалайбыз, муну биз жергиликтүү компьютерибизди же Macти SSH деп аталган протокол аркылуу жасай алабыз. Бирок, коопсуздук максатында SSH демейки боюнча өчүрүлгөн. Биз аны иштетишибиз керек.

Биз муну бош файлды түзүү аркылуу жасай алабыз:

ssh

биз түзгөн SD картада. Бул кеңейтүүнүн эч кандай түрү болбогону маанилүү (мис.. Txt). Файлдын өзүнө эч кандай мазмун камтуунун кажети жок - Pi жүктөлгөндө анын бар болушу SSHди иштетет.

6 -кадам: Кошумча: Raspberry Pi'ге Wifi орнотуңуз

Кошумча: Raspberry Pi'ге Wifi орнотуңуз
Кошумча: Raspberry Pi'ге Wifi орнотуңуз
Кошумча: Raspberry Pi түзмөгүңүзгө Wifi орнотуңуз
Кошумча: Raspberry Pi түзмөгүңүзгө Wifi орнотуңуз

Эгерде сиз Raspberry Pi роутериңизге Ethernet аркылуу өткөрүүнү пландасаңыз, бул кадамды өткөрүп жибере аласыз. (Сиз бул чечим жөнүндө катуу ойлонууну кааласаңыз да - аны Wi -Fi аркылуу иштетүү бул нерсени аныктоодо жашоону бир топ жеңилдетет)

SD картанын түп каталогунда wpa_supplicant.conf деп аталган жөнөкөй текст файлын түзүңүз.

Файлга төмөнкү текстти киргизиңиз:

өлкө = gb

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

Өлкөнү ылайыктуу түрдө өзгөртүңүз (GB - Улуу Британия, АКШ - АКШ, DE - Германия ж. Б.)

Wifi роутеринин чоо -жайы үчүн wifi грамоталарын өзгөртүңүз.

Файлды сактаңыз.

SD картаны аман -эсен чыгарыңыз.

7 -кадам: Raspberry Pi'иңизди кубаттаңыз

Raspberry Pi'иңизди кубаттаңыз
Raspberry Pi'иңизди кубаттаңыз

Жаңы эле түзүлгөн SD картаны Raspberry Pi'ге салыңыз.

Raspberry Pi'ни USB кабели аркылуу бийликке сайыңыз. Анын жүктөлүшүн бир мүнөт күтө туруңуз.

8 -кадам: Raspberry Piңиздин IP дарегин табыңыз

Сиз азыр Raspberry Piнин IP дарегин табышыңыз керек, андыктан ага туташа аласыз. Сиз муну эки жол менен кыла аласыз:

  • роутерди орнотуу баракчасы аркылуу - эгер сизде eero сыяктуу заманбап роутер болсо, анда бул өтө оңой;
  • же iOS жана Android үчүн жеткиликтүү смартфондун колдонмосу аркылуу "манжа" - жүктөп алыңыз, роутериңизге туташыңыз жана түзмөктөрдү издеңиз - алардын бири "Малина" деп аталышы керек - бул сизге керектүү IP дареги болот.

9 -кадам: Raspberry Pi командалык сабына туташыңыз

Raspberry Pi командалык сабына туташыңыз
Raspberry Pi командалык сабына туташыңыз

Mac компьютериңизде Терминалды ачыңыз (же эгер сиз Windows колдонуп жатсаңыз, Putty программасын жүктөп алып колдонуңуз).

Төмөнкү буйрукту киргизиңиз:

ssh pi@[сиздин Пиңиздин IP дареги]

Коопсуздук эскертмелериңизди кабыл алыңыз. Сизден демейки pi колдонуучусунун сырсөзү талап кылынат

малина

10 -кадам: Raspberry Pi OS GUI орнотуу

Raspberry Pi OS GUI орнотуу
Raspberry Pi OS GUI орнотуу
Raspberry Pi OS GUI орнотуу
Raspberry Pi OS GUI орнотуу

Сиз азыр Пиңизге буйрук сабы аркылуу туташтыңыз, бул сонун, бирок сиз аны VNC (Virtual Network Computing) аркылуу кире турган Графикалык Колдонуучу Интерфейсине кирүү үчүн орноткуңуз келет. Болжолдуу түрдө, биз муну иштетишибиз керек.

Биринчиден, пи программалык камсыздооңузду төмөнкү эки буйрукту (ар биринин артынан кирүү менен) киргизиңиз:

sudo apt update

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

Андан кийин, Raspberry Pi орнотуулары менюсун ачып ачыңыз:

sudo raspi-config

Interfacing Options> VNC> Ооба дегенге өтүңүз.

Чыгуу баскычын басып конфигурация тиркемесинен чыгыңыз жана терүү аркылуу буйрук сабынан Пиди кайра жүктөңүз:

sudo өчүрүп күйгүзүү

11 -кадам: Raspberry Pi GUIге туташуу жана орнотуу

Raspberry Pi GUIге туташыңыз жана орнотуңуз
Raspberry Pi GUIге туташыңыз жана орнотуңуз
Raspberry Pi GUIге туташыңыз жана орнотуңуз
Raspberry Pi GUIге туташыңыз жана орнотуңуз

VNC Viewerди жүктөп алып, ачыңыз.

Raspberry Pi үчүн IP дарегин териңиз жана туташууну басыңыз. Бул сизден колдонуучу аты менен сырсөздү суранат:

Колдонуучунун аты = pi

Сырсөз = малина

Бул сизди GUIге жүктөшү керек.

Бул сизге географияңызды жана клавиатуранын жайгашуусун ырастоону сунуш кылат.

Андан кийин сырсөзүңүздү алмаштырууну сунуштайт (жакшы идея).

Ал сизден Wi -Fi маалыматыңызды коюуну суранат, бирок сиз муну өткөрүп жибере аласыз, анткени алар иштеп жатышат. (Эгерде сиз Ethernetте иштеп жатсаңыз жана экинчи ойлорго ээ болсоңуз, анда азыр сиздин мүмкүнчүлүгүңүз … бирок сиздин IP дарегиңиз өзгөрүшү мүмкүн экенин эске алыңыз)

Андан кийин ал жаңыртууларды текшерет, жүктөйт жана орнотот (бир аз убакыт кетиши мүмкүн).

Орнотуу чебери болгондон кийин, мен экран чечимин өзгөртүүнү сунуштайт элем, анткени демейкидей кичинекей. Сиз муну үстүнкү сол жактагы Raspberry чыкылдатуу менен жасай аласыз> Preferences> Raspberry Pi Configuration> Display> Display Resolution

Мунун күчүнө кириши үчүн Пиди кайра жүктөөңүз керек болот.

12 -кадам: Node.js жана NPM орнотуу

Node.js жана NPM орнотуу
Node.js жана NPM орнотуу

Андан кийин, биз керектүү көз карандылыкты орнотуу үчүн Raspberry Pi буйрук сабын жүктөгүңүз келет.

Сиз муну VNC аркылуу туташуу жана буйрук сабына окшош чокунун жанындагы баскычты басуу менен жасай аласыз; же сиз мурун эле кылгандай, Mac/PC түзмөгүңүздөн Terminal жана Putty аркылуу туташа аласыз. Эгерде сиз Raspberry Pi менен иштөөгө азыраак көнсөңүз, анда биринчисин жасоо оңой.

(Кеңеш: Сиз Mac/PCден текстти көчүрүп, аны VNC аркылуу Raspberry Pi-ге CONTROL-V басуу менен чаптай аласыз, бирок эгер сиз Терминалга чаптоого аракет кылып жатсаңыз, анда CONTROL-SHIFT-V басууңуз керек)

Биринчи жумуш - бул программалык камсыздооңуздун төмөнкү эки буйрукту терүү аркылуу жаңыртылгандыгын кайра текшерүү. Алар жүктөө жана орнотуу үчүн бир аз убакыт талап кылынышы мүмкүн.

sudo apt-get update

sudo apt-get жогорулатуу

Кийинки сиз node.js жана NPMди жүктөп алып, орноткуңуз келет (алар эмне экени жөнүндө көп кабатыр болбоңуз, алар биздин кийинки тапшырмаларыбыз үчүн пайдалуу жана керектүү):

sudo apt-get nodejs npm орнотуу

Бул сизден бир нече жолу сурайт, эгер сиз булар менен диск мейкиндигин ээлеп алууңузга бактылуу болсоңуз, анда Y басасыз

13 -кадам: SONOS HTTP API орнотуу

SONOS HTTP API орнотуу
SONOS HTTP API орнотуу
SONOS HTTP API орнотуу
SONOS HTTP API орнотуу

Биздин долбоордун арткы аягы jishi тарабынан түзүлгөн node-sonos-http-api пакети болуп саналат. Бул тууралуу баарын бул жерден окуй аласыз:

Биз муну githubдан буйрук сабына киргизилген төмөнкү буйрук менен түшүрөбүз:

git клону

жана биз аны төмөнкү буйруктар менен орнотобуз

cd node-sonos-http-api

npm орнотуу -өндүрүш

Андан кийин биз аны төмөнкү буйрук менен иштете алабыз:

npm башталышы

Бул бүткөндөн кийин, биз анын иштеп жаткандыгын текшеришибиз керек.

Биринчиден, биздин Raspberry Pi интернет браузерин ачып, https:// localhost: 5005/өтүңүз. Жакшы интерфейс Sonos логотиби жана API кандай иштээри жөнүндө айрым документтер менен ачылышы керек.

Андан кийин, бул кененирээк тармактан иштеп жаткандыгын текшерип көрөлү, ошол эле тармакта башка компьютерде же Macта браузерди колдонуп, https:// [theIPaddressofyourPi]: 5005/жана ошол эле натыйжаны аларыбызды карап көрөлү. Биз керек.

Эми биз чындыгында системаны бир нерсе кылууга мажбур кылабыз. Браузерди колдонуп, төмөнкүгө өтүңүз:

192.168.4.102:5005/ Ашкана/ойнотуу

Сиз жогорудагы IP дарегин Raspberry Pi дарегиңиз менен жана "Dining Room" менен Sonos зоналарыңыздын аттарынын бири менен алмаштырышыңыз керек. Ал ошол бөлмөдөгү музыканы ойнотушу же тындырышы керек (музыка буга чейин ойноп жатканына жараша). Албетте, бир нерсе иштеши үчүн Sonos кезегинде турушу керек.

Келечекте, мен бул үйрөткүчтө мисал катары жогорудагы IP дарегин жана ашкананы колдоном. Албетте, аларды ар бир жолу IP дарегиңизге жана зонаңыздын атына алмаштырышыңыз керек.

14 -кадам: Sonos HTTP APIсин дайыма иштетип туруңуз

Sonos HTTP APIсин дайыма иштетүү
Sonos HTTP APIсин дайыма иштетүү

Бизде Sonos HTTP API иштеп жатканы абдан сонун, бирок ал бузулса эмне болот? Же сиз күчүн жоготуп жатасызбы же Raspberry Pi'ни өчүрүп күйгүзүүңүз керекпи?

Сиз эффектти терминалдын терезесин жаап, биз аракет кылган нерсени кайталап көрө аласыз. Бул иштебейт, анткени HTTP API терминал терезеси менен бирге токтоп калды.

Биз чындыгында бул тынымсыз иштешин каалайбыз жана ар бир жолу башталгандан бери жасайбыз. Биз муну PM2 деп аталган сонун нерсе менен жасайбыз.

Жаңы терминал терезесинде аны төмөнкүдөй орнотуңуз жана иштетиңиз:

sudo npm орнотуу -g pm2

pm2 абалы

Эми аны Sonos HTTP API иштетүү үчүн алалы:

cd node-sonos-http-api

pm2 баштоо npm - start pm2 баштоо systemd

Бул акыркы буйрук бир аз окшош нерсени жаратат:

sudo env PATH = $ PATH:/usr/bin/usr/local/lib/node_modules/pm2/bin/pm2 баштоо системи -u pi --hp/home/pi

Пиңиз жараткандарды көчүрүңүз (жогорудагы так текстти эмес - сиздики башкача болушу мүмкүн) жана аны буйрук сабына киргизиңиз. Бул тутумга PM2ди жүктөөдө ар дайым иштетүүнү көрсөтөт.

Акырында, киргизиңиз:

pm2 сактоо

бул баарын сактап калат.

Эми бул Raspberry Pi буйругу менен кайра жүктөө менен иштегенин текшериңиз

sudo өчүрүп күйгүзүү

Pi кайра жүктөлгөндөн кийин, ал PM2ди жана өз кезегинде Sonos HTTP APIди кайра баштайт деп үмүттөнөбүз. Сиз муну ошол эле тармактагы браузерди колдонуу менен мурун колдонулган дарекке карай текшерип, Sonos логотибин жана көрсөтмөлөрүн көрө аласыз:

192.168.4.102:5005/

бул мен үчүн, бирок сиздики IP дарегине жараша болот.

15 -кадам: Spotify'ды ойнотуңуз

Келгиле, кызмат Spotify кире аларын текшерип көрөлү.

Браузерди ачыңыз жана төмөнкү дарекке өтүңүз (IP дарегиңиз жана бөлмөңүздүн аты менен алмаштырылат):

192.168.4.102:5005/ Ашкана/spotify/now/spotify/spotify: album: 2dfTV7CktUEBkZCHiB7VQB

Сиз кээ бир Жон Грантты угушуңуз керек. Ырахат.

16 -кадам: Spotify URI'лерин табыңыз

Spotify URI'лерин табыңыз
Spotify URI'лерин табыңыз

Кызык, мен билем, бирок баары эле Жон Грантты жактыра беришпейт. Балким, сиз башка нерсени уккуңуз келеби?

Сиз Spotify шилтемелерин рабочийден, вебден же мобилдик колдонмолордон ала аласыз, бирок Desktop эң оңой, анткени URIди сиз каалаган форматта жеткирет, ошондон баштаңыз.

Spotify рабочий колдонмосунда сиз уккуңуз келген альбомго өтүңүз (Балким Лимонада Бейонсе?)

Жүрөк баскычынын жанындагы үч кичинекей чекитти басыңыз.

Бөлүшүү үчүн менюдан ылдый түшүп, Spotify URI көчүрүү дегенди тандаңыз

Бул сыяктуу бир нерсе көчүрүлөт

spotify: альбом: 7dK54iZuOxXFarGhXwEXfF

алмашуу буферине, бул - Beyonceнин Lemondade альбому үчүн Spotify URI.

Браузериңизди кайра күйгүзүңүз жана төмөнкү дарекке өтүңүз (IP дарегин жана бөлмөнү алмаштырып, жаңы эле көчүргөн URIге чаптаңыз):

192.168.4.102:5005/ Ашкана/spotify/now/[Spotify URI сиз ойногусу келет]

Сиз тандаган оюн угушуңуз керек.

Эгерде сиз веб -колдонмону колдонууну кааласаңыз, анда ал сизге веб -шилтеме берет (төмөндөгүдөй):

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

иштеши үчүн муну spotify: album: код форматына айландыруу керек.

17 -кадам: Spotify URI'лери жөнүндө эскертүү

Spotify URI'лери жана алар node-sonos-http-api менен интерфейси көпчүлүк учурда интуитивдүү.

Сиз альбомдорго, тректерге жана ойнотмо тизмелерге түз шилтеме бере аласыз.

Альбом URI окшош:

spotify: альбом: 6agCM9GJcebduMddgFmgsO

URI трек окшойт:

spotify: трек: 4fNDKbaeEjk2P4GrRE1UbW

Плейлисттер бир аз башкача иштейт. URIди Spotifyдан көчүргөнүңүздө, ал окшош болот:

spotify: ойнотмо тизме: 5huIma0YU4iusLcT2reVEU

Бирок, аны иш жүзүндө APIде иштетүү үчүн жогоруда айтылгандардын башына spotify: user: кошуу керек. Бул коомдук ойноо тизмелерине да тиешелүү жана ооба, бул сиз spotify дегенди эки жолу айтып жатканыңызды билдирет.

Түшүнүктүү болушу үчүн, колдонуучу белгилүү бир колдонуучунун аты болушу керек эмес, жөн гана текст колдонуучусу. Ошентип, аны иштетүү үчүн жогорудагы плейлисттин туура URIи мындай болмок:

spotify: колдонуучу: spotify: ойнотмо тизме: 5huIma0YU4iusLcT2reVEU

18 -кадам: HTTP сурамдарын жөнөтүү үчүн Raspberry Pi орнотуңуз

HTTP сурамдарын жөнөтүү үчүн Raspberry Pi орнотуңуз
HTTP сурамдарын жөнөтүү үчүн Raspberry Pi орнотуңуз

HTTP сурамдарын веб -браузерге кол менен терүүнүн ордуна, биз аны автоматташтыргыбыз келет, ошондуктан Raspberry Pi кандайдыр бир стимул менен берилгенде (NFC окурманы иштетилет).

Биз Raspberry Piге уруксат берүү үчүн өтүнүч деп аталган китепкананы колдонобуз. Келгиле, анын орнотулганын текшерип көрөлү.

Пиңиздеги терминалды ачыңыз жана төмөнкүлөрдү териңиз:

sudo pip орнотуу сурамдары

Кайра келип, ал мурунтан эле орнотулганын айтса керек, бул учурда сонун. Болбосо, аны орнотот.

19 -кадам: Spotify маалыматы менен NFCC тэгдерин түзүңүз

Spotify маалыматы менен NFCC тэгдерин жаратыңыз
Spotify маалыматы менен NFCC тэгдерин жаратыңыз
Spotify маалыматы менен NFCC тэгдерин жаратыңыз
Spotify маалыматы менен NFCC тэгдерин жаратыңыз
Spotify маалыматы менен NFCC тэгдерин жаратыңыз
Spotify маалыматы менен NFCC тэгдерин жаратыңыз
Spotify маалыматы менен NFCC тэгдерин жаратыңыз
Spotify маалыматы менен NFCC тэгдерин жаратыңыз

Эми биз NFC тегине Spotify URI альбомун жазгыбыз келет. Бул тегдердин ар бири Raspberry Piге белгилүү бир альбомду ойнотууну айтуу үчүн колдоно турган нерселериңиз.

Сиз Android телефонун колдонуп NFC тегине жаза аласыз, бирок мен муну эң оңой деп эсептейм, анткени Mac же PC аркылуу Spotify URI'лерин Spotify рабочий колдонмосунан алуу эң оңой.

USB NFC окугучту компьютериңизге же Macка сайыңыз. Мен American Card Systems тарабынан ACR122U колдонуп жатам.

NFC куралдарын компьютериңизге же Macка түшүрүңүз. Орнотуп ачыңыз.

Кээде окурманга туташуу бир аз жай болушу мүмкүн жана ал таптакыр окурманды таба албайт деп айтуусу мүмкүн. NFC куралдарындагы Башка өтмөгүнө өтүп, Connected NFC Reader баскычын тез -тез басып туруңуз. Окурман табылаар алдында аны бир нече жолу сууруп, кайра туташтырууга туура келиши мүмкүн.

Акыр -аягы, ал сизге тизмеден окурманыңызды тандап, туташкан деп айтууга мүмкүнчүлүк берет. "NFC теги күтүлүүдө" дегенден башка эч нерсе көрүнбөгөн Маалымат өтмөгүнө өтүңүз.

Бош NFC тегин алыңыз. Аны окурманга жүктөп, ошол жерге калтырыңыз. NFC Tools теги жөнүндө маалыматты көрсөтөт.

Жазуу өтмөгүнө өтүп, Жазууну кошуу> Текстти басыңыз. (URL же URI тандабоодон сак болуңуз - бул азгырык экенин билем, анткени сиз URI көчүрүп жатасыз, бирок сиз текстти каалайсыз)

Буга чейин колдонулган ыкманы колдонуу менен Spotifyдан URI алыңыз. Эгерде сиз жеңил мисал кааласаңыз, анда төмөндөгү биздин мурунку Джон Грант альбомубуз.

spotify: альбом: 2dfTV7CktUEBkZCHiB7VQB

OK баскычын чыкылдатыңыз жана Жазуу баскычын чыкылдатыңыз (бул акыркы кадамды унутпаңыз - бул чыкылдатмайынча аны жазбайт). Бул тег ийгиликтүү жазылганын айтып берет.

Окурмандын тегин алып салыңыз

20 -кадам: NFC Readerди Raspberry Piге орнотуңуз

NFC Readerди Raspberry Piге орнотуңуз
NFC Readerди Raspberry Piге орнотуңуз

NFC окурманыңызды Raspberry Piдеги USB портторунун бирине сайыңыз.

Биз NFC окурманы менен байланышуу үчүн nfcpy Python китепканасын колдонобуз. Пи буйрук сабында төмөнкүлөрдү терүү менен орнотуңуз:

pip орнотуу -U nfcpy

Биз анда бул китепкана NFC окурманыбызды көрө алабы же жокпу, төмөнкүлөрдү терүү менен текшере алабыз:

python -m nfc

Эгер ал иштеген болсо, анда сиз төмөнкүлөрдү көрөсүз:

Бул Linux-4.19.97-v7+-armv7l-debian-10.3 боюнча Python 2.7.16 менен иштеген nfcpyдин 1.0.3 версиясы

Мен азыр сиздин системаңызды контактсыз түзмөктөр үчүн издеп жатам ** ACS ACR122U PN532v1.6-ды usb: 001: 011ден таптым, анткени сиз мага сериалдуу түзмөктөрдү сынап жаткан жоксуз-"--search-tty" опциясын кошуңуз Мени издегиле - бирок сак болгула, бул башка сериялык шаймандарды бузушу мүмкүн

Бирок, окурман табылганын, бирок сиздин колдонуучуңуздун (pi) ага кирүүгө уруксаты жок деген ката билдирүүсүн алуу мүмкүнчүлүгү бар. Эгер сиз бул ката билдирүүсүн алсаңыз, анда ал ошондой эле көйгөйдү кантип чечүү керектигин түшүндүрөт, бул төмөнкүдөй окшош эки буйрукту терүү менен:

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

судо удевадм контролдоо -R

Ал берген эки буйрукту тең көчүрүңүз жана аткарыңыз (жогорудагыдай эмес, анткени сиздики башкача болушу мүмкүн), анан NFC окурманыңызды USB портунан сууруп, кайра туташтырыңыз.

Текшерүү буйругун кайра аракет кылыңыз:

python -m nfc

Бул жолу ката билдирүүсүз табылганын айтыш керек.

21 -кадам: Vinylemulator Python скрипттерин орнотуңуз

Азыр бизде бардык курулуш блоктору бар:

  • Биздин Raspberry Pi NFC киргизүүнү уга алат
  • Биздин Raspberry Pi Sonosко Spotify URI берилгенде Spotify ойнотмо тизмелерин ойнотууну айта алат
  • Бизде NFC теги бар, анда Spotify URI сакталган

Эми биз бул курулуш материалдарын пайдалуу нерсеге тартуубуз керек. Бул мен жазган кыска питон сценарийи аркылуу ишке ашырылат (мурунку NFC/Spotify/Sonos долбоорлорунун жардамы менен), ал vinylemulator деп аталат.

Сиз githubдан файлдардын баштапкы кодун көрө аласыз:

Муну биздин Raspberry Piге орнотуу үчүн, биз аны githubдан төмөнкү буйрук менен клондошубуз керек:

git clone

22 -кадам: Vinylemulatorду ыңгайлаштыруу

Vinylemulatorду ыңгайлаштыруу
Vinylemulatorду ыңгайлаштыруу
Vinylemulatorду ыңгайлаштыруу
Vinylemulatorду ыңгайлаштыруу

Raspberry Pi файл менеджерин ачып, үйгө өтүңүз> pi> vinylemulator

Usersettings.py файлын ачыңыз

Бул файлдагы саптардын бири мындай болот:

sonosroom = "Ашкана"

"Тамактануучу бөлмөнү" Sonos бөлмөсүнүн аталышын көзөмөлдөңүз.

Бул файлда sonos-http-api IP дарегин ыңгайлаштырууга мүмкүндүк берген жөндөө дагы бар. Сиз муну "localhost" бойдон калтыра алышыңыз керек, демек ал иштеп жаткан Raspberry Pi колдонот.

Файлды сактап, жабыңыз.

23 -кадам: Vinylemulatorду сыноо

Винилемуляторду сыноо
Винилемуляторду сыноо
Винилемуляторду сыноо
Винилемуляторду сыноо

Raspberry Pi буйругуңузга өтүңүз.

Төмөнкү буйрукту киргизиңиз:

python vinylemulator/readnfc.py

Эгерде баары жакшы болсо, бул сценарийди жүктөп, окурман даяр экенин айтат. Окурманга жарык жашыл болуп күйүшү керек.

NFC тегин окурманга коюңуз, ал бип болот.

Терминал NFC тегинен окугандарын көрсөтөт жана жөнөткөн HTTP суроо дарегин көрсөтөт. Тандалган альбомуңуз Sonos динамиктеринен ойнотулушу керек.

Бул скрипт терминал терезесин жапмайынча иштей берет. Сиз башка NFC альбомдорун таптасаңыз болот жана ал альбомго которулат.

24 -кадам: Vinylemulatorду үзгүлтүксүз жана стартапта иштетүү үчүн алыңыз

Sonos-http-api сыяктуу эле, биз винилемулятордун биз чалганда эмес, дайыма иштешин каалайбыз. Муну кайра жасоо үчүн pm2ди колдонсок болот.

Биринчиден, сиз иштеп жаткан винилемуляторлордун терминалдарын жабуу менен жабыңыз.

Андан кийин жаңы терминал терезесин ачып, төмөнкү эки буйрукту териңиз:

pm2 баштоо vinylemulator/readnfc.py

pm2 сактоо

Келгиле, бул Raspberry Pi'ни кайра жүктөө менен иштегенин текшерип көрөлү. (Сиз sudo reboot тере аласыз же чычкан менен Raspberry менюсунан жасай аласыз.

Пи кайра башталышын күтө туруңуз жана ал окурманга NFC тегин басуу менен иштээрин көрүңүз. Сиз музыка алышыңыз керек.

25 -кадам: Өзүңүздү куттуктаңыз

Азыр баары функционалдуу. Сиз Raspberry Pi'ди кайсы жерге жайгаштырууну пландасаңыз, ошол жерге жылдыра аласыз. Ал кайра туташтырылганда, сиз аны кандай орнотсоңуз, ошондой иштей баштайт.

Сиздин кийинки тапшырмаларыңыз кызыктуу: баарын сулуу кылуу.

26 -кадам: Аны сулуу кылыңыз - Окурманыңызды жашырыңыз

Аны сулуу кылыңыз - Окурманыңызды жашырыңыз
Аны сулуу кылыңыз - Окурманыңызды жашырыңыз
Аны сулуу кылыңыз - Окурманыңызды жашырыңыз
Аны сулуу кылыңыз - Окурманыңызды жашырыңыз
Аны сулуу кылыңыз - Окурманыңызды жашырыңыз
Аны сулуу кылыңыз - Окурманыңызды жашырыңыз
Аны сулуу кылыңыз - Окурманыңызды жашырыңыз
Аны сулуу кылыңыз - Окурманыңызды жашырыңыз

Аны сулуу кылуунун биринчи бөлүгү - жагымсыз ак пластикалык NFC окурманын бир жерге жашырып коюу.

Мен Sonos Play'дин жанындагы эсептегичтин астына скотч менен жабдылган технологиянын эң төмөн варианты менен бардым: 5. Эсептегичтин жыгачтары NFC аркылуу өтө ала тургандай жука, ошондуктан сыйкырдуу жана көрүнбөгөн жерге NFC тегин басуу менен музыка ойнойм.

Сунушталууда: