فهرست مطالب:

شبیه ساز وینیل Sonos Spotify: 26 مرحله
شبیه ساز وینیل Sonos Spotify: 26 مرحله

تصویری: شبیه ساز وینیل Sonos Spotify: 26 مرحله

تصویری: شبیه ساز وینیل Sonos Spotify: 26 مرحله
تصویری: MaD Tv | Eva Cassidy - Somewhere Over The rainbow (#reaction ) 2024, جولای
Anonim
Image
Image
شبیه ساز وینیل Sonos Spotify
شبیه ساز وینیل Sonos Spotify

لطفاً توجه داشته باشید که این آخرین مجموعه دستورالعمل های این پروژه نیست:

لطفاً برای آخرین مجموعه دستورالعمل ها و پشتیبانی به https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d مراجعه کنید

گوش دادن به موسیقی در وینیل بسیار عالی است. این فیزیکی و لمسی است. شما به آلبوم کامل گوش می دهید تا آهنگ های تصادفی. وقتی تمام می شود متوجه می شوید و آگاهانه چیز دیگری را انتخاب می کنید. شما می توانید مجموعه ای بسازید و در آن مرور کنید تا مجبور نباشید دقیقاً آنچه را که می خواهید جستجو کنید.

این نیز گران و حجیم است ، به ویژه وقتی در نظر بگیرید که هر پولی که برای وینیل خرج می کنید به احتمال زیاد یک نسخه موسیقی تکراری است که قبلاً از طریق یک سرویس جریانی که مشترک آن هستید دسترسی دارید.

این پروژه تلاش می کند تا در عین تکیه بر Spotify برای ارائه موسیقی ، وجوه لمس و جمع آوری وینیل را تکرار کند. قرار دادن یک شی فیزیکی بر روی یک خواننده NFC متصل به رزبری پای (که هر دو را می توان مخفی کرد) پخش آلبوم مربوط به آن برچسب را آغاز می کند.

من تمام مراحل را از طریق راه اندازی رزبری پای تا رمزگذاری برچسب های NFC دنبال می کنم. این اولین پروژه Raspberry Pi من و اولین کد پایتون من است ، بنابراین در حین توسعه این برنامه هر دو را آموزش دادم. به این ترتیب ، این دستورالعمل به معنای واقعی کلمه صفر دانش قبلی است و در هر مرحله با شما صحبت می کند.

هزینه کل اجزای اصلی برای ساخت این دستگاه تقریباً 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 گیگابایتی دریافت کردم که برای این برنامه بسیار زیاد است ، در آمازون (6 پوند)

برخی از تجهیزات Sonos در شبکه شما اجرا می شود (حدس می زنم اگر اینجا هستید این دستگاه را دارید)

یک حساب Spotify Premium

توصیه شده:

موردی برای Pi: گزینه های زیادی وجود دارد که از 5 پوند شروع می شود

یک بطری کالیفرنیا Zinfandel: من ریج را توصیه می کنم ، اما بقیه در دسترس هستند

مرحله 2: لوازم مورد نیاز 2: NFC Reader

لوازم مورد نیاز 2: NFC Reader
لوازم مورد نیاز 2: NFC Reader
لوازم مورد نیاز 2: NFC Reader
لوازم مورد نیاز 2: NFC Reader

این دستورالعمل ها برای یک خواننده NFC ACR122U ساخته شده است که از طریق USB متصل می شود.

ACR122U

من این را از آمازون به قیمت 38 پوند خریدم (بیشتر به این دلیل که تحویل اولیه داشت) اما گزینه های ارزان تری برای خرید همین خواننده وجود دارد.

به طرز گیج کننده ای به نظر می رسد ACR122U با مجموعه ای از نام های تجاری مختلف (نام تجاری من با نام تجاری بسیار مطمئن "Yosoo") به فروش می رسد اما از آنچه می توانم بگویم همه آنها یکسان هستند و توسط American Card Systems ساخته شده اند.

ارزان ترین دستگاه ACR122U که من تبلیغ کردم 21 پوند است که شامل حمل و نقل می شود ، اما مستقیم از چین می آید ، بنابراین ممکن است لازم باشد کمی منتظر بمانید.

گزینه های دیگر

این پروژه بر کتابخانه پایتون به نام nfcpy متکی است که لیستی از دستگاه های پشتیبانی شده را در اینجا ذخیره می کند:

از لحاظ تئوری این پروژه باید با هر یک از کسانی که در آن لیست هستند با یکپارچگی کمی کار کند.

یکی از گزینه های وسوسه انگیز Adafruit PN532 است که تخته ای است که باید مستقیماً با استفاده از کابل های بلوز به رزبری پای شما متصل شود. من آن را امتحان کردم و متوجه شدم که یک اشتباه واقعی است. برای مثال به لحیم کاری نیاز دارد.

از نظر ظاهری ، کوچکتر بودن آن ، اما در واقع اندازه برد همان اندازه روده ACR122U است. اگر واقعاً برای برنامه کاربردی خود فضا را تحت فشار قرار داده اید ، می توانید پلاستیک را از ACR122U جدا کرده و فقط از برد استفاده کنید.

مرحله 3: لوازم مورد نیاز 3: برچسب های NFC

لوازم مورد نیاز 3: برچسب های NFC
لوازم مورد نیاز 3: برچسب های NFC

برای هر آلبومی که می خواهید ایجاد کنید ، به یک برچسب NFC نیاز دارید که مطابق با استاندارد NTAG213 باشد.

مکانهای زیادی برای خرید اینها وجود دارد.

من اولین دسته خود را از آمازون خریدم ، جایی که یک بسته 10 تایی به قیمت 9 پوند دریافت کردم (شامل تحویل اولیه)

بهترین چیزی که من در بریتانیا پیدا کرده ام Seritag است - آنها دارای طیف گسترده ای از سبک های مختلف هستند ، توصیه های خوبی در وب سایت آنها وجود دارد ، شما دقیقاً می دانید چه چیزی دریافت می کنید (همیشه در آمازون صادق نیست). آنها حداقل اندازه سفارش و تعداد زیادی گزینه ندارند. برچسب ها از 27p برای هر برچسب شروع می شوند

مرحله 4: Raspberry Pi OS را روی کارت SD بارگیری کنید

Raspberry Pi OS را روی کارت SD بارگیری کنید
Raspberry Pi OS را روی کارت SD بارگیری کنید
Raspberry Pi OS را روی کارت SD بارگیری کنید
Raspberry Pi OS را روی کارت SD بارگیری کنید

در رایانه شخصی یا Mac ، برنامه تصویربرداری Raspberry PI را بارگیری و اجرا کنید.

کارت SD را که می خواهید سیستم عامل Raspberry Pi را روی آن نصب کنید قرار دهید.

روی CHOOSE OS کلیک کنید و Rasbian پیش فرض را انتخاب کنید.

روی CHOOSE SD CARD کلیک کنید و کارت SD را که وصل کرده اید انتخاب کنید.

روی WRITE کلیک کنید. این ممکن است مدتی طول بکشد.

پس از اتمام کار ، به شما می گوید کارت SD را حذف کنید ، که باید این کار را انجام دهید. اما سپس آن را دوباره وصل کنید زیرا ابتدا باید چند نکته را در خانه داری انجام دهید.

مرحله 5: SSH را روی تصویر سیستم عامل رزبری پای خود فعال کنید

SSH را در تصویر OS Raspberry Pi خود فعال کنید
SSH را در تصویر OS Raspberry Pi خود فعال کنید

پس از نوشتن سیستم عامل روی کارت SD ، چند کار اضافی نیز باید انجام دهید.

ما می خواهیم بدون اتصال صفحه کلید یا مانیتور (به نام "بدون سر") به Raspberry Pi دسترسی داشته باشیم ، که می توانیم از طریق شبکه محلی خود با استفاده از رایانه شخصی یا Mac خود از طریق پروتکلی به نام SSH استفاده کنیم. با این حال ، به دلایل امنیتی SSH به طور پیش فرض غیرفعال است. ما باید آن را فعال کنیم.

ما می توانیم این کار را با ایجاد یک فایل خالی به نام:

ssh

در کارت SD ای که به تازگی ایجاد کرده ایم. مهم است که این برنامه هیچ نوع پسوندی نداشته باشد (به عنوان مثال.txt). خود فایل نیازی به محتوا ندارد - فقط وجود آن SSH را هنگام بوت شدن فعال می کند.

مرحله 6: اختیاری: Wifi را روی Raspberry Pi خود تنظیم کنید

اختیاری: Wifi را روی Raspberry Pi خود تنظیم کنید
اختیاری: Wifi را روی Raspberry Pi خود تنظیم کنید
اختیاری: Wifi را روی Raspberry Pi خود تنظیم کنید
اختیاری: Wifi را روی Raspberry Pi خود تنظیم کنید

اگر قصد دارید رزبری پای خود را با استفاده از اترنت به روتر خود متصل کنید ، می توانید این مرحله را رد کنید. (اگرچه ممکن است بخواهید در مورد آن تصمیم سخت فکر کنید - اجرای آن روی وای فای زندگی را از نظر موقعیت یابی بسیار ساده تر می کند)

یک فایل متنی ساده به نام wpa_supplicant.conf در فهرست اصلی کارت SD ایجاد کنید.

متن زیر را در فایل وارد کنید:

کشور = gb

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

کشور را به طور مناسب تغییر دهید (GB انگلستان ، ایالات متحده آمریکا ، DE آلمان است و غیره)

اعتبار wifi را در آنجا تغییر دهید تا جزئیات واقعی روتر wifi شما باشد.

فایل را ذخیره کنید.

کارت SD را با خیال راحت خارج کنید.

مرحله 7: رزبری پای خود را تقویت کنید

تمشک پای خود را تقویت کنید
تمشک پای خود را تقویت کنید

کارت SD را که تازه ایجاد کرده اید در رزبری پای خود قرار دهید.

رزبری پای خود را از طریق کابل USB به برق وصل کنید. یک دقیقه صبر کنید تا بوت شود.

مرحله 8: آدرس IP رزبری پای خود را پیدا کنید

اکنون باید آدرس IP رزبری پای را پیدا کنید تا بتوانید به آن متصل شوید. شما می توانید این کار را به دو صورت انجام دهید:

  • از طریق صفحه راه اندازی روتر خود - اگر یک روتر مدرن مانند eero دارید ، این بسیار آسان است.
  • یا از طریق یک برنامه تلفن هوشمند موجود برای iOS و Android به نام "fing" - آن را بارگیری کنید ، به روتر خود متصل شوید و دستگاهها را اسکن کنید - یکی از آنها باید "Raspberry" نامیده شود - این آدرس IP مورد نیاز شما خواهد بود.

مرحله 9: به خط فرمان Raspberry Pi خود متصل شوید

به خط فرمان Raspberry Pi خود متصل شوید
به خط فرمان Raspberry Pi خود متصل شوید

Terminal را در مک خود باز کنید (یا اگر از Windows استفاده می کنید ، سپس Putty را بارگیری و استفاده کنید).

دستور زیر را وارد کنید:

ssh pi@[آدرس IP Pi شما]

هشدارهای امنیتی را که دریافت می کنید بپذیرید. از شما رمز عبور برای کاربر پیش فرض pi خواسته می شود

تمشک

مرحله 10: رابط کاربری Raspberry Pi OS را تنظیم کنید

رابط کاربری Raspberry Pi OS را تنظیم کنید
رابط کاربری Raspberry Pi OS را تنظیم کنید
رابط کاربری Raspberry Pi OS را تنظیم کنید
رابط کاربری Raspberry Pi OS را تنظیم کنید

شما اکنون از طریق خط فرمان به Pi خود متصل شده اید ، که بسیار عالی است اما می خواهید آن را تنظیم کنید تا بتوانید به رابط کاربری گرافیکی که ما از طریق VNC (محاسبات شبکه مجازی) به آن دسترسی خواهیم داشت ، دسترسی پیدا کنید. به طور قابل پیش بینی ، ما همچنین باید این را فعال کنیم.

اول از همه ، با وارد کردن دو دستور زیر (هر کدام به دنبال enter) در خط فرمان ، بررسی کنید که نرم افزار Pi شما به روز است یا خیر:

به روز رسانی sudo apt

sudo apt نصب realvnc-vnc-server realvnc-vnc-viewer

سپس ، منوی تنظیمات Raspberry Pi را با وارد کردن موارد زیر باز کنید:

sudo raspi-config

به گزینه Interfacing Options> VNC> Yes بروید.

با فشردن کلید فرار از برنامه پیکربندی خارج شده و Pi را از خط فرمان راه اندازی مجدد کنید:

راه اندازی مجدد sudo

مرحله 11: به GUI رزبری پای خود متصل شوید و راه اندازی کنید

به GUI رزبری پای خود متصل شوید و راه اندازی کنید
به GUI رزبری پای خود متصل شوید و راه اندازی کنید
به GUI رزبری پای خود متصل شوید و راه اندازی کنید
به GUI رزبری پای خود متصل شوید و راه اندازی کنید

VNC Viewer را بارگیری و باز کنید.

آدرس IP رزبری پای خود را وارد کرده و اتصال را فشار دهید. نام کاربری و رمز عبور را از شما درخواست می کند که عبارتند از:

نام کاربری = pi

رمز عبور = تمشک

این باید شما را تا GUI بوت کند.

از شما می خواهد که جغرافیا و طرح صفحه کلید خود را تأیید کنید.

سپس از شما می خواهد گذرواژه خود را تغییر دهید (ایده خوبی است).

از شما می خواهد که جزئیات wifi خود را تنظیم کنید ، اما می توانید این مورد را رد کنید زیرا آنها قبلاً کار می کنند. (اگرچه در حال کار بر روی اترنت هستید و در فکر دوم هستید ، اکنون این شانس شماست … اما توجه داشته باشید که آدرس IP شما ممکن است تغییر کند)

سپس بروزرسانی ها را بارگیری ، نصب و نصب می کند (ممکن است مدتی طول بکشد).

هنگامی که با جادوگر راه اندازی آشنا شدید ، توصیه می کنم وضوح صفحه را تغییر دهید زیرا پیش فرض بسیار کوچک است. می توانید این کار را با کلیک روی تمشک در بالا سمت چپ> تنظیمات برگزیده> پیکربندی رزبری پای> نمایش> تنظیم وضوح انجام دهید

برای اینکه بتوانید این کار را انجام دهید ، باید Pi را دوباره راه اندازی مجدد کنید.

مرحله 12: Node.js و NPM را نصب کنید

Node.js و NPM را نصب کنید
Node.js و NPM را نصب کنید

در مرحله بعد می خواهید خط فرمان Raspberry Pi را بارگذاری کنید تا وابستگی های مورد نیاز را نصب کنید.

شما می توانید این کار را با اتصال از طریق VNC و کلیک روی دکمه نزدیک به بالا که شبیه خط فرمان است انجام دهید. یا می توانید مستقیماً از Mac/PC خود با استفاده از ترمینال و Putty وصل شوید. اگر کمتر به کار با رزبری پای عادت دارید ، انجام کار قبلی راحت تر است.

(نکته: می توانید متن را از Mac/PC خود کپی کرده و با فشار دادن CONTROL-V از طریق VNC به Raspberry Pi بچسبانید ، اما اگر می خواهید در ترمینال جایگذاری کنید ، باید CONTROL-SHIFT-V را فشار دهید)

اولین کار این است که با تایپ دو دستور زیر ، دوباره نرم افزار خود را به روز کنید. بارگیری و نصب آنها ممکن است کمی طول بکشد.

sudo apt-get update

sudo apt-get upgrade

در مرحله بعد می خواهید 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 را نصب کنید

اساس پروژه اصلی ما بسته node-sonos-http-api است که توسط jishi ایجاد شده است. می توانید همه چیز را در اینجا بخوانید:

ما این دستور را با دستور زیر وارد خط فرمان از github بارگیری می کنیم:

git clone

و با دستورات زیر آن را نصب می کنیم

cd node-sonos-http-api

npm install --production

سپس می توانیم آن را با دستور زیر اجرا کنیم:

شروع npm

پس از انجام این کار ، باید آزمایش کنیم که کار می کند.

اول از همه ، مرورگر اینترنت را در Raspberry Pi ما باز کنید و به https:// localhost: 5005/بروید. یک رابط کاربری زیبا باید با لوگوی Sonos و برخی مستندات در مورد نحوه عملکرد API باز شود.

در مرحله بعد ، بیایید بررسی کنیم که این کار با استفاده از مرورگر در رایانه شخصی یا Mac دیگر در همان شبکه و حرکت به https:// [theIPaddressofyourPi]: 5005/از شبکه وسیع تر کار می کند و ببینیم آیا به همان نتیجه می رسیم. ما باید.

اکنون ما در واقع سیستم را وادار به انجام کاری می کنیم. از مرورگر استفاده کنید و به مسیر زیر بروید:

192.168.4.102:5005/ اتاق ناهارخوری/playpause

شما باید آدرس IP فوق را با آدرس رزبری پای خود و "Dining Room" را با یکی از نامهای Sonos zones خود جایگزین کنید. باید موسیقی را در آن اتاق پخش یا متوقف کند (بسته به اینکه موسیقی در حال پخش است یا نه). بدیهی است برای کارکردن باید چیزی در صف Sonos قرار گیرد.

در ادامه ، من از آدرس IP بالا و اتاق ناهار خوری به عنوان مثال در سراسر این آموزش استفاده می کنم. بدیهی است که شما باید آدرس IP و نام منطقه خود را در هر مناسبت جایگزین کنید.

مرحله 14: برنامه Sonos HTTP API را به طور مداوم اجرا کنید

برنامه Sonos HTTP API را به طور مداوم اجرا کنید
برنامه Sonos HTTP API را به طور مداوم اجرا کنید

بسیار عالی است که ما Sonos HTTP API را اجرا کرده ایم ، اما اگر خراب شود چه؟ یا قدرت خود را از دست داده اید یا نیاز به راه اندازی مجدد رزبری پای دارید؟

شما می توانید با بستن پنجره ترمینال و تلاش مجدد آنچه که ما سعی کردیم ، تأثیر آن را مشاهده کنید. این کار نمی کند زیرا HTTP API به همراه پنجره ترمینال متوقف شده است.

ما در واقع می خواهیم این برنامه به طور مداوم اجرا شود و هر بار از راه اندازی این کار را انجام دهیم. ما این کار را با یک کار جالب به نام PM2 انجام می دهیم.

در پنجره ترمینال تازه ، آن را به شرح زیر نصب و اجرا کنید:

sudo npm install -g pm2

وضعیت pm2

حالا اجازه دهید Sonos HTTP API خود را اجرا کند:

cd node-sonos-http-api

شروع pm2 npm - شروع راه اندازی pm2 systemd

این آخرین دستور چیزی را ایجاد می کند که کمی شبیه است:

sudo env PATH = $ PATH:/usr/bin/usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -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/ اتاق ناهارخوری/spotify/now/spotify/spotify: آلبوم: 2dfTV7CktUEBkZCHiB7VQB

باید کمی جان گرانت بشنوید. لذت بردن.

مرحله 16: URI های Spotify را پیدا کنید

URI های Spotify را پیدا کنید
URI های Spotify را پیدا کنید

عجیب است ، می دانم ، اما همه جان گرانت را دوست ندارند. شاید می خواهید به چیز دیگری گوش دهید؟

می توانید پیوندهای Spotify را از دسکتاپ ، وب یا برنامه های تلفن همراه دریافت کنید ، اما Desktop بسیار ساده ترین است زیرا URI را دقیقاً در قالب مورد نظر شما ارائه می دهد ، بنابراین با آن شروع کنید.

در برنامه رومیزی Spotify به آلبومی که می خواهید گوش دهید بروید (شاید Lemonade توسط بیانسه؟)

روی سه نقطه کوچک کنار دکمه قلب کلیک کنید.

برای اشتراک گذاری به منو رفته و Copy Spotify URI را انتخاب کنید

این چیزی شبیه به آن را کپی می کند

spotify: آلبوم: 7dK54iZuOxXFarGhXwEXfF

به کلیپ بورد شما ، که Spotify URI برای آلبوم Beyonce's Lemondade است.

مرورگر خود را دوباره روشن کنید و به آدرس زیر بروید (بدیهی است که آدرس IP و اتاق را جایگزین کرده و در URI که کپی کرده اید جایگذاری کنید):

192.168.4.102:5005/ اتاق ناهارخوری/spotify/اکنون/[URI Spotify که می خواهید بازی کنید]

شما باید بازی انتخابی خود را بشنوید.

اگر ترجیح می دهید از برنامه وب استفاده کنید ، پیوند وب (چیزی مانند تصویر زیر) به شما می دهد:

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

شما باید این را به spotify: album: فرمت کد بالا برای کارکردن تبدیل کنید.

مرحله 17: نکته ای در مورد URI های Spotify

URI های Spotify و نحوه ارتباط آنها با node-sonos-http-api در بیشتر موارد بصری هستند.

می توانید مستقیماً به آلبوم ها ، آهنگ ها و لیست های پخش پیوند دهید.

URI آلبوم به این شکل است:

spotify: آلبوم: 6agCM9GJcebduMddgFmgsO

URI آهنگ به نظر می رسد:

spotify: track: 4fNDKbaeEjk2P4GrRE1UbW

لیست پخش کمی متفاوت عمل می کند. وقتی URI را از Spotify کپی می کنید چیزی شبیه به این خواهد بود:

spotify: لیست پخش: 5huIma0YU4iusLcT2reVEU

با این حال ، برای اینکه بتوانید روی API کار کنید ، باید spotify: user: را به ابتدای موارد بالا اضافه کنید. این حتی در مورد لیست پخش عمومی صدق می کند و بله ، این بدان معناست که شما دوبار می گویید spotify.

برای روشن تر شدن ، کاربر نیازی به نام کاربر خاصی ندارد ، فقط کاربر متن است. بنابراین URI صحیح لیست پخش بالا برای کارکردن به شرح زیر است:

spotify: کاربر: spotify: لیست پخش: 5huIma0YU4iusLcT2reVEU

مرحله 18: Raspberry Pi را برای ارسال درخواست HTTP تنظیم کنید

Raspberry Pi را برای ارسال درخواست HTTP تنظیم کنید
Raspberry Pi را برای ارسال درخواست HTTP تنظیم کنید

به جای تایپ دستی درخواست های HTTP در مرورگر وب ، ما می خواهیم آن را خودکار کنیم تا Raspberry Pi وقتی با محرک خاصی ارائه می شود (خواننده NFC فعال می شود) خود آن را انجام دهد.

ما از کتابخانه ای به نام درخواست استفاده می کنیم تا به رزبری پای خود اجازه دهیم این کار را انجام دهد. بیایید بررسی کنیم که نصب شده است.

ترمینال Pi خود را باز کرده و موارد زیر را تایپ کنید:

درخواست های نصب sudo pip

به احتمال زیاد دوباره برمی گردد و می گوید قبلاً نصب شده است ، در این صورت عالی است. اگر نه ، آن را نصب می کند.

مرحله 19: ایجاد برچسب (های) NFCC با داده های Spotify

ایجاد برچسب (های) NFCC با داده های Spotify
ایجاد برچسب (های) NFCC با داده های Spotify
ایجاد برچسب (های) NFCC با داده های Spotify
ایجاد برچسب (های) NFCC با داده های Spotify
ایجاد برچسب (های) NFCC با داده های Spotify
ایجاد برچسب (های) NFCC با داده های Spotify
ایجاد برچسب (های) NFCC با داده های Spotify
ایجاد برچسب (های) NFCC با داده های Spotify

اکنون می خواهیم یک URI آلبوم Spotify را به یک برچسب NFC بنویسیم. هر یک از این برچسب ها همان چیزی است که شما برای استفاده از Raspberry Pi در پخش یک آلبوم خاص استفاده خواهید کرد.

شما می توانید با استفاده از یک تلفن Android به یک برچسب NFC بنویسید ، اما من این کار را از طریق مک یا رایانه شخصی راحت ترین کار می کنم زیرا در این صورت می توانید ساده ترین راه را برای دریافت URI های Spotify از برنامه رومیزی Spotify دریافت کنید.

USB NFC خوان خود را به رایانه یا Mac خود وصل کنید. من از ACR122U توسط American Card Systems استفاده می کنم.

NFC Tools را در رایانه یا Mac خود بارگیری کنید. نصب و باز کنید.

ممکن است گاهی اوقات اتصال به خواننده کمی کند باشد و ممکن است بگوید که اصلاً نمی تواند خواننده را پیدا کند. به برگه Other در ابزارهای NFC بروید و هر چند وقت یکبار روی دکمه Connected NFC Reader کلیک کنید. ممکن است مجبور شوید قبل از اینکه خواننده را پیدا کند ، چند بار آن را از برق بکشید و دوباره متصل کنید.

در نهایت به شما این امکان را می دهد که خواننده خود را از لیست انتخاب کرده و بگویید متصل است. به برگه اطلاعات بروید که به جز "منتظر تگ NFC" چیزی نشان نمی دهد.

برچسب خالی NFC را بردارید. آن را روی خواننده بگذارید و آنجا بگذارید. NFC Tools اطلاعات مربوط به برچسب را نمایش می دهد.

به برگه نوشتن بروید و روی افزودن رکورد> متن کلیک کنید. (مراقب باشید URL یا URI را انتخاب نکنید - می دانم وسوسه انگیز است زیرا در حال کپی کردن URI هستید ، اما متن می خواهید)

با استفاده از روشی که قبلاً استفاده کردیم ، یک URI از Spotify بگیرید. اگر می خواهید یک مثال آسان داشته باشید ، زیر آلبوم جان گرانت ما از قبل است.

spotify: آلبوم: 2dfTV7CktUEBkZCHiB7VQB

روی تأیید کلیک کنید و سپس روی نوشتن کلیک کنید (این آخرین مرحله را فراموش نکنید - تا زمانی که روی آن کلیک نکنید آن را در واقع نمی نویسد). به شما می گوید که برچسب را با موفقیت نوشته است.

برچسب را از روی خواننده بردارید

مرحله 20: NFC Reader را روی Raspberry Pi راه اندازی کنید

NFC Reader را روی Raspberry Pi راه اندازی کنید
NFC Reader را روی Raspberry Pi راه اندازی کنید

خواننده NFC خود را به یکی از پورت های USB رزبری پای خود وصل کنید.

ما از کتابخانه nfcpy پایتون برای ارتباط با خواننده NFC استفاده خواهیم کرد. آن را با تایپ موارد زیر در خط فرمان Pi خود نصب کنید:

pip install -U nfcpy

سپس می توانیم با تایپ موارد زیر بررسی کنیم که آیا این کتابخانه قادر است خواننده NFC ما را ببیند:

پایتون -m nfc

اگر کار کرده است ، موارد زیر را مشاهده خواهید کرد:

این نسخه 1.0.3 nfcpy است که در 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 == / "افزودن \" ، ATTRS {idVendor} == / "04e6 \" ، ATTRS {idProduct} == / "5591 \" ، GROUP = / "plugdev \" >> /etc/udev/rules.d/nfcdev.rules '

sudo udevadm control -R

هر دو دستوراتی را که به شما می دهد کپی و اجرا کنید (نه دقیقاً در بالا ، زیرا دستور شما ممکن است متفاوت باشد) ، سپس خواننده NFC خود را از پورت USB جدا کرده و دوباره وصل کنید.

دوباره فرمان چک را امتحان کنید:

پایتون -m nfc

این بار باید بگوید که آن را بدون پیام خطا پیدا کرده است.

مرحله 21: Vinylemulator Python Scripts را نصب کنید

ما در حال حاضر تمام بلوک های ساختمان را در محل خود داریم:

  • Raspberry Pi ما می تواند به ورودی NFC گوش دهد
  • Raspberry Pi ما می تواند به Sonos بگوید در صورت دریافت URI Spotify ، لیست پخش Spotify را پخش کند
  • ما یک برچسب NFC داریم که یک URI Spotify روی آن ذخیره شده است

اکنون ما باید همه این اجزای سازنده را به یک چیز مفید بکشیم. این کار از طریق یک اسکریپت پایتون کوتاه که نوشتم (با کمک زیاد پروژه های قبلی NFC/Spotify/Sonos) انجام می شود که vinylemulator نامیده می شود.

می توانید کد منبع فایلها را در github مشاهده کنید:

برای نصب این بر روی Raspberry Pi ما باید آن را با دستور زیر از github کلون کنیم:

git clone

مرحله 22: Vinylemulator را سفارشی کنید

Vinylemulator را سفارشی کنید
Vinylemulator را سفارشی کنید
Vinylemulator را سفارشی کنید
Vinylemulator را سفارشی کنید

مدیر فایل Raspberry Pi را باز کرده و به منزل> pi> vinylemulator بروید

فایل usersettings.py را باز کنید

یکی از خطوط موجود در این فایل می خواند:

sonosroom = "اتاق ناهارخوری"

«اتاق ناهارخوری» را به هر نام اتاق Sonos که می خواهید کنترل کنید تغییر دهید.

همچنین تنظیماتی در این فایل وجود دارد که به شما امکان می دهد آدرس IP sonos-http-api را سفارشی کنید. شما باید بتوانید این را بدون تغییر به عنوان "localhost" بگذارید ، این بدان معناست که از رزبری پای که بر روی آن اجرا می شود استفاده خواهد کرد.

فایل را ذخیره کنید و آن را ببندید.

مرحله 23: Vinylemulator را آزمایش کنید

Vinylemulator را آزمایش کنید
Vinylemulator را آزمایش کنید
Vinylemulator را آزمایش کنید
Vinylemulator را آزمایش کنید

به خط فرمان رزبری پای خود بروید.

دستور زیر را وارد کنید:

python vinylemulator/readnfc.py

اگر همه چیز خوب باشد ، اسکریپت بارگیری می شود و می گوید خواننده آماده است. چراغ روی خواننده باید سبز شود.

برچسب NFC را روی خواننده قرار دهید که بوق می زند.

ترمینال آنچه را از برچسب NFC خوانده است نشان می دهد و آدرس درخواست HTTP را که ارسال کرده است نشان می دهد. آلبوم انتخابی شما باید از بلندگوهای Sonos شما پخش شود.

این اسکریپت تا بستن پنجره ترمینال ادامه خواهد داشت. می توانید برچسب های مختلف NFC آلبوم را ضربه بزنید تا به آن آلبوم تغییر کند.

مرحله 24: Vinylemulator را برای اجرای مداوم و هنگام راه اندازی دریافت کنید

درست مانند sonos-http-api ، ما می خواهیم vinylemulator به طور مداوم اجرا شود نه فقط زمانی که آن را صدا می کنیم. می توانیم از pm2 برای انجام مجدد این کار استفاده کنیم.

ابتدا مواردی از vinylemulator را که در حال اجرا هستید ببندید و پنجره های ترمینال آنها را ببندید.

سپس یک پنجره ترمینال جدید باز کنید و دو دستور زیر را تایپ کنید:

pm2 start vinylemulator/readnfc.py

pm2 ذخیره کنید

بیایید بررسی کنیم که آیا با راه اندازی مجدد رزبری پای کار کرده است یا خیر. (می توانید sudo reboot را تایپ کنید یا این کار را از منوی Raspberry با ماوس انجام دهید.

منتظر بمانید تا Pi دوباره راه اندازی شود و با ضربه زدن روی برچسب NFC روی خواننده کار کند. باید موسیقی بگیرید

مرحله 25: به خودتان تبریک بگویید

همه چیز در حال حاضر عملکردی است. شما می توانید رزبری پای را به هر کجا که قصد سایت گذاری آن را دارید منتقل کنید. در هر زمان که آن را به برق متصل کرده اید ، راه اندازی مجدد می شود و کار می کند.

وظایف بعدی شما سرگرم کننده هستند: زیبا کردن همه چیز.

مرحله 26: آن را زیبا کنید - خواننده خود را مخفی کنید

آن را زیبا کنید - خواننده خود را پنهان کنید
آن را زیبا کنید - خواننده خود را پنهان کنید
آن را زیبا کنید - خواننده خود را پنهان کنید
آن را زیبا کنید - خواننده خود را پنهان کنید
آن را زیبا کنید - خواننده خود را پنهان کنید
آن را زیبا کنید - خواننده خود را پنهان کنید
آن را زیبا کنید - خواننده خود را پنهان کنید
آن را زیبا کنید - خواننده خود را پنهان کنید

اولین قسمت زیبایی آن ، مخفی کردن خواننده پلاستیکی NFC پلاستیکی تند و زننده در جایی است.

من با یک فناوری کاملاً کم استفاده کرده ام که آن را در زیر پیشخوان کنار Sonos Play خود بچسبانم: 5. چوب پیشخوان آنقدر نازک است که NFC می تواند از آن عبور کند ، بنابراین من با ضربه زدن به برچسب NFC در نقطه ای جادویی و نامرئی ، موسیقی پخش می کنم.

توصیه شده: