Mundarija:
- 1 -qadam: Zarur materiallar 1: Raspberry Pi
- 2 -qadam: Kerakli materiallar 2: NFC o'quvchi
- 3 -qadam: Kerakli materiallar 3: NFC teglari
- 4 -qadam: Raspberry Pi OS -ni SD -kartaga yuklab oling
- 5 -qadam: Raspberry Pi OS rasmingizda SSH -ni yoqing
- 6 -qadam: Majburiy emas: Raspberry Pi -ga Wi -Fi -ni o'rnating
- 7 -qadam: Raspberry Pi -ni yoqing
- 8 -qadam: Raspberry Pi -ning IP -manzilini toping
- 9 -qadam: Raspberry Pi buyruq qatoriga ulaning
- 10 -qadam: Raspberry Pi OS GUI -ni o'rnating
- 11 -qadam: Raspberry Pi GUI -ga ulaning va sozlang
- 12 -qadam: Node.js va NPM -ni o'rnating
- 13 -qadam: SONOS HTTP API -ni o'rnating
- 14 -qadam: Sonos HTTP API -ni doimiy ravishda ishga tushiring
- 15 -qadam: Spotify -ni o'ynang
- 16 -qadam: Spotify URI -ni toping
- 17 -qadam: Spotify URI -lari haqida eslatma
- 18 -qadam: HTTP so'rovlarini yuborish uchun Raspberry Pi -ni o'rnating
- 19 -qadam: Spotify ma'lumotlari yordamida NFCC teglarini yarating
- 20 -qadam: Raspberry Pi -da NFC o'quvchisini o'rnating
- 21 -qadam: Vinylemulator Python skriptlarini o'rnating
- 22 -qadam: Vinylemulatorni sozlash
- 23 -qadam: Vinilemulyatorni sinovdan o'tkazing
- 24 -qadam: Vinylemulatorni doimiy va ishga tushirishda ishga tushiring
- 25 -qadam: O'zingizni tabriklang
- 26 -qadam: Chiroyli qiling - O'quvchingizni yashiring
Video: Sonos Spotify vinil emulyatori: 26 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
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
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
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:
22 -qadam: 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
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 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:
Retro CP/M yolg'iz emulyatori: 8 qadam
Retro CP/M yolg'iz emulyatori: Ushbu loyiha kombinatsiyani ishga tushirish uchun VGA32 ESP v1.4 modulidan yoki CP/M 2.2 ga teng tizimli mustaqil kompyuter bilan ta'minlash uchun RunCPM va FabGL -dan foydalanadi. 1980 -yillarda kichik kompyuterlar uchun operatsion tizim sifatida mashhur bo'lgan. Siz yana kirishingiz mumkin
Raspberry Pi o'yin emulyatori bo'yicha ko'rsatmalar: 7 qadam
Raspberry Pi Gaming Emulator ko'rsatmalari: Hamma o'ynashni yaxshi ko'radi. Hatto biz jiddiy ish qilsak ham. Bu tabiiy, chunki hamma dam olishga, bo'sh vaqtga yoki bo'sh vaqtga loyiqdir. Va, albatta, biz o'zimiz yoqtirgan o'yinni o'ynashdan bosh tortishimiz qiyin. Men yozgan vaqtni eslayman
Arduino Uno bilan HP-35 ilmiy kalkulyator emulyatori: 4 qadam
Arduino Uno bilan HP-35 ilmiy kalkulyator emulyatori: Ushbu loyihaning maqsadi TFTLCD va sensorli ekranli Arduino Uno-da https://www.hpmuseum.org/simulate/hp35sim/hp35sim…. simulyatorini ishga tushirish. Asl HP-35 ilmiy kalkulyatori saqlangan asl kodni taqlid qiladi
KIM Uno - 5 evrolik mikroprotsessorli Dev Kit emulyatori: 13 qadam (rasmlar bilan)
KIM Uno - 5 evrolik mikroprotsessorli qurilma to'plami emulyatori: KIM Uno - bu ko'chma, dasturiy ta'minot (retro) mikroprotsessorlar uchun ishlab chiqilgan asboblar to'plami. Ammo men bu fikrni o'z vaqtida ortga qaytarish bilan tanishtiray: 2018 yil oxirida men miyamga ko'chma mikroprotsessorli kichik asboblar to'plamini yaratmoqchi edim, xolos
Raspberry Pi 3: Retro arkada emulyatori: 7 qadam
Raspberry Pi 3: Retro arkada emulyatori: Mening motivatsiyam hozirgi dunyoda texnologik savodxonlikning yo'qligi. Kompyuterlar va kichik qurilmalar ko'p bo'lsa ham, odamlar kundalik foydalanadigan narsalarning asosiy funktsiyalari haqida hali ham bexabar. Menimcha, bu