Բովանդակություն:
- Քայլ 1. Պահանջվող պարագաներ 1. Ազնվամորի Պի
- Քայլ 2. Պահանջվող պարագաներ 2. NFC Reader
- Քայլ 3. Պահանջվող պարագաներ 3. NFC պիտակներ
- Քայլ 4: Ներբեռնեք Raspberry Pi OS- ն SD քարտի վրա
- Քայլ 5. Միացրեք SSH- ը ձեր Raspberry Pi OS պատկերի վրա
- Քայլ 6. Լրացուցիչ. Ստեղծեք Wifi ձեր ազնվամորի Pi- ի վրա
- Քայլ 7: Միացրեք ձեր ազնվամորի Pi- ն
- Քայլ 8: Գտեք ձեր Raspberry Pi- ի IP հասցեն
- Քայլ 9. Միացեք ձեր Raspberry Pi հրամանի տողին
- Քայլ 10: Կարգավորեք Raspberry Pi OS GUI- ն
- Քայլ 11. Միացեք և կարգավորեք ձեր Raspberry Pi GUI- ն
- Քայլ 12: Տեղադրեք Node.js և NPM
- Քայլ 13: Տեղադրեք SONOS HTTP API
- Քայլ 14. Ստեղծեք Sonos HTTP API- ն անընդհատ աշխատելու համար
- Քայլ 15. Խաղացեք որոշ Spotify
- Քայլ 16: Գտեք Spotify URI- ներ
- Քայլ 17. Նշում Spotify URI- ների վերաբերյալ
- Քայլ 18. Տեղադրեք Raspberry Pi ՝ HTTP հարցումներն ուղարկելու համար
- Քայլ 19. Ստեղծեք NFCC պիտակներ (ներ) Spotify- ի տվյալներով
- Քայլ 20. Տեղադրեք NFC Reader- ը Raspberry Pi- ի վրա
- Քայլ 21. Տեղադրեք Vinylemulator Python սցենարները
- Քայլ 22: Անհատականացրեք Vinylemulator- ը
- Քայլ 23. Փորձարկեք Vinylemulator- ը
- Քայլ 24. Ստացեք Vinylemulator- ը `անընդհատ աշխատելու և գործարկման համար
- Քայլ 25. Շնորհավորիր ինքդ քեզ
- Քայլ 26. Դարձրեք այն գեղեցիկ - Թաքցրեք ձեր ընթերցողին
Video: Sonos Spotify վինիլային էմուլատոր ՝ 26 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Խնդրում ենք նկատի ունենալ, որ սա այս ծրագրի հրահանգների վերջին փաթեթը չէ
Խնդրում ենք այցելել https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d վերջին հրահանգների և աջակցության համար
Վինիլային երաժշտություն լսելը հիանալի է: Դա ֆիզիկական և շոշափելի է: Դուք լսում եք ոչ թե պատահական, այլ մի ամբողջ ալբոմ: Դուք նկատում եք, երբ այն ավարտվում է և գիտակցաբար ընտրում եք այլ բան: Դուք կարող եք ստեղծել հավաքածու և թերթել այն, այլ ոչ թե փնտրել այն, ինչ ցանկանում եք:
Այն նաև թանկ է և ծանրաբեռնված, հատկապես, երբ հաշվի եք առնում, որ վինիլում ծախսվող ցանկացած գումար, ամենայն հավանականությամբ, երաժշտության կրկնօրինակ է, որին արդեն հասանելի եք հոսքի ծառայության միջոցով, որին բաժանորդագրվում եք:
Այս նախագիծը փորձում է կրկնել վինիլային նրբանկատությունն ու հավաքածուն կառուցելու ասպեկտները ՝ միաժամանակ Spotify- ին ապավինելով երաժշտության իրական մատուցման համար: Ֆիզիկական առարկա տեղադրելով Raspberry Pi- ի հետ կապված NFC ընթերցողի վրա (երկուսն էլ հնարավոր է թաքցնել) կսկսի նվագարկել այդ պիտակի հետ կապված ալբոմը:
Ես ձեզ կանցնեմ բոլոր քայլերով ՝ Raspberry Pi- ի կարգավորումից մինչև NFC պիտակների կոդավորում: Սա իմ առաջին Raspberry Pi նախագիծն է և իմ առաջին Python կոդը, այնպես որ ես ինքս ինձ սովորեցրի երկուսն էլ ՝ սա մշակելիս: Որպես այդպիսին, այս հրահանգները ենթադրում են բառացիորեն զրոյական նախորդ գիտելիքներ և ձեզ հետ խոսում են յուրաքանչյուր քայլի միջոցով:
Հիմնական բաղադրիչի կառուցման ընդհանուր արժեքը մոտավորապես 50-60 ֆունտ է:
Ես շատ կուզենայի տեսնել, թե ինչ եք կառուցում:
Քայլ 1. Պահանջվող պարագաներ 1. Ազնվամորի Պի
Հետևի վերջը, որը միանում է ձեր ցանցին ՝ 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 սարքավորումներ (ենթադրում եմ, որ սա արդեն ունեք, եթե այստեղ եք …)
A Spotify Premium հաշիվ
Առաջարկվում է ՝
Գործ Pi- ի համար. Կան բազմաթիվ տարբերակներ ՝ սկսած 5 ֆունտից
Մի շիշ արժանապատիվ California Zinfandel: Ես խորհուրդ եմ տալիս Ridge- ին, բայց մյուսները հասանելի են
Քայլ 2. Պահանջվող պարագաներ 2. NFC Reader
Այս հրահանգները կառուցված են ACR122U NFC ընթերցողի համար, որը միանում է USB- ի միջոցով:
ACR122U
Ես սա գնել եմ Amazon- ից 38 ֆունտ ստեռլինգով (հիմնականում այն պատճառով, որ այն ունեցել է առաջնային առաքում), բայց այս նույն ընթերցողին գնելու ավելի էժան տարբերակներ կան:
Խառնաշփոթ կերպով թվում է, որ ACR122U- ն վաճառվում է մի շարք տարբեր ապրանքանիշերի ներքո (իմը գտնվում էր «Յոսոո» ապրանքանիշի հեռու), բայց ինչ կարող եմ ասել, դրանք բոլորը նույնն են և կառուցված են American Card Systems- ի կողմից:
Ամենաէժանը, որը ես գտել եմ գովազդվող ACR122U- ն 21 ֆունտ սթերլինգ է, ներառյալ առաքումը, բայց դա գալիս է անմիջապես Չինաստանից, այնպես որ դրա համար գուցե մի փոքր սպասեք:
Այլ ընտրանքներ
Այս նախագիծը հիմնված է nfcpy կոչվող պիթոնի գրադարանի վրա, որը պահպանում է աջակցվող սարքերի ցանկը այստեղ ՝
Տեսականորեն այս նախագիծը պետք է աշխատի այդ ցուցակում գտնվողներից որևէ մեկի հետ ՝ փոքր ինտեգրմամբ:
Մի գայթակղիչ տարբերակ է Adafruit PN532- ը, որը մի տախտակ է, որը պետք է անմիջապես միանա ձեր Raspberry Pi- ին ՝ օգտագործելով jumper մալուխներ: Ես փորձեցի և գտա, որ այն իրական սխալ է: Դա պահանջում է զոդում, օրինակ:
Դրա առավելություններից մեկը մակերեսորեն այն է, որ այն ավելի փոքր է, բայց իրականում տախտակը մոտավորապես նույն չափի է, ինչ ACR122U- ի փորոտիքը: Եթե դուք իսկապես տեղ եք զբաղեցնում ձեր դիմումի համար, ապա կարող եք պլաստիկը հանել ACR122U- ից և պարզապես օգտագործել տախտակը:
Քայլ 3. Պահանջվող պարագաներ 3. NFC պիտակներ
Յուրաքանչյուր ալբոմի համար, որը ցանկանում եք ստեղծել, ձեզ հարկավոր է NFC պիտակ, որը համապատասխանում է NTAG213 ստանդարտին:
Սրանք գնելու շատ տեղեր կան:
Ես գնել եմ իմ առաջին խմբաքանակը Amazon- ից, որտեղից ստացել եմ 10 փաթեթ ՝ 9 ֆունտ ստեռլինգով (ներառյալ Prime առաքումը)
Ամենալավը, որ ես գտել եմ այստեղ ՝ Միացյալ Թագավորությունում, Seritag- ն է: նրանք ունեն տարբեր ոճերի իսկապես լայն ընտրանի, հիանալի խորհուրդներ իրենց կայքում, դուք հստակ գիտեք, թե ինչ եք ստանում (միշտ չէ, որ ճշմարիտ է Amazon- ում): Նրանք չունեն պատվերի նվազագույն չափ և մի շարք հնարավորություններ: Պիտակները սկսվում են մեկ պիտակի համար 27p- ից
Քայլ 4: Ներբեռնեք Raspberry Pi OS- ն SD քարտի վրա
Ձեր համակարգչի կամ Mac- ի վրա ներբեռնեք և գործարկեք Raspberry PI պատկերող ծրագիրը:
Տեղադրեք SD քարտը, որի վրա ցանկանում եք տեղադրել Raspberry Pi օպերացիոն համակարգը:
Կտտացրեք CHOOSE OS- ին և ընտրեք կանխադրված Rasbian- ը:
Կտտացրեք ԸՆՏՐԵԼ SD ՔԱՐՏԸ և ընտրեք միացված SD քարտը:
Կտտացրեք ԳՐԵԼ. Սա կարող է որոշ ժամանակ տևել:
Ավարտելուց հետո այն ձեզ կասի հեռացնել SD քարտը, ինչը դուք պետք է անեք: Բայց հետո նորից միացրեք այն, քանի որ կան տնային տնտեսության մի քանի կետեր, որոնք առաջին հերթին պետք է անեք:
Քայլ 5. Միացրեք SSH- ը ձեր Raspberry Pi OS պատկերի վրա
Երբ OS- ն գրված է SD քարտի վրա, կան մի քանի լրացուցիչ առաջադրանքներ, որոնք դուք պետք է անեք:
Մենք ցանկանում ենք մուտք գործել Raspberry Pi ՝ առանց ստեղնաշար կամ մոնիտոր միացնելու (նույնը ՝ «անգլուխ»), ինչը կարող ենք անել մեր տեղական ցանցի միջոցով ՝ օգտագործելով մեր համակարգիչը կամ Mac- ը ՝ SSH կոչվող արձանագրության միջոցով: Այնուամենայնիվ, անվտանգության նկատառումներից ելնելով ՝ SSH- ն լռելյայն անջատված է: Մենք պետք է այն հնարավորություն տանք:
Մենք կարող ենք դա անել ՝ ստեղծելով դատարկ ֆայլ, որը կոչվում է ՝
սշ
մեր ստեղծած SD քարտում: Կարևոր է, որ սա չունենա որևէ ընդլայնում (օրինակ.txt): Ֆայլն ինքնին կարիք չունի պարունակել որևէ բովանդակություն. Պարզապես դրա առկայությունը հնարավորություն կտա SSH- ին, երբ Pi- ն բարձրանա:
Քայլ 6. Լրացուցիչ. Ստեղծեք Wifi ձեր ազնվամորի Pi- ի վրա
Դուք կարող եք բաց թողնել այս քայլը, եթե մտադիր եք ձեր Raspberry Pi- ն միացնել ձեր երթուղիչին ethernet- ով: (Չնայած գուցե ցանկանաք լավ մտածել այդ որոշման մասին. Այն WiFi- ի վրայով անցնելը կյանքը շատ ավելի դյուրին է դարձնում դա տեղադրելու առումով)
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: Միացրեք ձեր ազնվամորի Pi- ն
Տեղադրեք ձեր ստեղծած SD քարտը ձեր Raspberry Pi- ի մեջ:
Միացրեք ձեր Raspberry Pi- ն USB մալուխի միջոցով: Սպասեք մի րոպե, մինչև այն գործարկվի:
Քայլ 8: Գտեք ձեր Raspberry Pi- ի IP հասցեն
Այժմ դուք պետք է գտնեք Raspberry Pi- ի IP հասցեն, որպեսզի կարողանաք միանալ դրան: Դուք կարող եք դա անել երկու եղանակով.
- ձեր երթուղիչի տեղադրման էջի միջոցով. եթե ունեք eero- ի նման ժամանակակից երթուղիչ, ապա դա շատ հեշտ է.
- կամ iOS- ի և Android- ի համար հասանելի սմարթֆոնի հավելվածի միջոցով, որը կոչվում է «մատ» - ներբեռնեք այն, միացեք ձեր երթուղիչին և սկանավորեք սարքեր, որոնցից մեկը պետք է կոչվի «Ազնվամորի» - սա կլինի ձեզ անհրաժեշտ IP հասցեն:
Քայլ 9. Միացեք ձեր Raspberry Pi հրամանի տողին
Բացեք Terminal- ը ձեր mac- ում (կամ եթե Windows- ից եք օգտվում, ապա ներբեռնեք և օգտագործեք Putty):
Մուտքագրեք հետևյալ հրամանը.
ssh pi@[ձեր Pi- ի IP հասցեն]
Ընդունեք ձեր ստացած անվտանգության ցանկացած նախազգուշացում: Ձեզանից կպահանջվի գաղտնաբառ լռելյայն pi օգտագործողի համար, որն է
ազնվամորի
Քայլ 10: Կարգավորեք Raspberry Pi OS GUI- ն
Դուք այժմ միացված եք ձեր Pi- ին հրամանի տողի միջոցով, ինչը հիանալի է, բայց նաև ցանկանում եք այն կարգավորել, որպեսզի կարողանաք մուտք գործել գրաֆիկական ինտերֆեյս, որին մենք մուտք կունենանք VNC (Վիրտուալ ցանցի հաշվարկ) միջոցով: Կանխատեսելիորեն, մենք նույնպես պետք է հնարավորություն տանք դա:
Առաջին հերթին ստուգեք, որ ձեր Pi ծրագրակազմը արդիական է ՝ հրամանի տողում մուտքագրելով հետևյալ երկու հրամանները (որոնցից յուրաքանչյուրը հաջորդում է մուտքագրմանը).
sudo apt թարմացում
sudo apt տեղադրել realvnc-vnc-server realvnc-vnc-viewer
Հաջորդը, բացեք Raspberry Pi- ի կարգավորումների ցանկը `մուտքագրելով.
sudo raspi-config
Գնացեք դեպի Ինտերֆեյսի ընտրանքներ> VNC> Այո:
Դուրս եկեք կազմաձևման ծրագրից ՝ սեղմելով փախուստի ստեղնը և վերագործարկեք Pi հրամանի տողից ՝ մուտքագրելով.
sudo վերագործարկում
Քայլ 11. Միացեք և կարգավորեք ձեր Raspberry Pi GUI- ն
Ներբեռնեք և բացեք VNC Viewer- ը:
Մուտքագրեք ձեր Raspberry Pi- ի IP հասցեն և սեղմեք Connect: Այն ձեզ կպահանջի օգտվողի անուն և գաղտնաբառ, որոնք են.
Մականուն = pi
Գաղտնաբառ = ազնվամորի
Սա պետք է գործի ձեզ մինչև GUI:
Այն ձեզ հուշում է հաստատել ձեր աշխարհագրությունը և ստեղնաշարի դասավորությունը:
Այնուհետև ձեզ հուշում է փոխել ձեր գաղտնաբառը (լավ գաղափար):
Ձեզանից կպահանջվի սահմանել ձեր wifi մանրամասները, բայց կարող եք բաց թողնել դրանք, քանի որ դրանք արդեն աշխատում են: (Թեև եթե աշխատում եք ethernet- ով և երկրորդ մտքեր ունեք, ապա այժմ ձեր հնարավորությունն է … բայց նշեք, որ ձեր IP հասցեն կարող է փոխվել)
Այնուհետև այն ստուգելու է, ներբեռնելու և տեղադրելու է թարմացումները (կարող է որոշ ժամանակ տևել):
Կարգավորման հրաշագործին անցնելուց հետո ես խորհուրդ կտայի փոխել էկրանի լուծաչափը, քանի որ կանխադրվածը բավականին փոքր է: Դուք կարող եք դա անել ՝ կտտացնելով Ազնվամորիին վերևի ձախ մասում> Նախապատվություններ> Raspberry Pi կազմաձևում> Displayուցադրել> Սահմանել լուծում
Այն ուժի մեջ մտնելու համար նորից պետք է վերագործարկեք Pi- ն:
Քայլ 12: Տեղադրեք Node.js և NPM
Հաջորդը ցանկանում եք բեռնել Raspberry Pi հրամանի տողը `մեզ անհրաժեշտ կախվածությունները տեղադրելու համար:
Դուք կարող եք դա անել ՝ միանալով VNC- ի միջոցով և կտտացնելով վերևի կոճակին, որը նման է հրամանի տողի; կամ կարող եք ուղղակիորեն միանալ ձեր Mac/PC- ից ՝ օգտագործելով Terminal- ը և Putty- ն, ինչպես դա արել էինք նախկինում: Եթե դուք ավելի քիչ սովոր եք աշխատել Raspberry Pi- ի հետ, ապա ավելի հեշտ է անել առաջինը:
(Հուշում. Դուք կարող եք պատճենել տեքստը ձեր Mac/PC- ից և տեղադրել այն Raspberry Pi- ում VNC- ի միջոցով ՝ սեղմելով CONTROL-V, բայց եթե փորձում եք տեղադրել տերմինալում, ապա պետք է սեղմել CONTROL-SHIFT-V)
Առաջին գործն է `նորից ստուգել ձեր ծրագրակազմի արդիականությունը` մուտքագրելով հետևյալ երկու հրամանները: Նրանց ներբեռնելու և տեղադրելու համար կարող է որոշ ժամանակ պահանջվել:
sudo apt-get թարմացում
sudo apt-get բարելավում
Հաջորդը ցանկանում եք ներբեռնել և տեղադրել node.js և NPM (շատ մի անհանգստացեք, թե ինչ են դրանք, դրանք օգտակար և անհրաժեշտ են մեր հաջորդ առաջադրանքների համար) ՝ մուտքագրելով հետևյալը.
sudo apt-get տեղադրել nodejs npm
Այն ձեզ մի քանի անգամ կհարցնի ՝ արդյոք ուրախ եք դրանցով զբաղեցնել սկավառակի տարածքը, այնպես որ սեղմեք Y- ը
Քայլ 13: Տեղադրեք SONOS HTTP API
Մեր նախագծի հետևի հիմքը jishi- ի կողմից ստեղծված node-sonos-http-api փաթեթն է: Այս ամենի մասին կարող եք կարդալ այստեղ ՝
Մենք սա կբեռնենք github- ից ՝ հրամանի տող մուտքագրված հետևյալ հրամանով.
git կլոն
և մենք այն տեղադրելու ենք հետևյալ հրամաններով
cd հանգույց-sonos-http-api
npm տեղադրել -արտադրություն
Այնուհետև մենք կարող ենք այն գործարկել հետևյալ հրամանով.
npm սկիզբը
Երբ դա արվի, մենք պետք է ստուգենք, որ այն աշխատում է:
Առաջին հերթին, բացեք ինտերնետային դիտարկիչը մեր Raspberry Pi- ում և անցեք https:// localhost: 5005/: Գեղեցիկ ինտերֆեյսը պետք է բացվի Sonos- ի պատկերանշանով և API- ի աշխատանքի վերաբերյալ որոշ փաստաթղթերով:
Հաջորդը, եկեք ստուգենք, որ սա աշխատում է ավելի լայն ցանցից ՝ օգտագործելով մեկ այլ համակարգչի կամ Mac- ի նույն ցանցի դիտարկիչ և նավարկելով դեպի https:// [theIPaddressofyourPi]: 5005/և տեսնելով, թե արդյոք մենք կստանանք նույն արդյունքը: Մենք պետք է.
Այժմ մենք իրականում կստիպենք համակարգին ինչ -որ բան անել: Օգտագործեք դիտարկիչ և նավարկեք ՝
192.168.4.102:5005/ iningաշասենյակ/playpause
Դուք պետք է վերը նշված IP հասցեն փոխարինեք ձեր Raspberry Pi- ի և «iningաշասենյակի» հասցեով ՝ ձեր Sonos գոտիների անուններից մեկով: Այն պետք է կամ նվագի կամ դադար տա (կախված այն բանից, թե արդյո՞ք երաժշտություն արդեն հնչում է, թե՞ ոչ) այդ սենյակի երաժշտությունը: Ակնհայտ է, որ ինչ -որ բան պետք է լինի Sonos- ի հերթում, որպեսզի այն աշխատի:
Առաջ գնալով, ես պատրաստվում եմ օգտագործել վերը նշված IP հասցեն և iningաշասենյակը որպես օրինակներ այս ձեռնարկի ընթացքում: Ակնհայտ է, որ դրանք յուրաքանչյուր առիթով պետք է փոխարինեք ձեր IP հասցեով և ձեր գոտու անունով:
Քայլ 14. Ստեղծեք Sonos HTTP API- ն անընդհատ աշխատելու համար
Հիանալի է, որ մենք աշխատում ենք Sonos HTTP API- ով, բայց ի՞նչ անել, եթե այն խափանվի: Կամ դուք կորցնում եք էներգիան կամ կարիք ունեք վերագործարկել ձեր Raspberry Pi- ն:
Դուք կարող եք տեսնել ազդեցությունը ՝ փակելով տերմինալի պատուհանը և կրկին փորձելով այն, ինչ մենք հենց նոր փորձեցինք: Այն չի աշխատի, քանի որ HTTP API- ն դադարել է տերմինալի պատուհանի հետ միասին:
Մենք իրականում ցանկանում ենք, որ սա անընդհատ գործի, և ամեն անգամ դա անել սկզբից: Մենք դա անում ենք մի թույն բանով, որը կոչվում է PM2:
Թարմ տերմինալի պատուհանում տեղադրեք և գործարկեք այն հետևյալ կերպ.
sudo npm տեղադրել -g pm2
pm2 կարգավիճակը
Այժմ եկեք այն գործարկենք մեր Sonos HTTP API- ի գործարկման համար.
cd հանգույց-sonos-http-api
pm2 start npm - սկսել pm2 գործարկման համակարգ
Այս վերջին հրամանը ստեղծում է մի բան, որը մի փոքր նման է.
sudo env PATH = $ PATH:/usr/bin/usr/local/lib/node_modules/pm2/bin/pm2 գործարկման համակարգ d -u pi --hp/home/pi
Պատճենեք այն, ինչ ստեղծում է ձեր 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/ iningաշասենյակ/spotify/այժմ/spotify/spotify: ալբոմ ՝ 2dfTV7CktUEBkZCHiB7VQB
Դուք պետք է լսեք ինչ -որ Johnոն Գրանտ: Վայելեք:
Քայլ 16: Գտեք Spotify URI- ներ
Տարօրինակ է, ես գիտեմ, բայց ոչ բոլորին է դուր գալիս Johnոն Գրանտը: Միգուցե ուզում եք այլ բան լսել:
Դուք կարող եք ստանալ Spotify- ի հղումները աշխատասեղանից, վեբից կամ բջջային ծրագրերից, սակայն աշխատասեղանն ամենահեշտն է, քանի որ այն URI- ն մատուցում է հենց ձեր ուզած ձևաչափով, ուստի սկսեք դրանից:
Spotify աշխատասեղանի հավելվածում անցեք այն ալբոմին, որը ցանկանում եք լսել (գուցե Բեյոնսեի Lemonade):
Սեղմեք սրտի կոճակի կողքին գտնվող երեք փոքրիկ կետերի վրա:
Իջեցրեք ընտրացանկը Share և ընտրեք Copy Spotify URI
Սա կրկնօրինակելու է նման մի բան
ալբոմ ՝ 7dK54iZuOxXFarGhXwEXfF
ձեր սեղմատախտակին, որը Բեյոնսեի Lemondade ալբոմի Spotify URI- ն է:
Կրկին վառեք ձեր դիտարկիչը և անցեք հետևյալ հասցեին (ակնհայտորեն փոխարինելով IP հասցեն և սենյակը և տեղադրելով հենց պատճենած URI- ում).
192.168.4.102:5005/ iningաշասենյակ/spotify/այժմ/[Spotify URI, որը ցանկանում եք խաղալ]
Դուք պետք է լսեք ձեր ընտրած խաղը:
Եթե նախընտրում եք օգտագործել վեբ ծրագիրը, ապա այն ձեզ կտա վեբ հղում (ստորև բերված նման բան).
open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF
դուք պետք է այն փոխարկեք spotify: album: վերը նշված կոդի ձևաչափի, որպեսզի այն աշխատի:
Քայլ 17. Նշում Spotify URI- ների վերաբերյալ
Spotify URI- ները և նրանք, թե ինչպես են նրանք միանում node-sonos-http-api- ին, մեծ մասամբ ինտուիտիվ են:
Կարող եք ուղղակիորեն կապել ալբոմներին, հետքերին և տեսացանկերին:
URI ալբոմի տեսքը հետևյալն է.
ալբոմ ՝ 6agCM9GJcebduMddgFmgsO
Հետագծի URI- ն ունի հետևյալ տեսքը.
spotify: track: 4fNDKbaeEjk2P4GrRE1UbW
Տեսացանկերը գործում են մի փոքր այլ կերպ: Երբ պատճենեք URI- ն Spotify- ից, այն նման կլինի հետևյալին.
spotify: երգացանկ ՝ 5huIma0YU4iusLcT2reVEU
Այնուամենայնիվ, API- ի վրա աշխատելու համար հարկավոր է ավելացնել spotify: user: վերը նշվածի սկզբին: Սա վերաբերում է նույնիսկ հանրային տեսացանկերին և, այո, նշանակում է, որ դուք երկու անգամ ասում եք spotify:
Շատ պարզ լինելու համար օգտագործողը կարիք չունի լինել որոշակի օգտվողի անուն, այլ միայն տեքստային օգտագործողի: Այսպիսով, վերը նշված երգացանկի գործարկման համար ճիշտ URI- ը կլինի.
spotify: օգտվող: spotify: երգացանկ `5huIma0YU4iusLcT2reVEU
Քայլ 18. Տեղադրեք Raspberry Pi ՝ HTTP հարցումներն ուղարկելու համար
Համացանցային դիտարկիչում HTTP հարցումները ձեռքով մուտքագրելու փոխարեն, մենք ցանկանում ենք ավտոմատացնել այն, որպեսզի Raspberry Pi- ն դա անի ինքնին, երբ այն ներկայացվում է որոշակի խթանով (NFC ընթերցողը գործարկվում է):
Մենք կօգտագործենք գրադարան, որը կոչվում է հարցում ՝ մեր Raspberry Pi- ին դա անելու համար: Եկեք ստուգենք, որ այն տեղադրված է:
Բացեք ձեր Pi- ի տերմինալը և մուտքագրեք հետևյալը.
sudo pip տեղադրման հարցումներ
Ամենայն հավանականությամբ, այն կվերադառնա և կասի, որ այն արդեն տեղադրված է, որի դեպքում հիանալի է: Եթե ոչ, այն կտեղադրի:
Քայլ 19. Ստեղծեք NFCC պիտակներ (ներ) Spotify- ի տվյալներով
Այժմ մենք ցանկանում ենք Spotify ալբոմի URI գրել NFC պիտակի վրա: Այս պիտակներից յուրաքանչյուրն այն է, ինչ կօգտագործեք Raspberry Pi- ին որոշակի ալբոմ նվագելու համար:
Դուք կարող եք գրել NFC պիտակի վրա ՝ օգտագործելով Android հեռախոս, բայց ես կարծում եմ, որ դա ամենահեշտն է դա անել Mac- ի կամ ԱՀ -ի միջոցով, քանի որ այնուհետև կարող եք ստանալ ամենահեշտը Spotify URI- ները Spotify աշխատասեղանի ծրագրից:
Միացրեք ձեր USB NFC ընթերցողը ձեր համակարգչին կամ Mac- ին: Ես օգտագործում եմ ACR122U- ն American Card Systems- ի կողմից:
Ներբեռնեք NFC գործիքները ձեր համակարգչին կամ Mac- ին: Տեղադրեք և բացեք այն:
Երբեմն կարող է մի փոքր դանդաղ լինել ընթերցողին միանալը և կարող է ասել, որ այն ընդհանրապես չի գտնում ընթերցողին: Գնացեք NFC գործիքների «Այլ» ներդիր և հաճախակի սեղմեք «Միացված NFC ընթերցող» կոճակի վրա: Հնարավոր է ստիպված լինեք մի քանի անգամ անջատել և նորից միացնել ընթերցողին, մինչև այն գտնի:
Ի վերջո, դա ձեզ հնարավորություն կտա ընտրել ձեր ընթերցողին ցուցակից և ասել, որ այն կապված է: Գնացեք Տեղեկատվության ներդիր, որը ոչինչ չի ցուցադրի, բացառությամբ «Սպասել NFC պիտակի»:
Վերցրեք դատարկ NFC պիտակ: Դրեք այն ընթերցողի վրա և թողեք այնտեղ: NFC գործիքները կցուցադրեն պիտակի մասին տեղեկությունները:
Գնացեք Գրել ներդիրին և կտտացրեք Ավելացնել գրառում> Տեքստ: (Carefulգույշ եղեք, որ URL կամ URI չընտրեք. Ես գիտեմ, որ դա գայթակղիչ է, քանի որ դուք պատճենում եք URI, բայց տեքստ եք ուզում)
Գրավեք Spotify- ի URI- ն ՝ նախկինում օգտագործած մեթոդով: Եթե ցանկանում եք հեշտ օրինակ, ապա ստորև ներկայացված է մեր նախկին John Grant ալբոմը:
ալբոմ ՝ 2dfTV7CktUEBkZCHiB7VQB
Կտտացրեք OK, այնուհետև կտտացրեք Գրեք (մի մոռացեք այս վերջին քայլը. Այն իրականում չի գրվում, քանի դեռ չեք սեղմել սա): Այն ձեզ կասի, որ պիտակը հաջողությամբ գրված է:
Հեռացրեք պիտակը ընթերցողից
Քայլ 20. Տեղադրեք NFC Reader- ը Raspberry Pi- ի վրա
Միացրեք ձեր NFC ընթերցողին ձեր Raspberry Pi- ի USB պորտերից մեկը:
NFC ընթերցողի հետ շփվելու համար մենք կօգտագործենք nfcpy Python գրադարանը: Տեղադրեք այն ՝ ձեր Pi հրամանի տողում մուտքագրելով հետևյալը.
pip տեղադրել -U nfcpy
Այնուհետեւ մենք կարող ենք ստուգել, թե արդյոք այս գրադարանը ի վիճակի է տեսնել մեր NFC ընթերցողին ՝ մուտքագրելով հետևյալը.
python -m nfc
Եթե այն աշխատել է, ապա կտեսնեք հետևյալը.
Սա nfcpy- ի 1.0.3 տարբերակն է, որն աշխատում է Python 2.7.16-ում Linux-4.19.97-v7+-armv7l-with-debian-10.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 '
sudo udevadm հսկողություն -R
Պատճենեք և կատարեք ձեզ տրված երկու հրամանները (ոչ թե այն, ինչ վերևում է, քանի որ ձերն էլ կարող է տարբեր լինել), այնուհետև անջատեք և նորից միացրեք USB պորտից ձեր NFC ընթերցողին:
Կրկին փորձեք ստուգման հրամանը.
python -m nfc
Այս անգամ այն պետք է ասի, որ այն գտնվել է առանց սխալի հաղորդագրությունների:
Քայլ 21. Տեղադրեք Vinylemulator Python սցենարները
Այժմ մենք ունենք բոլոր շինանյութերը տեղում.
- Մեր Raspberry Pi- ն ունակ է լսել NFC մուտքագրման համար
- Մեր Raspberry Pi- ն ի վիճակի է Sonos- ին ասել, որ Spotify տեսացանկեր նվագի, երբ տրվում է Spotify URI
- Մենք ունենք NFC պիտակ, որի վրա պահված է Spotify URI- ն
Այժմ մենք պետք է այս բոլոր շինանյութերը քաշենք ինչ -որ օգտակար բանի մեջ: Դա արվում է իմ գրած կարճ պիթոնի սցենարի միջոցով (նախորդ NFC/Spotify/Sonos նախագծերի մեծ օգնությամբ), որը կոչվում է vinylemulator:
Դուք կարող եք դիտել ֆայլերի աղբյուրի կոդը github- ում ՝
Սա մեր Raspberry Pi- ի վրա տեղադրելու համար մենք պետք է այն կլոնավորենք github- ից հետևյալ հրամանով.
git կլոն
Քայլ 22: Անհատականացրեք Vinylemulator- ը
Բացեք Raspberry Pi ֆայլերի կառավարիչը և նավարկեք դեպի տուն> pi> vinylemulator
Բացեք ֆայլը usersettings.py
Այս ֆայլի տողերից մեկը կկարդա.
sonosroom = "iningաշասենյակ"
Փոխեք «iningաշասենյակ» ՝ այն որևէ Sonos սենյակի անունով, որը ցանկանում եք վերահսկել:
Այս ֆայլում կա նաև մի կարգավորում, որը թույլ է տալիս հարմարեցնել sonos-http-api- ի IP հասցեն: Դուք պետք է կարողանաք անփոփոխ թողնել սա որպես «localhost», ինչը նշանակում է, որ այն կօգտագործի Raspberry Pi- ն, որի վրա այն աշխատում է:
Պահպանեք ֆայլը և փակեք այն:
Քայլ 23. Փորձարկեք Vinylemulator- ը
Գնացեք ձեր Raspberry Pi հրամանի տողում:
Մուտքագրեք հետևյալ հրամանը.
python vinylemulator/readnfc.py
Եթե ամեն ինչ լավ լինի, սա կբեռնի սցենարը և կասի, որ ընթերցողը պատրաստ է: Ընթերցողի վրա լույսը պետք է կանաչի:
NFC պիտակը դրեք ընթերցողի վրա, որը կտա ազդանշան:
Տերմինալը ցույց կտա այն, ինչ կարդացել է NFC պիտակից և ցույց կտա իր ուղարկած HTTP հարցման հասցեն: Ձեր ընտրած ալբոմը պետք է հնչի ձեր Sonos բարձրախոսներից:
Այս սցենարը կշարունակվի մինչև փակեք տերմինալի պատուհանը: Կարող եք հպել տարբեր ալբոմների NFC պիտակներին, և այն կանցնի այդ ալբոմին:
Քայլ 24. Ստացեք Vinylemulator- ը `անընդհատ աշխատելու և գործարկման համար
Theիշտ այնպես, ինչպես sonos-http-api- ն, մենք ցանկանում ենք, որ vinylemulator- ը գործի անընդհատ, այլ ոչ թե այն ժամանակ, երբ մենք այն անվանում ենք: Մենք նորից կարող ենք դա անել pm2- ով:
Նախ փակեք ձեր գործարկած vinylemulator- ի ցանկացած դեպք `փակելով դրանց տերմինալային պատուհանները:
Այնուհետև բացեք տերմինալի թարմ պատուհան և մուտքագրեք հետևյալ երկու հրամանները.
pm2 սկսել vinylemulator/readnfc.py
pm2 խնայել
Եկեք ստուգենք, արդյոք դա աշխատել է ՝ վերագործարկելով Raspberry Pi- ն: (Դուք կարող եք կամ մուտքագրել sudo reboot կամ դա անել Ազնվամորու մենյուից ՝ մկնիկով:
Սպասեք, մինչև Pi- ն նորից սկսվի և տեսեք, որ այն աշխատում է ՝ ընթերցողի վրա սեղմելով NFC պիտակը: Դուք պետք է երաժշտություն ստանաք:
Քայլ 25. Շնորհավորիր ինքդ քեզ
Այժմ ամեն ինչ ֆունկցիոնալ է: Դուք կարող եք Raspberry Pi- ն տեղափոխել այնտեղ, որտեղ նախատեսում եք տեղադրել այն: Այն կվերագործարկվի և կգործի այնպես, ինչպես դուք այն կարգավորել եք, երբ միացնում եք այն:
Ձեր հաջորդ առաջադրանքները զվարճալի են. Ամեն ինչ գեղեցիկ դարձնել:
Քայլ 26. Դարձրեք այն գեղեցիկ - Թաքցրեք ձեր ընթերցողին
Գեղեցիկ դարձնելու առաջին մասը թաքցնում է NFC- ի տհաճ սպիտակ պլաստիկ ընթերցողը ինչ -որ տեղ:
Ես գնացել եմ վճռականորեն ցածր տեխնոլոգիական տարբերակով `այն իմ Sonos Play- ի կողքին տեղադրած վաճառասեղանի ներքևի մասում: 5. Հաշվիչի փայտը այնքան բարակ է, որ NFC- ն կարող է անցնել, այնպես որ ես երաժշտություն եմ նվագում ՝ կախարդական և անտեսանելի տեղում դիպչելով NFC պիտակին:
Խորհուրդ ենք տալիս:
Ինչպես կառուցել DJ- ի տեղադրում սկսնակների համար `վինիլային ոճ: 7 քայլ
Ինչպես կառուցել DJ- ի ստեղծում սկսնակների համար `վինիլային ոճ: Այս հրահանգում ես ձեզ ցույց կտամ, թե ինչպես կարելի է վինիլ օգտագործող դասական շրջադարձային ոճով DJ- ի կառուցվածք ստեղծել: Անկախ նրանից, թե դուք հոբբիստ եք, կամ ցանկանում եք դառնալ պրոֆեսիոնալ, և, հնարավոր է, եկամուտ վաստակող աշխարհով մեկ շրջել աշխարհով մեկ, այս քայլերը ձեզ
TinyDice: Պրոֆեսիոնալ PCB- ներ տանը վինիլային դանակով `10 քայլ (նկարներով)
TinyDice. Պրոֆեսիոնալ PCB- ները տանը `վինիլային դանակով. Այս մեթոդը թույլ է տալիս արտադրել կոնսիսներ
Հրահանգներ, թե ինչպես օգտագործել MH871-MK2 վինիլային կտրիչ ՝ 11 քայլ
Հրահանգներ, թե ինչպես օգտագործել MH871-MK2 վինիլային դանակ. Բարև, իմ անունը Ռիկարդո Գրին է, և ես հրահանգներ տվեցի, թե ինչպես օգտագործել MH871-MK2 վինիլային դանակ:
Ps2 Controller to Usb Hid ստեղնաշարի էմուլատոր ՝ 3 քայլ
Ps2 Controller to Usb Hid Keyboard Emulator: Սա փոքր ծրագիր է ՝ ծրագրավորվող համակարգչային USB ադապտեր ստեղծելու համար ps2 վերահսկիչի համար: Խաչաձեւ հարթակ է: Ես դա արեցի, քանի որ խնդիրներ ունեի սովորական ծրագրային լուծման տեղադրման հետ (հակամիկրո, joy2key և այլն): Գրադարանը չի կազմվում դեռահասների համար
Ինչպես վարել խաղային էմուլատոր `7 քայլ
Ինչպես վարել խաղերի էմուլատոր. Ըստ Վիքիպեդիայի, համակարգչային գիտությունների էմուլյատորը կրկնօրինակում է (ապահովում է նմանակում) մեկ համակարգի գործառույթները ՝ օգտագործելով այլ համակարգ, այնպես որ երկրորդ համակարգը իրեն պահում է (և թվում է) առաջին համակարգը: Սա կենտրոնանում է ճշգրիտ ներկայացուցչության վրա