Mundarija:

Sonos Spotify vinil emulyatori: 26 qadam
Sonos Spotify vinil emulyatori: 26 qadam

Video: Sonos Spotify vinil emulyatori: 26 qadam

Video: Sonos Spotify vinil emulyatori: 26 qadam
Video: Broke 90 in Smart Tv 2024, Iyul
Anonim
Image
Image
Sonos Spotify vinil emulyatori
Sonos Spotify vinil emulyatori

E'tibor bering, bu loyiha uchun eng so'nggi ko'rsatmalar to'plami emas:

Eng so'nggi ko'rsatmalar va qo'llab-quvvatlash uchun https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d saytiga tashrif buyuring

Vinilda musiqa tinglash ajoyib. Bu jismoniy va sezgir. Siz tasodifiy treklarni emas, balki butun albomni tinglaysiz. Siz tugaganini sezasiz va ongli ravishda boshqa narsani tanlaysiz. Siz xohlagan narsani qidirishdan ko'ra, kollektsiya yaratishingiz va uni ko'rib chiqishingiz mumkin.

Bu, shuningdek, qimmat va katta hajmli, ayniqsa, vinilga sarflagan pulingiz, siz obuna bo'lgan oqim xizmati orqali sizda allaqachon mavjud bo'lgan musiqaning dublikati, deb hisoblasangiz.

Ushbu loyiha musiqani haqiqatan ham etkazib berish uchun Spotify-ga tayanib, vinilning xushbichimligi va kollektsion xususiyatlarini takrorlashga harakat qiladi. Raspberry Pi -ga ulangan NFC o'quvchisiga jismoniy ob'ektni qo'yish (ikkalasini ham yashirish mumkin) o'sha teg bilan bog'liq albomni o'ynay boshlaydi.

Men sizga Raspberry Pi -ni sozlashdan NFC teglarini kodlashga qadar barcha bosqichlarni o'taman. Bu mening birinchi Raspberry Pi loyiham va birinchi Python kodim, shuning uchun men buni ishlab chiqishda o'zimni o'rgatganman. Shunday qilib, bu yo'riqnomalar oldingi bilimlarni deyarli yo'q deb hisoblaydi va siz bilan har qadamda gaplashadi.

Uni qurish uchun zarur bo'lgan komponentlarning umumiy qiymati taxminan 50-60 funtni tashkil qiladi.

Men nima qurayotganingizni ko'rishni xohlayman!

1 -qadam: Zarur materiallar 1: Raspberry Pi

Sizning tarmog'ingiz, Sonos va Spotify bilan aloqa qiladigan orqa qismi Raspberry Pi tomonidan boshqariladi. Buni amalga oshirish uchun sizga juda kam narsa kerak.

Muhim:

Raspberry Pi: Men Raspberry Pi 3 Model B+ dan foydalanardim, lekin u Raspberry Pi 3 Model A+ bilan ishlaydi (£ 23)

USB quvvat manbai: Menda bitta yotardi - agar sizda bo'lmasa (9 funt)

Micro SD -karta: Menda 32 gigabayt bor, bu Amazonda juda ko'p (6 funt)

Sizning tarmog'ingizda ishlaydigan ba'zi Sonos uskunalari (menimcha, agar siz shu erda bo'lsangiz …)

Spotify Premium hisob qaydnomasi

Tavsiya etiladi:

Pi uchun sumka: 5 funtdan boshlanadigan ko'plab variantlar mavjud

Bir shisha Kaliforniya Zinfandelga munosib: Men Ridjni tavsiya qilaman, lekin boshqalar bor

2 -qadam: Kerakli materiallar 2: NFC o'quvchi

Kerakli materiallar 2: NFC o'quvchi
Kerakli materiallar 2: NFC o'quvchi
Kerakli materiallar 2: NFC o'quvchi
Kerakli materiallar 2: NFC o'quvchi

Ushbu ko'rsatmalar USB orqali ulanadigan ACR122U NFC o'quvchi uchun mo'ljallangan.

ACR122U

Men buni Amazon -dan 38 funtga sotib oldim (asosan, etkazib berish yaxshi bo'lgani uchun), lekin o'sha o'quvchini sotib olishning arzon variantlari bor.

Ajablanarlisi shundaki, ACR122U turli xil tovar nomlari ostida sotiladi (meniki "Yosoo" brendi nomi bilan mashhur), lekin aytishim mumkinki, ularning barchasi bir xil va American Card Systems tomonidan ishlab chiqarilgan.

Men e'lon qilgan ACR122U ning eng arzon narxi 21 funtni tashkil etadi, lekin bu Xitoydan keladi, shuning uchun siz biroz kutishingiz kerak bo'ladi.

Boshqa variantlar

Bu loyiha qo'llab -quvvatlanadigan qurilmalar ro'yxatini saqlaydigan nfcpy nomli python kutubxonasiga asoslangan:

Nazariy jihatdan, bu loyiha o'sha ro'yxatdagilar bilan birlashmagan holda ishlashi kerak.

Qiziqarli variantlardan biri bu Adafruit PN532 bo'lib, u to'g'ridan -to'g'ri Raspberry Pi -ga o'tish kabellari yordamida ulanishi kerak. Men sinab ko'rdim va uni haqiqiy g'oya deb topdim. Bu, masalan, payvandlashni talab qiladi.

Uning bir afzalligi shundaki, u kichikroq, lekin aslida taxta ACR122U ichaklarining o'lchamiga teng. Agar siz haqiqatan ham dastur uchun joy ajratmoqchi bo'lsangiz, siz ACR122U plastmassasini echib, taxtadan foydalanishingiz mumkin.

3 -qadam: Kerakli materiallar 3: NFC teglari

Kerakli materiallar 3: NFC teglari
Kerakli materiallar 3: NFC teglari

Yaratmoqchi bo'lgan har bir albom uchun sizga NTAG213 standartiga mos keladigan NFC yorlig'i kerak bo'ladi.

Bularni sotib oladigan joylar ko'p.

Men birinchi partiyamni Amazondan sotib oldim, u erda 10 funt sterlingni 9 funtga oldim (Prime etkazib berish bilan birga)

Men bu erda Buyuk Britaniyada topgan eng yaxshi ta'minot - Seritag - ular har xil uslublarning keng tanloviga ega, o'z veb -saytlarida ajoyib maslahatlar, siz nima olayotganingizni aniq bilasiz (har doim Amazonda to'g'ri emas). Ularda minimal buyurtma miqdori va bir nechta variant mavjud emas. Teglar har bir teg uchun 27 p dan boshlanadi

4 -qadam: Raspberry Pi OS -ni SD -kartaga yuklab oling

Raspberry Pi OS -ni SD -kartaga yuklab oling
Raspberry Pi OS -ni SD -kartaga yuklab oling
Raspberry Pi OS -ni SD -kartaga yuklab oling
Raspberry Pi OS -ni SD -kartaga yuklab oling

Shaxsiy kompyuteringizda yoki Mac -da Raspberry PI tasvirlash dasturini yuklab oling va ishga tushiring.

Raspberry Pi operatsion tizimini o'rnatmoqchi bo'lgan SD -kartani joylashtiring.

OSni tanlash -ni bosing va standart Rasbian -ni tanlang.

SD kartani tanlash -ni bosing va ulangan SD -kartani tanlang.

YOZISH tugmasini bosing. Bu biroz vaqt olishi mumkin.

Bu bajarilgandan so'ng, sizga SD -kartani olib tashlash kerakligi aytiladi. Ammo keyin uni qayta ulang, chunki siz oldin uy ishlarini bajarishingiz kerak.

5 -qadam: Raspberry Pi OS rasmingizda SSH -ni yoqing

Raspberry Pi OS rasmingizda SSH -ni yoqing
Raspberry Pi OS rasmingizda SSH -ni yoqing

Operatsion tizim SD -kartaga yozilgandan so'ng, siz bir nechta qo'shimcha vazifalarni bajarishingiz kerak bo'ladi.

Biz Raspberry Pi -ga klaviatura yoki monitorni ulamasdan kirishni xohlaymiz (aka "boshsiz"), biz buni mahalliy tarmoq orqali kompyuter yoki Mac yordamida SSH protokoli orqali amalga oshirishimiz mumkin. Biroq, xavfsizlik nuqtai nazaridan, SSH sukut bo'yicha o'chirilgan. Biz uni faollashtirishimiz kerak.

Buni bo'sh fayl yaratish orqali qilishimiz mumkin:

ssh

biz yaratgan SD -kartada. Bu hech qanday kengaytmaga ega emasligi muhim (masalan.txt). Faylning o'zi hech qanday tarkibga ega bo'lishi shart emas - uning mavjudligi Pi yuklanganda SSH -ni yoqadi.

6 -qadam: Majburiy emas: Raspberry Pi -ga Wi -Fi -ni o'rnating

Majburiy emas: Raspberry Pi -ga Wi -Fi -ni o'rnating
Majburiy emas: Raspberry Pi -ga Wi -Fi -ni o'rnating
Majburiy emas: Raspberry Pi -ga Wi -Fi -ni o'rnating
Majburiy emas: Raspberry Pi -ga Wi -Fi -ni o'rnating

Agar siz Raspberry Pi -ni routeringizga chekilgan tarmoq orqali ulashni rejalashtirmoqchi bo'lsangiz, bu bosqichni o'tkazib yuborishingiz mumkin. (Garchi siz bu qaror haqida qattiq o'ylashni xohlasangiz -da, uni Wi -Fi orqali ishlatish hayotni joylashtirish nuqtai nazaridan ancha osonlashtiradi)

SD -kartaning asosiy katalogida wpa_supplicant.conf nomli oddiy matnli fayl yarating.

Quyidagi matnni faylga kiriting:

mamlakat = gb

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

Mumkin bo'lgan mamlakatni o'zgartiring (GB - Buyuk Britaniya, AQSh - AQSh, DE - Germaniya va boshqalar)

Wi -Fi ma'lumotlarini wifi yo'riqchining haqiqiy ma'lumotlari bo'lishi uchun o'zgartiring.

Faylni saqlang.

SD -kartani xavfsiz chiqarib oling.

7 -qadam: Raspberry Pi -ni yoqing

Raspberry Pi -ni yoqing
Raspberry Pi -ni yoqing

O'zingiz yaratgan SD -kartani Raspberry Pi -ga joylashtiring.

Raspberry Pi -ni USB kabeli orqali quvvat manbaiga ulang. Biroz kutib turing.

8 -qadam: Raspberry Pi -ning IP -manzilini toping

Endi siz Raspberry Pi -ning IP -manzilini topishingiz kerak, shunda siz unga ulana olasiz. Siz buni ikki usulda qilishingiz mumkin:

  • yo'riqnoma sozlamalari sahifasi orqali - agar sizda zamonaviy eero kabi yo'riqnoma bo'lsa, bu juda oson;
  • yoki iOS va Android uchun "barmoq" deb nomlangan smartfonlar ilovasi orqali - uni yuklab oling, yo'riqchingizga ulaning va qurilmalarni qidiring - ulardan birini "malina" deb nomlash kerak - bu sizga kerak bo'lgan IP manzil bo'ladi.

9 -qadam: Raspberry Pi buyruq qatoriga ulaning

Raspberry Pi buyruq satriga ulaning
Raspberry Pi buyruq satriga ulaning

Mac -da terminalni oching (yoki agar siz Windows -dan foydalanayotgan bo'lsangiz, Putty -ni yuklab oling va ishlating).

Quyidagi buyruqni kiriting:

ssh pi@[sizning Pi -ning IP -manzili]

Siz olgan har qanday xavfsizlik ogohlantirishlarini qabul qiling. Sizdan standart pi foydalanuvchisi uchun parol so'raladi

Malina

10 -qadam: Raspberry Pi OS GUI -ni o'rnating

Raspberry Pi OS GUI -ni o'rnating
Raspberry Pi OS GUI -ni o'rnating
Raspberry Pi OS GUI -ni o'rnating
Raspberry Pi OS GUI -ni o'rnating

Siz hozir Pi -ga buyruq satri orqali ulandingiz, bu juda yaxshi, lekin siz uni VNC (Virtual Tarmoqli Hisoblash) orqali kiradigan grafik foydalanuvchi interfeysiga kirishingiz uchun sozlamoqchisiz. Oldindan taxmin qilish mumkinki, biz ham buni faollashtirishimiz kerak.

Birinchidan, buyruq satriga quyidagi ikkita buyruqni (har biridan keyin kiritish) kiritish orqali Pi dasturiy ta'minoti yangilanganligini tekshiring:

sudo apt yangilash

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

Keyin, Raspberry Pi sozlamalari menyusini oching:

sudo raspi-config

Interfacing Options> VNC> Ha -ga o'ting.

Qochish tugmachasini bosib konfiguratsiya dasturidan chiqing va buyruq satridan Pi ni qayta ishga tushiring:

sudo qayta yuklash

11 -qadam: Raspberry Pi GUI -ga ulaning va sozlang

Raspberry Pi GUI -ga ulaning va sozlang
Raspberry Pi GUI -ga ulaning va sozlang
Raspberry Pi GUI -ga ulaning va sozlang
Raspberry Pi GUI -ga ulaning va sozlang

VNC Viewer -ni yuklab oling va oching.

Raspberry Pi uchun IP -manzilni kiriting va "Ulanish" tugmasini bosing. Sizdan foydalanuvchi nomi va parol so'raladi:

Foydalanuvchi nomi = pi

Parol = malina

Bu sizni GUI -ga yuklashi kerak.

Bu sizga geografiya va klaviatura tartibini tasdiqlashni taklif qiladi.

Keyin parolni o'zgartirishni taklif qiladi (yaxshi fikr).

U sizdan Wi -Fi ma'lumotlarini o'rnatishingizni so'raydi, lekin siz ularni o'tkazib yuborishingiz mumkin, chunki ular allaqachon ishlamoqda. (Agar siz chekilgan tarmoqda ishlayotgan bo'lsangiz va ikkinchi marta o'ylayotgan bo'lsangiz, hozir sizning imkoniyatingiz … lekin sizning IP -manzilingiz o'zgarishi mumkinligiga e'tibor bering)

Keyin u yangilanishlarni tekshiradi, yuklab oladi va o'rnatadi (biroz vaqt ketishi mumkin).

O'rnatish sehrgaridan o'tgandan so'ng, ekran o'lchamlarini o'zgartirishni tavsiya qilaman, chunki sukut juda kichik. Siz buni chap yuqori qismdagi Raspberry> Sozlamalar> Raspberry Pi konfiguratsiyasi> Displey> Ruxsatni o'rnatish -ni bosish orqali qilishingiz mumkin.

Bu kuchga kirishi uchun siz yana Pi -ni qayta ishga tushirishingiz kerak bo'ladi.

12 -qadam: Node.js va NPM -ni o'rnating

Node.js va NPM -ni o'rnating
Node.js va NPM -ni o'rnating

Keyin biz kerak bo'lgan bog'liqliklarni o'rnatish uchun Raspberry Pi buyruq qatorini yuklamoqchisiz.

Siz buni VNC orqali ulanish va buyruq satriga o'xshash tepadagi tugmani bosish orqali qilishingiz mumkin; yoki siz to'g'ridan -to'g'ri Mac/shaxsiy kompyuteringizdan, avvalgidek Terminal va Putty yordamida ulanishingiz mumkin. Agar siz Raspberry Pi bilan ishlashga unchalik o'rganmagan bo'lsangiz, unda avvalgisini qilish osonroq bo'ladi.

(Maslahat: Siz matnni Mac/shaxsiy kompyuteringizdan nusxa ko'chirishingiz va CONTROL-V tugmachasini bosib VNC orqali Raspberry Pi-ga joylashtirishingiz mumkin, lekin agar siz terminalga joylashtirishni xohlasangiz, CONTROL-SHIFT-V tugmasini bosishingiz kerak)

Birinchi vazifa - quyidagi ikkita buyruqni kiritish orqali dasturiy ta'minotingiz yangilanganligini qayta tekshirish. Yuklab olish va o'rnatish uchun ular biroz vaqt talab qilishi mumkin.

sudo apt-get yangilanishi

sudo apt-get upgrade

Keyin node.js va NPM -ni yuklab olishni va o'rnatishni xohlaysiz (ular nima ekanligi haqida ko'p tashvishlanmang, ular bizning keyingi vazifalarimiz uchun foydali va zarurdir).

sudo apt-get nodejs npm ni o'rnating

U sizdan bir necha marta so'raydi, agar siz diskda bo'sh joy egallashdan mamnun bo'lsangiz - Y tugmasini bosasiz

13 -qadam: SONOS HTTP API -ni o'rnating

SONOS HTTP API -ni o'rnating
SONOS HTTP API -ni o'rnating
SONOS HTTP API -ni o'rnating
SONOS HTTP API -ni o'rnating

Loyihamizning orqa qismining asosi jishi tomonidan yaratilgan node-sonos-http-api to'plamidir. Hammasini bu erda o'qishingiz mumkin:

Biz buni github -dan buyruq satriga quyidagi buyruq bilan yuklaymiz:

git klon

va biz uni quyidagi buyruqlar bilan o'rnatamiz

cd tugun-sonos-http-api

npm o'rnatish -ishlab chiqarish

Keyin biz uni quyidagi buyruq bilan ishga tushirishimiz mumkin:

npm boshlanishi

Bu amalga oshgandan so'ng, biz uning ishlayotganligini tekshirishimiz kerak.

Birinchidan, bizning Raspberry Pi -da Internet -brauzerni oching va https:// localhost: 5005/-ga o'ting. Yaxshi interfeys Sonos logotipi va API qanday ishlashi haqida ba'zi hujjatlar bilan ochilishi kerak.

Keling, bu tarmoqdagi boshqa kompyuter yoki Mac brauzeridan foydalanib, https:// [theIPaddressofyourPi]: 5005/ga o'ting va biz ham xuddi shunday natijaga erisha olamizmi? Biz.. Kerak.

Endi biz aslida tizimni nimadir qilishga majbur qilamiz. Brauzerdan foydalaning va unga o'ting:

192.168.4.102:5005/ Ovqatlanish xonasi/pauza

Siz yuqoridagi IP -manzilni Raspberry Pi va "Ovqatlanish xonasi" manzillarini Sonos zonalaringiz nomlaridan biriga almashtirishingiz kerak. U o'sha xonadagi musiqani o'ynashi yoki to'xtatishi kerak (musiqa yangrayotganiga yoki yo'qligiga qarab). Shubhasiz, buning uchun Sonos navbatida biror narsa bo'lishi kerak.

Kelgusida men yuqoridagi IP -manzil va Ovqatlanish xonasidan ushbu qo'llanmada misol sifatida foydalanmoqchiman. Shubhasiz, siz ularni har safar IP -manzilingiz va mintaqangiz nomi bilan almashtirishingiz kerak.

14 -qadam: Sonos HTTP API -ni doimiy ravishda ishga tushiring

Sonos HTTP API -ni doimiy ishga tushiring
Sonos HTTP API -ni doimiy ishga tushiring

Sonos HTTP API -ni ishga tushirganimiz juda yaxshi, lekin u qulab tushsa nima bo'ladi? Yoki siz kuchni yo'qotasizmi yoki Raspberry Pi -ni qayta ishga tushirishingiz kerakmi?

Siz natijani terminal oynasini yopib, biz sinab ko'rgan narsani qayta urinib ko'rishingiz mumkin. Bu ishlamaydi, chunki HTTP API terminal oynasi bilan birga to'xtadi.

Biz, aslida, bu doimiy ishlashini xohlaymiz va har safar ishga tushirilgandan beri shunday bo'ladi. Biz buni PM2 deb nomlangan ajoyib narsa bilan qilamiz.

Yangi terminal oynasida uni quyidagicha o'rnating va ishga tushiring:

sudo npm o'rnatish -g pm2

pm2 holati

Keling, Sonos HTTP API -ni ishga tushiramiz:

cd tugun-sonos-http-api

pm2 start npm - start pm2 start systemd

Bu oxirgi buyruq biroz o'xshash narsani yaratadi:

sudo env PATH = $ PATH:/usr/bin/usr/local/lib/node_modules/pm2/bin/pm2 ishga tushirish tizimid -u pi --hp/home/pi

Pi yaratgan narsalarni nusxa ko'chiring (yuqoridagi aniq matn emas, sizniki boshqacha bo'lishi mumkin) va uni buyruq qatoriga kiriting. Bu tizimga har safar yuklashda PM2 ni ishga tushirishni buyuradi.

Nihoyat, kiriting:

pm2 saqlang

bu hamma narsani qutqaradi.

Endi bu Raspberry Pi -ni buyruq bilan qayta ishga tushirish orqali ishlaganligini tekshiring

sudo qayta yuklash

Umid qilamanki, Pi qayta ishga tushirilgandan so'ng u PM2 -ni ishga tushiradi va o'z navbatida Sonos HTTP API -ni ishga tushiradi. Siz buni xuddi shu tarmoqdagi brauzer yordamida biz ilgari ishlatgan manzilga o'tib, Sonos logotipi va ko'rsatmalarni ko'rish orqali tekshirishingiz mumkin:

192.168.4.102:5005/

bu men uchun nima, lekin sizniki IP -manzilga bog'liq bo'ladi.

15 -qadam: Spotify -ni o'ynang

Keling, xizmat Spotify -ga kirishini tekshirib ko'raylik.

Brauzerni oching va quyidagi manzilga o'ting (aniq IP manzilingiz va xona nomingiz bilan almashtiriladi):

192.168.4.102:5005/ Ovqatlanish xonasi/spotify/now/spotify/spotify: albom: 2dfTV7CktUEBkZCHiB7VQB

Siz Jon Grantni eshitishingiz kerak. Xursand bo'ling.

16 -qadam: Spotify URI -ni toping

Spotify URI -ni toping
Spotify URI -ni toping

G'alati, bilaman, lekin hamma ham Grantni yoqtirmaydi. Balki siz boshqa narsani tinglamoqchimisiz?

Siz Spotify havolalarini ish stoli, veb yoki mobil ilovalardan olishingiz mumkin, lekin ish stoli - bu eng oson, chunki URI -ni aynan siz xohlagan formatda etkazib beradi, shundan boshlang.

Spotify ish stoli ilovasida siz tinglamoqchi bo'lgan albomga o'ting (balki Beyonce limonadasi?)

Yurak tugmasi yonidagi uchta kichik nuqtani bosing.

Ulanish menyusiga o'ting va Spotify URI -ni nusxalash -ni tanlang

Bu shunga o'xshash narsani nusxa ko'chiradi

spotify: albom: 7dK54iZuOxXFarGhXwEXfF

sizning clipboardingizga, bu Beyonsning Lemondade albomi uchun Spotify URI.

Brauzeringizni qayta yoqing va quyidagi manzilga o'ting (aniqki, IP -manzil va xonani almashtiring va yangi nusxa ko'chirilgan URI -ga joylashtiring):

192.168.4.102:5005/ Ovqatlanish xonasi/spotify/now/[Spotify URI oynash]

Siz tanlagan o'yinni eshitishingiz kerak.

Agar siz veb -ilovadan foydalanishni xohlasangiz, u sizga veb -havolani beradi (pastdagi kabi):

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

Siz buni spotify -ga o'zgartirishingiz kerak: albom: kod formati ishlashi uchun.

17 -qadam: Spotify URI -lari haqida eslatma

Spotify URI-lari va ularning tugun-sonos-http-api bilan o'zaro aloqasi ko'p hollarda intuitivdir.

Siz to'g'ridan -to'g'ri albomlar, treklar va pleylistlarga havola qilishingiz mumkin.

URI albomi quyidagicha ko'rinadi:

spotify: albom: 6agCM9GJcebduMddgFmgsO

URI izi quyidagicha ko'rinadi:

spotify: track: 4fNDKbaeEjk2P4GrRE1UbW

Pleylistlar biroz boshqacha ishlaydi. URI -ni Spotify -dan nusxalashda, u quyidagicha ko'rinadi:

spotify: pleylist: 5huIma0YU4iusLcT2reVEU

Biroq, uni API -da ishlashini ta'minlash uchun yuqoridagi so'zlarning boshiga spotify: user: qo'shish kerak. Bu hatto ommaviy pleylistlarga ham tegishli va ha, demak siz spotify -ni ikki marta aytasiz.

Aniq bo'lish uchun, foydalanuvchi ma'lum bir foydalanuvchi ismi bo'lishi shart emas, faqat matnli foydalanuvchi. Shunday qilib, yuqoridagi pleylistni ishga tushirish uchun to'g'ri URI quyidagicha bo'ladi:

spotify: foydalanuvchi: spotify: pleylist: 5huIma0YU4iusLcT2reVEU

18 -qadam: HTTP so'rovlarini yuborish uchun Raspberry Pi -ni o'rnating

HTTP so'rovlarini yuborish uchun Raspberry Pi -ni o'rnating
HTTP so'rovlarini yuborish uchun Raspberry Pi -ni o'rnating

Veb -brauzerga HTTP so'rovlarini qo'lda yozishning o'rniga, biz uni avtomatlashtirishni xohlaymiz, shunda Raspberry Pi ma'lum stimul bilan (NFC o'quvchi ishga tushirilganda) o'zini o'zi bajaradi.

Biz Raspberry Pi -ga ruxsat berish uchun so'rovlar deb nomlangan kutubxonadan foydalanamiz. O'rnatilganligini tekshirib ko'ramiz.

Pi -dagi terminalni oching va quyidagilarni yozing:

sudo pip o'rnatish so'rovlari

Ehtimol, u qaytib keladi va u allaqachon o'rnatilganligini aytadi, bu holda ajoyib. Agar yo'q bo'lsa, uni o'rnatadi.

19 -qadam: Spotify ma'lumotlari yordamida NFCC teglarini yarating

Spotify ma'lumotlari yordamida NFCC teglarini yarating
Spotify ma'lumotlari yordamida NFCC teglarini yarating
Spotify ma'lumotlari yordamida NFCC teglarini yarating
Spotify ma'lumotlari yordamida NFCC teglarini yarating
Spotify ma'lumotlari yordamida NFCC teglarini yarating
Spotify ma'lumotlari yordamida NFCC teglarini yarating
Spotify ma'lumotlari yordamida NFCC teglarini yarating
Spotify ma'lumotlari yordamida NFCC teglarini yarating

Endi biz Spotify URI albomini NFC yorlig'iga yozmoqchimiz. Ushbu teglarning har biri Raspberry Pi -ga ma'lum bir albomni ijro etishni aytishda ishlatiladi.

Siz Android telefon yordamida NFC yorlig'iga yozishingiz mumkin, lekin men buni Mac yoki kompyuter orqali yozishni oson deb bilaman, chunki Spotify URI -ni Spotify ish stoli ilovasidan olishning eng oson yo'li.

USB NFC o'quvchisini kompyuter yoki Mac -ga ulang. Men American Card Systems tomonidan ACR122U dan foydalanmoqdaman.

NFC asboblarini kompyuteringizga yoki Mac -ga yuklab oling. Uni o'rnating va oching.

Ba'zida o'quvchi bilan bog'lanish biroz sekin bo'lishi mumkin va u o'quvchini umuman topa olmasligini aytishi mumkin. NFC asboblaridagi Boshqa yorlig'iga o'ting va Ulangan NFC Reader tugmachasini tez -tez bosing. O'quvchi topilmaguncha uni bir necha marta elektr tarmog'idan uzib, qayta ulashingiz kerak bo'lishi mumkin.

Oxir -oqibat, bu sizga o'quvchini ro'yxatidan tanlash va u ulangan deb aytish imkoniyatini beradi. "NFC tegini kutish" dan boshqa hech narsa ko'rsatmaydigan Ma'lumotlar yorlig'iga o'ting.

Bo'sh NFC yorlig'ini oling. Uni o'quvchiga qo'ying va u erda qoldiring. NFC vositalari yorliq haqidagi ma'lumotlarni ko'rsatadi.

Yozish yorlig'iga o'ting va Yozuv qo'shish> Matn -ni bosing. (URL yoki URI ni tanlashdan ehtiyot bo'ling - men bilaman, bu jozibali, chunki siz URI nusxasini ko'chirasiz, lekin siz matnni xohlaysiz)

Biz ilgari ishlatgan usuldan foydalanib, Spotify -dan URI -ni oling. Agar siz oson misolni xohlasangiz, quyida bizning oldingi Jon Grant albomi keltirilgan.

spotify: albom: 2dfTV7CktUEBkZCHiB7VQB

OK ni bosing va keyin "Yozish" ni bosing (oxirgi qadamni unutmang - bu tugmani bosmaguningizcha uni yozmaydi). Bu sizga teg muvaffaqiyatli yozilganligini aytadi.

O'quvchidan belgini olib tashlang

20 -qadam: Raspberry Pi -da NFC o'quvchisini o'rnating

Raspberry Pi -da NFC o'quvchisini o'rnating
Raspberry Pi -da NFC o'quvchisini o'rnating

NFC o'quvchisini Raspberry Pi -dagi USB portlaridan biriga ulang.

NFC o'quvchi bilan bog'lanish uchun nfcpy Python kutubxonasidan foydalanamiz. Pi buyruq satriga quyidagilarni yozib o'rnating:

pip o'rnatish -U nfcpy

Keyin biz ushbu kutubxona NFC o'quvchisini ko'rishi mumkinmi yoki yo'qligini quyidagilarni yozib tekshirishimiz mumkin:

python -m nfc

Agar u ishlagan bo'lsa, siz quyidagilarni ko'rasiz:

Bu Linux-4.19.97-v7+-armv7l-debian-10.3 da Python 2.7.16 da ishlaydigan nfcpy-ning 1.0.3 versiyasi.

Men hozir sizning tizimingizda kontaktsiz qurilmalarni qidiryapman ** usb: 001: 011 da ACS ACR122U PN532v1.6 topildi, men aytmaganingiz uchun ketma-ket qurilmalarni sinab ko'rmayapman-"-search-tty" variantini qo'shing Meni qidirish - lekin ehtiyot bo'ling, bu boshqa ketma -ket ishlab chiqaruvchilarni buzishi mumkin

Biroq, o'quvchi topildi, lekin sizning foydalanuvchi (pi) unga kirishga ruxsat yo'q, degan xato xabarni olishning yaxshi imkoniyati bor. Agar siz ushbu xato xabarini olgan bo'lsangiz, u muammoni qanday hal qilishni ham tushuntiradi, masalan, quyidagi kabi ko'rinadigan ikkita buyruqni kiritish orqali:

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

sudo udevadm boshqaruv -R

Siz bergan ikkala buyruqni ham nusxa ko'chiring va bajaring (yuqorida aytilganidek emas, chunki sizniki boshqacha bo'lishi mumkin), so'ng NFC o'quvchini USB portidan uzing va qayta ulang.

Tekshirish buyrug'ini qayta urinib ko'ring:

python -m nfc

Bu safar xato xabarlarsiz topilganligini aytish kerak.

21 -qadam: Vinylemulator Python skriptlarini o'rnating

Endi bizda barcha qurilish bloklari mavjud:

  • Bizning Raspberry Pi NFC kiritishini tinglay oladi
  • Bizning Raspberry Pi, Sonosga Spotify URI berilganda, Spotify pleylistlarini ijro etishini aytishi mumkin
  • Bizda Spotify URI saqlangan NFC yorlig'i bor

Endi biz bu qurilish bloklarini foydali narsaga tortishimiz kerak. Bu men yozgan qisqa python skript orqali amalga oshiriladi (oldingi NFC/Spotify/Sonos loyihalarining katta yordami bilan) vinylemulator.

Siz fayllar uchun manba kodini github -da ko'rishingiz mumkin:

Buni Raspberry Pi -ga o'rnatish uchun biz uni github -dan quyidagi buyruq bilan klonlashimiz kerak:

git klon

22 -qadam: Vinylemulatorni sozlash

Vinylemulatorni sozlash
Vinylemulatorni sozlash
Vinylemulatorni sozlash
Vinylemulatorni sozlash

Raspberry Pi fayl menejerini oching va uy> pi> vinylemulator -ga o'ting

Usersettings.py faylini oching

Bu fayldagi satrlardan biri shunday bo'ladi:

sonosroom = "Ovqatlanish xonasi"

"Ovqatlanish xonasi" ni Sonos xonasining qaysi nomini boshqarishni xohlasangiz o'zgartiring.

Bu faylda sonos-http-api IP-manzilini sozlash imkonini beruvchi sozlama ham mavjud. Siz buni "localhost" sifatida o'zgarishsiz qoldirishingiz kerak, ya'ni u ishlaydigan Raspberry Pi -ni ishlatadi.

Faylni saqlang va yoping.

23 -qadam: Vinilemulyatorni sinovdan o'tkazing

Sinov vinilemulyatori
Sinov vinilemulyatori
Sinov vinilemulyatori
Sinov vinilemulyatori

Raspberry Pi buyruq satriga o'ting.

Quyidagi buyruqni kiriting:

python vinylemulator/readnfc.py

Agar hamma narsa yaxshi bo'lsa, bu skriptni yuklaydi va o'quvchi tayyorligini aytadi. O'quvchining chirog'i yashil rangda yonishi kerak.

NFC tegini o'quvchiga qo'ying, u signal beradi.

Terminal NFC tegidan o'qiganlarini ko'rsatadi va u yuborgan HTTP so'rov manzilini ko'rsatadi. Siz tanlagan albom Sonos dinamiklaridan o'ynashi kerak.

Bu skript terminal oynasini yopmaguningizcha ishlashda davom etadi. Siz har xil albom NFC teglarini bosishingiz mumkin va u o'sha albomga o'tadi.

24 -qadam: Vinylemulatorni doimiy va ishga tushirishda ishga tushiring

Xuddi sonos-http-api singari, biz ham vinilemulyator biz chaqirgandan ko'ra hamma vaqt ishlashini xohlaymiz. Buni qayta bajarish uchun pm2 dan foydalanishimiz mumkin.

Birinchidan, terminal oynalarini yopib, ishlayotgan vinilemulyatorning barcha misollarini yoping.

Keyin yangi terminal oynasini oching va quyidagi ikkita buyruqni kiriting:

pm2 vinylemulator/readnfc.py -ni ishga tushiring

pm2 saqlang

Keling, bu Raspberry Pi -ni qayta ishga tushirish bilan ishlaganligini tekshirib ko'ramiz. (Siz sudo reboot -ni yozishingiz yoki sichqoncha yordamida Raspberry menyusidan qilishingiz mumkin.

Pi qayta ishga tushishini kuting va u o'quvchiga NFC tegini bosish orqali ishlayotganini ko'ring. Siz musiqa olishingiz kerak.

25 -qadam: O'zingizni tabriklang

Hozir hamma narsa funksional. Siz Raspberry Pi -ni joylashtirmoqchi bo'lgan joyga ko'chirishingiz mumkin. U qayta ulanadi va siz uni rozetkaga o'rnatganingizda ishlaydi.

Sizning keyingi vazifalaringiz qiziqarli: bularning barchasini chiroyli qilish.

26 -qadam: Chiroyli qiling - O'quvchingizni yashiring

Chiroyli qiling - O'quvchingizni yashiring
Chiroyli qiling - O'quvchingizni yashiring
Chiroyli qiling - O'quvchingizni yashiring
Chiroyli qiling - O'quvchingizni yashiring
Chiroyli qiling - O'quvchingizni yashiring
Chiroyli qiling - O'quvchingizni yashiring
Chiroyli qiling - O'quvchingizni yashiring
Chiroyli qiling - O'quvchingizni yashiring

Chiroyli qilishning birinchi qismi - bu yoqimsiz oq plastmassa NFC o'quvchini biron joyga yashirish.

Men Sonos Play -ning yonidagi peshtaxtaning pastki qismiga yopishtirishning past texnologik variantini tanladim: 5. Hisoblagich yog'ochlari NFC o'tishi mumkin bo'lgan darajada ingichka, shuning uchun men sehrli va ko'rinmas joyga NFC tegini bosib musiqa ijro etaman.

Tavsiya: