विषयसूची:

सोनोस स्पॉटिफाई विनील एमुलेटर: 26 कदम
सोनोस स्पॉटिफाई विनील एमुलेटर: 26 कदम

वीडियो: सोनोस स्पॉटिफाई विनील एमुलेटर: 26 कदम

वीडियो: सोनोस स्पॉटिफाई विनील एमुलेटर: 26 कदम
वीडियो: Vinyl Emulator demo (SOUND ON!) 2024, नवंबर
Anonim
Image
Image
सोनोस स्पॉटिफाई विनाइल एमुलेटर
सोनोस स्पॉटिफाई विनाइल एमुलेटर

कृपया ध्यान दें कि यह इस परियोजना के लिए निर्देशों का नवीनतम सेट नहीं है:

निर्देशों और समर्थन के नवीनतम सेट के लिए कृपया https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d पर जाएं

विनाइल पर संगीत सुनना बहुत अच्छा है। यह शारीरिक और स्पर्शनीय है। आप यादृच्छिक ट्रैक के बजाय एक संपूर्ण एल्बम सुनते हैं। आप देखते हैं कि यह कब खत्म हो गया है और होशपूर्वक कुछ और चुनें। आप वास्तव में जो चाहते हैं उसे खोजने के बजाय आप एक संग्रह बना सकते हैं और उसके माध्यम से ब्राउज़ कर सकते हैं।

यह महंगा और भारी भी है, खासकर जब आप समझते हैं कि आपके द्वारा विनाइल पर खर्च किया गया कोई भी पैसा संगीत का एक डुप्लिकेट है जिसे आप पहले से ही एक स्ट्रीमिंग सेवा के माध्यम से एक्सेस कर सकते हैं जिसकी आप सदस्यता लेते हैं।

यह प्रोजेक्ट वास्तव में संगीत देने के लिए Spotify पर निर्भर करते हुए विनाइल की कुशलता और संग्रह-निर्माण पहलुओं को दोहराने का प्रयास करता है। रास्पबेरी पाई (दोनों को छिपाया जा सकता है) से जुड़े एनएफसी रीडर पर एक भौतिक वस्तु रखने से उस टैग से जुड़े एल्बम को चलाना शुरू हो जाएगा।

मैं आपको रास्पबेरी पाई की स्थापना से लेकर एनएफसी टैग एन्कोडिंग तक सभी चरणों के बारे में बताऊंगा। यह मेरा पहला रास्पबेरी पाई प्रोजेक्ट और मेरा पहला पायथन कोड है, इसलिए मैंने इसे विकसित करते समय खुद को दोनों सिखाया। जैसे, ये निर्देश वस्तुतः शून्य पूर्व ज्ञान मानते हैं और हर कदम पर आपसे बात करते हैं।

इसे बनाने के लिए आवश्यक घटकों की कुल लागत लगभग £50-60 है।

मुझे यह देखना अच्छा लगेगा कि आप क्या बनाते हैं!

चरण 1: आवश्यक आपूर्ति 1: रास्पबेरी पाई

बैक एंड जो आपके नेटवर्क, सोनोस और स्पॉटिफ़ के साथ इंटरफेस करता है, रास्पबेरी पाई द्वारा चलाया जाएगा। वास्तव में इसे चलाने के लिए आपको बहुत कम की आवश्यकता है।

आवश्यक:

रास्पबेरी पाई: मैंने रास्पबेरी पाई 3 मॉडल बी + का उपयोग किया है, लेकिन यह रास्पबेरी पाई 3 मॉडल ए + (£ 23) के साथ भी काम करेगा।

यूएसबी बिजली की आपूर्ति: मेरे पास एक पड़ा हुआ था - यदि आप नहीं करते हैं तो एक आधिकारिक उपलब्ध है (£ 9)

माइक्रो एसडी कार्ड: मुझे 32 जीबी वाला एक मिला है, जो इस एप्लिकेशन के लिए अमेज़ॅन (£ 6) पर काफी है

आपके नेटवर्क पर चल रहे कुछ सोनोस उपकरण (मुझे लगता है कि आपके पास यह पहले से ही है यदि आप यहां हैं …)

एक Spotify प्रीमियम खाता

अनुशंसित:

पाई के लिए एक मामला: £5. से शुरू होने वाले बहुत सारे विकल्प हैं

सभ्य कैलिफ़ोर्निया ज़िनफंडेल की एक बोतल: मैं रिज की सलाह देता हूं, लेकिन अन्य उपलब्ध हैं

चरण 2: आवश्यक आपूर्ति 2: एनएफसी रीडर

आवश्यक आपूर्ति 2: एनएफसी रीडर
आवश्यक आपूर्ति 2: एनएफसी रीडर
आवश्यक आपूर्ति 2: एनएफसी रीडर
आवश्यक आपूर्ति 2: एनएफसी रीडर

ये निर्देश ACR122U NFC रीडर के लिए बनाए गए हैं जो USB के माध्यम से कनेक्ट होते हैं।

एसीआर122यू

मैंने इसे अमेज़न से £ 38 में खरीदा था (ज्यादातर इसलिए कि इसकी प्राइम डिलीवरी थी) लेकिन इसी पाठक को खरीदने के लिए सस्ते विकल्प हैं।

भ्रामक रूप से ACR122U को विभिन्न ब्रांड नामों के एक समूह के तहत बेचा जाता है (मेरा ब्रांड नाम "योसो" से दूर-आश्वासन देने वाला है) लेकिन जो मैं बता सकता हूं कि वे सभी समान हैं और अमेरिकन कार्ड सिस्टम्स द्वारा निर्मित हैं।

सबसे सस्ता मैंने पाया है कि ACR122U का विज्ञापन शिपिंग सहित £21 है, लेकिन यह सीधे चीन से आता है, इसलिए आपको इसके लिए थोड़ा इंतजार करना पड़ सकता है।

अन्य विकल्प

यह प्रोजेक्ट nfcpy नामक एक अजगर पुस्तकालय पर निर्भर करता है जो यहां समर्थित उपकरणों की एक सूची रखता है:

सिद्धांत रूप में इस परियोजना को उस सूची में से किसी के साथ थोड़ा एकीकरण के साथ काम करना चाहिए।

एक आकर्षक विकल्प Adafruit PN532 है जो एक बोर्ड है जिसे जम्पर केबल का उपयोग करके सीधे आपके रास्पबेरी पाई से जुड़ना चाहिए। मैंने इसे आजमाया और इसे एक वास्तविक फाफ पाया। उदाहरण के लिए, इसे सोल्डरिंग की आवश्यकता होती है।

इसका एक फायदा, सतही तौर पर, यह छोटा है लेकिन वास्तव में बोर्ड ACR122U के आकार के समान है। यदि आपको वास्तव में अपने आवेदन के लिए जगह के लिए धक्का दिया जाता है तो आप प्लास्टिक को ACR122U से हटा सकते हैं और बस बोर्ड का उपयोग कर सकते हैं।

चरण 3: आवश्यक आपूर्ति 3: एनएफसी टैग

आवश्यक आपूर्ति 3: एनएफसी टैग
आवश्यक आपूर्ति 3: एनएफसी टैग

प्रत्येक एल्बम के लिए जिसे आप बनाना चाहते हैं, आपको एक NFC टैग की आवश्यकता होगी जो NTAG213 मानक को पूरा करता हो।

इन्हें खरीदने के लिए कई जगह हैं।

मैंने अपना पहला बैच Amazon से खरीदा, जहां मुझे £9 के लिए 10 का पैक मिला (प्राइम डिलीवरी सहित)

यूके में मुझे जो सबसे अच्छी आपूर्ति मिली है, वह है सेरिटैग - उनके पास वास्तव में विभिन्न शैलियों का विस्तृत चयन है, उनकी वेबसाइट पर बहुत अच्छी सलाह है, आप जानते हैं कि आपको वास्तव में क्या मिल रहा है (अमेज़ॅन पर हमेशा सच नहीं)। उनके पास कोई न्यूनतम ऑर्डर आकार और विकल्पों का एक टन नहीं है। टैग 27p प्रति टैग से शुरू होते हैं

चरण 4: रास्पबेरी पाई ओएस को एसडी कार्ड में डाउनलोड करें

रास्पबेरी पाई ओएस को एसडी कार्ड में डाउनलोड करें
रास्पबेरी पाई ओएस को एसडी कार्ड में डाउनलोड करें
रास्पबेरी पाई ओएस को एसडी कार्ड में डाउनलोड करें
रास्पबेरी पाई ओएस को एसडी कार्ड में डाउनलोड करें

अपने पीसी या मैक पर, रास्पबेरी पीआई इमेजर एप्लिकेशन डाउनलोड करें और चलाएं।

वह एसडी कार्ड डालें जिस पर आप रास्पबेरी पाई ऑपरेटिंग सिस्टम स्थापित करना चाहते हैं।

CHOOSE OS पर क्लिक करें और डिफ़ॉल्ट रसबियन चुनें।

CHOOSE SD CARD पर क्लिक करें और उस SD कार्ड को चुनें जिसे आपने प्लग इन किया है।

WRITE पर क्लिक करें। इसमें थोड़ा सा समय लग सकता है।

एक बार यह हो जाने के बाद यह आपको एसडी कार्ड निकालने के लिए कहेगा, जो आपको करना चाहिए। लेकिन फिर इसे वापस प्लग इन करें क्योंकि हाउसकीपिंग के कुछ बिंदु हैं जो आपको पहले करने की आवश्यकता है।

चरण 5: अपने रास्पबेरी पाई ओएस छवि पर एसएसएच सक्षम करें

अपने रास्पबेरी पाई ओएस छवि पर एसएसएच सक्षम करें
अपने रास्पबेरी पाई ओएस छवि पर एसएसएच सक्षम करें

एक बार ओएस को एसडी कार्ड में लिखा जाने के बाद, आपको कुछ अतिरिक्त कार्य करने होंगे।

हम एक कीबोर्ड या मॉनिटर (उर्फ "हेडलेस") में प्लग किए बिना रास्पबेरी पाई तक पहुंचना चाहते हैं, जिसे हम अपने पीसी या मैक का उपयोग करके एसएसएच नामक प्रोटोकॉल पर अपने स्थानीय नेटवर्क पर कर सकते हैं। हालाँकि, सुरक्षा कारणों से SSH डिफ़ॉल्ट रूप से अक्षम है। हमें इसे सक्षम करने की आवश्यकता है।

हम इसे एक खाली फाइल बनाकर कर सकते हैं जिसे कहा जाता है:

एसएसएचओ

एसडी कार्ड में हमने अभी बनाया है। यह महत्वपूर्ण है कि इसमें किसी प्रकार का एक्सटेंशन (उदा..txt) न हो। फ़ाइल में किसी भी सामग्री को शामिल करने की आवश्यकता नहीं है - बस इसका अस्तित्व एसएसएच को सक्षम करेगा जब पीआई बूट हो जाएगा।

चरण 6: वैकल्पिक: अपने रास्पबेरी पाई पर वाईफाई सेट करें

वैकल्पिक: अपने रास्पबेरी पाई पर वाईफाई सेट करें
वैकल्पिक: अपने रास्पबेरी पाई पर वाईफाई सेट करें
वैकल्पिक: अपने रास्पबेरी पाई पर वाईफाई सेट करें
वैकल्पिक: अपने रास्पबेरी पाई पर वाईफाई सेट करें

यदि आप अपने रास्पबेरी पाई को ईथरनेट द्वारा अपने राउटर से वायर करने की योजना बनाते हैं, तो आप इस चरण को छोड़ सकते हैं। (यद्यपि आप उस निर्णय के बारे में कठिन सोचना चाहेंगे - इसे वाईफाई पर चलाने से इसे स्थिति के मामले में जीवन बहुत आसान बना देता है)

एसडी कार्ड की रूट डायरेक्टरी में wpa_supplicant.conf नाम की एक प्लेन टेक्स्ट फाइल बनाएं।

फ़ाइल में नीचे दिया गया टेक्स्ट डालें:

देश = जीबी

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

देश को उपयुक्त के रूप में बदलें (GB यूके है, यूएस यूएस है, DE जर्मनी है, आदि)

अपने वास्तविक वाईफाई राउटर विवरण होने के लिए वहां वाईफाई क्रेडेंशियल बदलें।

फ़ाइल सहेजें।

एसडी कार्ड को सुरक्षित रूप से बाहर निकालें।

चरण 7: पावर अप योर रास्पबेरी पाई

पावर अप योर रास्पबेरी पाई
पावर अप योर रास्पबेरी पाई

आपके द्वारा अभी बनाया गया एसडी कार्ड अपने रास्पबेरी पाई में डालें।

USB केबल के माध्यम से अपने रास्पबेरी पाई को पावर में प्लग करें। इसके बूट होने के लिए एक मिनट प्रतीक्षा करें।

चरण 8: अपने रास्पबेरी पाई का आईपी पता खोजें

अब आपको रास्पबेरी पाई का आईपी पता ढूंढना होगा ताकि आप इससे जुड़ सकें। आप इसे दो तरीकों से कर सकते हैं:

  • अपने राउटर सेटअप पेज के माध्यम से - यदि आपके पास ईरो जैसा आधुनिक राउटर है तो यह बहुत आसान है;
  • या आईओएस और एंड्रॉइड के लिए उपलब्ध "फिंग" नामक स्मार्टफोन ऐप के माध्यम से - इसे डाउनलोड करें, अपने राउटर से कनेक्ट करें और उपकरणों के लिए स्कैन करें - उनमें से एक को "रास्पबेरी" कहा जाना चाहिए - यह आपके लिए आवश्यक आईपी पता होगा।

चरण 9: अपने रास्पबेरी पाई कमांड लाइन से कनेक्ट करें

अपने रास्पबेरी पाई कमांड लाइन से कनेक्ट करें
अपने रास्पबेरी पाई कमांड लाइन से कनेक्ट करें

अपने मैक पर टर्मिनल खोलें (या यदि आप विंडोज का उपयोग कर रहे हैं तो पुट्टी को डाउनलोड और उपयोग करें)।

निम्न आदेश दर्ज करें:

ssh pi@[आपके Pi का IP पता]

आपको मिलने वाली कोई भी सुरक्षा चेतावनी स्वीकार करें। आपको डिफ़ॉल्ट पीआई उपयोगकर्ता के लिए पासवर्ड के लिए कहा जाएगा जो है

रसभरी

चरण 10: रास्पबेरी पाई ओएस जीयूआई सेट करें

रास्पबेरी पाई ओएस जीयूआई सेट करें
रास्पबेरी पाई ओएस जीयूआई सेट करें
रास्पबेरी पाई ओएस जीयूआई सेट करें
रास्पबेरी पाई ओएस जीयूआई सेट करें

अब आप कमांड लाइन के माध्यम से अपने पीआई से जुड़े हुए हैं, जो बहुत अच्छा है लेकिन आप इसे सेट अप भी करना चाहते हैं ताकि आप ग्राफिकल यूजर इंटरफेस तक पहुंच सकें जिसे हम वीएनसी (वर्चुअल नेटवर्क कंप्यूटिंग) के माध्यम से एक्सेस करेंगे। जाहिर है, हमें इसे भी सक्षम करने की जरूरत है।

सबसे पहले जांच लें कि आपका पाई सॉफ्टवेयर कमांड लाइन में निम्नलिखित दो कमांड (प्रत्येक के बाद एंटर) दर्ज करके अद्यतित है:

सुडो उपयुक्त अद्यतन

sudo apt realvnc-vnc-server realvnc-vnc-viewer स्थापित करें

इसके बाद, दर्ज करके रास्पबेरी पाई सेटिंग्स मेनू खोलें:

सुडो रास्पि-कॉन्फ़िगरेशन

इंटरफेसिंग विकल्प> वीएनसी> हां पर नेविगेट करें।

एस्केप कुंजी दबाकर कॉन्फ़िगरेशन एप्लिकेशन से बाहर निकलें और टाइप करके कमांड लाइन से पाई को रीबूट करें:

सुडो रिबूट

चरण 11: अपने रास्पबेरी पाई जीयूआई से कनेक्ट और सेटअप करें

अपने रास्पबेरी पाई जीयूआई से कनेक्ट और सेटअप करें
अपने रास्पबेरी पाई जीयूआई से कनेक्ट और सेटअप करें
अपने रास्पबेरी पाई जीयूआई से कनेक्ट और सेटअप करें
अपने रास्पबेरी पाई जीयूआई से कनेक्ट और सेटअप करें

डाउनलोड करें और VNC व्यूअर खोलें।

अपने रास्पबेरी पाई के लिए आईपी पते में टाइप करें और कनेक्ट दबाएं। यह आपको उपयोगकर्ता नाम और पासवर्ड के लिए संकेत देगा जो हैं:

उपयोगकर्ता नाम = पीआई

पासवर्ड = रास्पबेरी

यह आपको GUI तक बूट करना चाहिए।

यह आपको अपने भूगोल और कीबोर्ड लेआउट की पुष्टि करने के लिए प्रेरित करेगा।

फिर यह आपको अपना पासवर्ड (अच्छा विचार) बदलने के लिए प्रेरित करेगा।

यह आपको अपना वाईफाई विवरण सेट करने के लिए कहेगा, लेकिन आप इसे छोड़ सकते हैं क्योंकि वे पहले से ही काम कर रहे हैं। (यद्यपि यदि आप ईथरनेट पर चल रहे हैं और दूसरे विचार रख रहे हैं तो अब आपका मौका है… लेकिन ध्यान दें कि आपका आईपी पता बदल सकता है)

इसके बाद यह अपडेट की जांच करेगा, डाउनलोड करेगा और इंस्टॉल करेगा (इसमें कुछ समय लग सकता है)।

एक बार जब आप सेटअप विज़ार्ड के माध्यम से होते हैं तो मैं स्क्रीन रिज़ॉल्यूशन को बदलने की सलाह दूंगा क्योंकि डिफ़ॉल्ट बहुत छोटा है। आप ऊपर बाईं ओर स्थित रास्पबेरी> वरीयताएँ> रास्पबेरी पाई कॉन्फ़िगरेशन> डिस्प्ले> रिज़ॉल्यूशन सेट पर क्लिक करके ऐसा कर सकते हैं

इसे प्रभावी करने के लिए आपको पाई को फिर से रिबूट करना होगा।

चरण 12: Node.js और NPM स्थापित करें

Node.js और NPM स्थापित करें
Node.js और NPM स्थापित करें

आगे आप हमारे द्वारा आवश्यक निर्भरता को स्थापित करने के लिए रास्पबेरी पाई कमांड लाइन को लोड करना चाहते हैं।

आप या तो वीएनसी के माध्यम से कनेक्ट करके और शीर्ष के निकट बटन पर क्लिक करके ऐसा कर सकते हैं जो कमांड लाइन की तरह दिखता है; या आप टर्मिनल और पुट्टी का उपयोग करके अपने मैक/पीसी से सीधे कनेक्ट कर सकते हैं जैसा कि हमने पहले किया था। यदि आप रास्पबेरी पाई के साथ काम करने के लिए कम अभ्यस्त हैं तो पूर्व को करना आसान है।

(टिप: आप अपने मैक/पीसी से टेक्स्ट को कॉपी कर सकते हैं और CONTROL-V दबाकर इसे VNC के माध्यम से रास्पबेरी पाई में पेस्ट कर सकते हैं, लेकिन यदि आप टर्मिनल में पेस्ट करने का प्रयास कर रहे हैं तो आपको CONTROL-SHIFT-V दबाने की जरूरत है)

पहला काम निम्नलिखित दो आदेशों को टाइप करके फिर से जांचना है कि आपका सॉफ़्टवेयर अद्यतित है। उन्हें डाउनलोड और इंस्टॉल करने में कुछ समय लग सकता है।

सुडो एपीटी-अपडेट प्राप्त करें

सुडो एपीटी-अपग्रेड प्राप्त करें

इसके बाद आप नोड.जेएस और एनपीएम को डाउनलोड और इंस्टॉल करना चाहते हैं (वे क्या हैं, इसके बारे में ज्यादा चिंता न करें, वे हमारे अगले कार्यों के लिए सहायक और आवश्यक हैं) निम्नलिखित टाइप करके:

sudo apt- नोडज npm. स्थापित करें

यह आपसे कई बार पूछेगा कि क्या आप इनके साथ डिस्क स्थान लेने में प्रसन्न हैं - तो आप Y. दबाएं

चरण 13: SONOS HTTP API स्थापित करें

सोनोस HTTP एपीआई स्थापित करें
सोनोस HTTP एपीआई स्थापित करें
सोनोस HTTP एपीआई स्थापित करें
सोनोस HTTP एपीआई स्थापित करें

हमारी परियोजना के लिए बैक एंड का आधार jishi द्वारा बनाया गया node-sonos-http-api पैकेज है। आप इसके बारे में यहां सब कुछ पढ़ सकते हैं:

हम इसे कमांड लाइन में दर्ज निम्न कमांड के साथ जीथब से डाउनलोड करेंगे:

गिट क्लोन

और हम इसे निम्न आदेशों के साथ स्थापित करेंगे

सीडी नोड-सोनोस-http-api

npm स्थापित --उत्पादन

फिर हम इसे निम्न आदेश के साथ चला सकते हैं:

एनपीएम प्रारंभ

एक बार ऐसा करने के बाद हमें परीक्षण करना चाहिए कि यह काम कर रहा है।

सबसे पहले, हमारे रास्पबेरी पाई पर इंटरनेट ब्राउज़र खोलें और https://localhost:5005/ पर नेविगेट करें। सोनोस लोगो और एपीआई कैसे काम करता है, इस पर कुछ दस्तावेज के साथ एक अच्छा इंटरफ़ेस खुलना चाहिए।

इसके बाद, आइए देखें कि यह उसी नेटवर्क पर किसी अन्य पीसी या मैक पर ब्राउज़र का उपयोग करके व्यापक नेटवर्क से काम कर रहा है और https://[theIPaddressofyourPi]:5005/ पर नेविगेट कर रहा है और देख रहा है कि क्या हमें वही परिणाम मिलता है। हमें।

अब हम वास्तव में सिस्टम से कुछ करेंगे। ब्राउज़र का उपयोग करें और यहां नेविगेट करें:

192.168.4.102:5005/डाइनिंग रूम/प्लेपॉज

आपको उपरोक्त आईपी पते को अपने रास्पबेरी पाई और "डाइनिंग रूम" के पते के साथ अपने सोनोस ज़ोन के नामों में से एक के साथ बदलना चाहिए। उस कमरे में संगीत या तो बजना चाहिए या रुकना चाहिए (इस पर निर्भर करता है कि संगीत पहले से चल रहा है या नहीं)। जाहिर है कि काम करने के लिए सोनोस कतार में कुछ होना चाहिए।

आगे बढ़ते हुए, मैं इस पूरे ट्यूटोरियल में उदाहरण के रूप में उपरोक्त आईपी पते और डाइनिंग रूम का उपयोग करने जा रहा हूँ। स्पष्ट रूप से आपको प्रत्येक अवसर पर उन्हें अपने आईपी पते और अपने क्षेत्र के नाम से बदलना चाहिए।

चरण 14: सोनोस HTTP एपीआई को लगातार चलाएं

Sonos HTTP API को लगातार चलाएं
Sonos HTTP API को लगातार चलाएं

यह बहुत अच्छा है कि हमारे पास सोनोस HTTP एपीआई चल रहा है, लेकिन अगर यह दुर्घटनाग्रस्त हो जाए तो क्या होगा? या आप शक्ति खो देते हैं या अपने रास्पबेरी पाई को रिबूट करने की आवश्यकता है?

आप टर्मिनल विंडो को बंद करके और हमारे द्वारा अभी-अभी किए गए प्रयास को पुनः प्रयास करके प्रभाव देख सकते हैं। यह काम नहीं करेगा क्योंकि HTTP API टर्मिनल विंडो के साथ बंद हो गया है।

हम वास्तव में चाहते हैं कि यह लगातार चलता रहे और हर बार स्टार्टअप से ऐसा करे। हम इसे PM2.

एक ताजा टर्मिनल विंडो में, इसे निम्नानुसार स्थापित और चलाएं:

सुडो एनपीएम इंस्टॉल -जी दोपहर 2

दोपहर 2 स्थिति

अब इसे हमारे Sonos HTTP API को चलाने के लिए प्राप्त करते हैं:

सीडी नोड-सोनोस-http-api

pm2 start npm -- start pm2 स्टार्टअप सिस्टमडी

यह अंतिम आदेश कुछ ऐसा उत्पन्न करता है जो कुछ इस तरह दिखता है:

sudo env PATH=$PATH:/usr/bin/usr/local/lib/node_modules/pm2/bin/pm2 स्टार्टअप systemd -u pi --hp /home/pi

कॉपी करें कि आपका पीआई क्या उत्पन्न करता है (उपरोक्त सटीक टेक्स्ट नहीं - आपका अलग हो सकता है) और इसे कमांड लाइन में दर्ज करें। यह सिस्टम को हर बार बूट पर PM2 चलाने का निर्देश देता है।

अंत में, दर्ज करें:

दोपहर 2 बचाओ

जो सब कुछ नीचे बचाता है।

अब परीक्षण करें कि क्या इसने आपके रास्पबेरी पाई को कमांड के साथ रिबूट करके काम किया है

सुडो रिबूट

उम्मीद है कि एक बार पीआई रीबूट हो जाने पर यह पीएम 2 और बदले में सोनोस एचटीटीपी एपीआई भी शुरू कर देगा। आप उसी नेटवर्क पर एक ब्राउज़र का उपयोग करके उस पते पर नेविगेट करके इसकी जांच कर सकते हैं जिसका हमने पहले उपयोग किया था और सोनोस लोगो और निर्देश देखें:

192.168.4.102:5005/

मेरे लिए क्या है, लेकिन आपका आईपी पते पर निर्भर करेगा।

चरण 15: कुछ Spotify खेलें

आइए जांचें कि सेवा Spotify तक पहुंच सकती है।

एक ब्राउज़र खोलें और निम्नलिखित पते पर नेविगेट करें (जाहिर है कि इसे अपने आईपी पते और कमरे के नाम से बदल दें):

192.168.4.102:5005/डाइनिंग रूम/स्पॉटिफाई/अभी/स्पॉटिफाई/स्पॉटिफाई:एल्बम:2dfTV7CktUEBkZCHiB7VQB

आपको कुछ जॉन ग्रांट सुनना चाहिए। आनंद लेना।

चरण 16: Spotify URI खोजें

Spotify URI खोजें
Spotify URI खोजें

अजीब, मुझे पता है, लेकिन हर कोई जॉन ग्रांट को पसंद नहीं करता है। शायद आप कुछ और सुनना चाहते हैं?

आप डेस्कटॉप, वेब या मोबाइल ऐप से Spotify लिंक प्राप्त कर सकते हैं लेकिन डेस्कटॉप अब तक का सबसे आसान है क्योंकि यह यूआरआई को ठीक उसी प्रारूप में वितरित करता है जैसा आप चाहते हैं, इसलिए इसके साथ शुरू करें।

Spotify डेस्कटॉप ऐप में उस एल्बम पर नेविगेट करें जिसे आप सुनना चाहते हैं (शायद बेयॉन्से द्वारा लेमोनेड?)

हार्ट बटन के आगे तीन छोटे डॉट्स पर क्लिक करें।

साझा करने के लिए मेनू के नीचे जाएं और Spotify URI कॉपी करें चुनें

यह कुछ इस तरह कॉपी करेगा

स्पॉटिफाई: एल्बम: 7dK54iZuOxXFarGhXwEXfF

आपके क्लिपबोर्ड पर, जो कि बियॉन्से के लेमोनेड एल्बम के लिए Spotify URI है।

अपने ब्राउज़र को फिर से चालू करें और निम्न पते पर नेविगेट करें (जाहिर है कि आईपी पते और कमरे को बदलकर और यूआरआई में पेस्ट करना जिसे आपने अभी कॉपी किया है):

192.168.4.102:5005/डाइनिंग रूम/स्पॉटिफाई/अभी/[स्पॉटिफाई यूआरआई जिसे आप खेलना चाहते हैं]

आपको अपनी पसंद का नाटक सुनना चाहिए।

यदि आप वेब ऐप का उपयोग करना पसंद करते हैं तो यह आपको एक वेब लिंक देगा (नीचे जैसा कुछ):

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

आपको इसे काम करने के लिए ऊपर दिए गए Spotify: एल्बम: कोड प्रारूप में बदलने की आवश्यकता है।

चरण 17: Spotify URI पर एक नोट

Spotify URI और वे जिस तरह से नोड-सोनोस-http-api के साथ इंटरफेस करते हैं, वे अधिकांश भाग के लिए सहज हैं।

आप सीधे एल्बम, ट्रैक और प्लेलिस्ट से लिंक कर सकते हैं।

एक एल्बम यूआरआई इस तरह दिखता है:

स्पॉटिफाई: एल्बम: 6agCM9GJcebduMddgFmgsO

एक ट्रैक यूआरआई जैसा दिखता है:

स्पॉटिफाई करें: ट्रैक: 4fNDKbaeEjk2P4GrRE1UbW

प्लेलिस्ट थोड़ा अलग तरीके से काम करती हैं। जब आप URI को Spotify से कॉपी करते हैं तो यह कुछ इस तरह दिखाई देगा:

Spotify:प्लेलिस्ट:5huIma0YU4iusLcT2reVEU

हालांकि, वास्तव में इसे एपीआई पर काम करने के लिए आपको ऊपर की शुरुआत में Spotify: उपयोगकर्ता: जोड़ने की आवश्यकता है। यह सार्वजनिक प्लेलिस्ट पर भी लागू होता है और हां, इसका मतलब है कि आप दो बार Spotify कह रहे हैं।

बहुत स्पष्ट होने के लिए, उपयोगकर्ता को किसी विशेष उपयोगकर्ता का नाम, केवल टेक्स्ट उपयोगकर्ता होने की आवश्यकता नहीं है। तो उपरोक्त प्लेलिस्ट के लिए इसे काम करने के लिए सही यूआरआई होगा:

Spotify: उपयोगकर्ता: Spotify: प्लेलिस्ट: 5huIma0YU4iusLcT2reVEU

चरण 18: HTTP अनुरोध भेजने के लिए रास्पबेरी पाई सेट करें

HTTP अनुरोध भेजने के लिए रास्पबेरी पाई सेट करें
HTTP अनुरोध भेजने के लिए रास्पबेरी पाई सेट करें

वेब ब्राउज़र में HTTP अनुरोधों को मैन्युअल रूप से टाइप करने के बजाय, हम इसे स्वचालित करना चाहते हैं ताकि रास्पबेरी पाई स्वयं कुछ उत्तेजनाओं (एनएफसी रीडर को ट्रिगर किया जा रहा है) के साथ प्रस्तुत किया जाए।

हम अपने रास्पबेरी पाई को ऐसा करने की अनुमति देने के लिए अनुरोध नामक एक पुस्तकालय का उपयोग करेंगे। आइए जांचें कि यह स्थापित है।

अपने पाई पर टर्मिनल खोलें और निम्नलिखित टाइप करें:

सुडो पाइप अनुरोध स्थापित करें

यह संभावना है कि यह वापस आता है और कहता है कि यह पहले से ही स्थापित है, इस मामले में बहुत अच्छा है। यदि नहीं, तो वह इसे स्थापित कर देगा।

चरण 19: Spotify डेटा के साथ NFCC टैग जेनरेट करें

Spotify डेटा के साथ NFCC टैग जेनरेट करें
Spotify डेटा के साथ NFCC टैग जेनरेट करें
Spotify डेटा के साथ NFCC टैग जेनरेट करें
Spotify डेटा के साथ NFCC टैग जेनरेट करें
Spotify डेटा के साथ NFCC टैग जेनरेट करें
Spotify डेटा के साथ NFCC टैग जेनरेट करें
Spotify डेटा के साथ NFCC टैग जेनरेट करें
Spotify डेटा के साथ NFCC टैग जेनरेट करें

अब हम एक एनएफसी टैग के लिए एक स्पॉटिफा एल्बम यूआरआई लिखना चाहते हैं। इनमें से प्रत्येक टैग वह है जो आप रास्पबेरी पाई को एक विशेष एल्बम चलाने के लिए बताने के लिए उपयोग करेंगे।

आप एंड्रॉइड फोन का उपयोग करके एनएफसी टैग पर लिख सकते हैं, लेकिन मुझे मैक या पीसी के माध्यम से ऐसा करना सबसे आसान लगता है क्योंकि तब आप Spotify डेस्कटॉप ऐप से Spotify URI प्राप्त करना सबसे आसान हो सकता है।

अपने यूएसबी एनएफसी रीडर को अपने पीसी या मैक में प्लग करें। मैं अमेरिकन कार्ड सिस्टम्स द्वारा ACR122U का उपयोग कर रहा हूं।

अपने पीसी या मैक पर एनएफसी टूल्स डाउनलोड करें। इसे स्थापित करें और खोलें।

कभी-कभी पाठक से जुड़ना थोड़ा धीमा हो सकता है और यह कह सकता है कि उसे पाठक बिल्कुल भी नहीं मिल रहा है। एनएफसी टूल्स में अन्य टैब पर जाएं और कनेक्टेड एनएफसी रीडर बटन पर हर बार क्लिक करें। पाठक को खोजने से पहले आपको उसे अनप्लग करना पड़ सकता है और उसे कई बार फिर से प्लग करना पड़ सकता है।

आखिरकार यह आपको एक सूची से अपना पाठक चुनने का विकल्प देगा और कहेगा कि यह जुड़ा हुआ है। सूचना टैब पर जाएं जो "एक एनएफसी टैग की प्रतीक्षा कर रहा है" के अलावा कुछ भी नहीं दिखाएगा।

एक खाली एनएफसी टैग लें। इसे रीडर पर लगाएं और वहीं छोड़ दें। NFC टूल टैग के बारे में जानकारी प्रदर्शित करेगा।

लिखें टैब पर जाएं और एक रिकॉर्ड जोड़ें > टेक्स्ट पर क्लिक करें। (सावधान रहें कि URL या URI का चयन न करें - मुझे पता है कि यह आकर्षक है क्योंकि आप एक URI की प्रतिलिपि बना रहे हैं, लेकिन आप पाठ चाहते हैं)

हमने पहले इस्तेमाल की गई विधि का उपयोग करके Spotify से एक URI प्राप्त करें। यदि आप एक आसान उदाहरण चाहते हैं तो पहले से हमारा जॉन ग्रांट एल्बम निम्नलिखित है।

स्पॉटिफाई: एल्बम: 2dfTV7CktUEBkZCHiB7VQB

ठीक क्लिक करें और फिर लिखें पर क्लिक करें (इस अंतिम चरण को न भूलें - यह वास्तव में इसे तब तक नहीं लिखता जब तक आप इसे क्लिक नहीं करते)। यह आपको बताएगा कि यह टैग सफलतापूर्वक लिखा गया है।

पाठक से टैग हटा दें

चरण 20: रास्पबेरी पाई पर एनएफसी रीडर सेट करें

रास्पबेरी पाई पर एनएफसी रीडर सेट करें
रास्पबेरी पाई पर एनएफसी रीडर सेट करें

अपने रास्पबेरी पाई पर अपने एनएफसी रीडर को यूएसबी पोर्ट में से एक में प्लग करें।

हम NFC रीडर के साथ संवाद करने के लिए nfcpy पायथन लाइब्रेरी का उपयोग करेंगे। अपनी पाई कमांड लाइन पर निम्नलिखित टाइप करके इसे स्थापित करें:

पाइप स्थापित -यू nfcpy

फिर हम निम्नलिखित टाइप करके जांच सकते हैं कि क्या यह पुस्तकालय हमारे एनएफसी रीडर को देखने में सक्षम है:

अजगर -एम एनएफसी

यदि इसने काम किया है तो आप निम्नलिखित देखेंगे:

यह Linux-4.19.97-v7+-armv7l-with-debian-10.3 पर Python 2.7.16 में nfcpy रन का 1.0.3 संस्करण है

मैं अब आपके सिस्टम को कॉन्टैक्टलेस डिवाइस के लिए खोज रहा हूं ** USB:001:011 पर ACS ACR122U PN532v1.6 मिला मुझे देखने के लिए - लेकिन सावधान रहें कि यह अन्य धारावाहिक देवों को तोड़ सकता है

हालाँकि, एक अच्छा मौका है कि आपको यह कहते हुए एक त्रुटि संदेश मिलता है कि पाठक मिल गया है, लेकिन आपके उपयोगकर्ता (pi) को इसे एक्सेस करने की अनुमति नहीं है। यदि आपको यह त्रुटि संदेश मिलता है तो यह यह भी बताएगा कि समस्या को कैसे ठीक किया जाए, जो कि दो कमांड टाइप करके है जो निम्न जैसा दिखता है:

sudo sh -c 'echo SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"04e6\", ATTRS{idProduct}==\"5591\", GROUP= \"प्लगदेव\" >> /etc/udev/rules.d/nfcdev.rules'

सुडो उदेवदम नियंत्रण -R

दोनों कमांड को कॉपी और निष्पादित करें जो आपको देता है (बिल्कुल ऊपर जो नहीं है, क्योंकि आपका अलग हो सकता है), फिर यूएसबी पोर्ट से अपने एनएफसी रीडर को अनप्लग और रीप्लग करें।

फिर से चेक कमांड का प्रयास करें:

अजगर -एम एनएफसी

इस बार यह कहना चाहिए कि यह त्रुटि संदेशों के बिना मिल गया है।

चरण 21: विनीलमुलेटर पायथन लिपियों को स्थापित करें

अब हमारे पास सभी बिल्डिंग ब्लॉक्स हैं:

  • हमारा रास्पबेरी पाई एनएफसी इनपुट सुनने में सक्षम है
  • Spotify URI दिए जाने पर हमारा रास्पबेरी पाई सोनोस को Spotify प्लेलिस्ट चलाने के लिए कह सकता है
  • हमारे पास एक NFC टैग है जिस पर Spotify URI संग्रहीत है

अब हमें इन सभी बिल्डिंग ब्लॉक्स को किसी उपयोगी चीज में खींचने की जरूरत है। यह मेरे द्वारा लिखी गई एक छोटी पायथन लिपि के माध्यम से किया जाता है (पिछले एनएफसी/स्पॉटिफाइ/सोनोस प्रोजेक्ट्स से बहुत मदद के साथ) जिसे विनीलमुलेटर कहा जाता है।

आप जीथब पर फाइलों के लिए स्रोत कोड देख सकते हैं:

इसे हमारे रास्पबेरी पाई पर स्थापित करने के लिए हमें इसे निम्नलिखित कमांड के साथ जीथब से क्लोन करना होगा:

गिट क्लोन

चरण 22: विनीलमुलेटर को अनुकूलित करें

विनीलमुलेटर को अनुकूलित करें
विनीलमुलेटर को अनुकूलित करें
विनीलमुलेटर को अनुकूलित करें
विनीलमुलेटर को अनुकूलित करें

रास्पबेरी पाई फ़ाइल प्रबंधक खोलें और होम> पीआई> विनीलेम्यूलेटर पर नेविगेट करें

फ़ाइल खोलें usersettings.py

इस फ़ाइल की एक पंक्ति पढ़ेगी:

सोनोसरूम = "भोजन कक्ष"

आप जिस भी सोनोस रूम का नाम नियंत्रित करना चाहते हैं, उसमें "डाइनिंग रूम" बदलें।

इस फ़ाइल में एक सेटिंग भी है जो आपको sonos-http-api के आईपी पते को अनुकूलित करने की अनुमति देती है। आप इसे "लोकलहोस्ट" के रूप में अपरिवर्तित छोड़ने में सक्षम होना चाहिए, जिसका अर्थ है कि यह रास्पबेरी पाई का उपयोग करेगा जिस पर यह चल रहा है।

फ़ाइल को सहेजें और इसे बंद करें।

चरण 23: विनीलमुलेटर का परीक्षण करें

टेस्ट विनीलमुलेटर
टेस्ट विनीलमुलेटर
टेस्ट विनीलमुलेटर
टेस्ट विनीलमुलेटर

अपने रास्पबेरी पाई कमांड प्रॉम्प्ट पर जाएं।

निम्न आदेश दर्ज करें:

पायथन विनीलेम्यूलेटर/readnfc.py

यदि सब कुछ ठीक रहा तो यह स्क्रिप्ट को लोड करेगा और कहेगा कि पाठक तैयार है। पाठक पर प्रकाश हरा जाना चाहिए।

रीडर पर एनएफसी टैग लगाएं, जो बीप करेगा।

टर्मिनल दिखाएगा कि उसने एनएफसी टैग से क्या पढ़ा है और HTTP अनुरोध पता दिखाएगा जो उसने भेजा है। आपकी पसंद का एल्बम आपके सोनोस स्पीकर से चलना चाहिए।

यह स्क्रिप्ट तब तक चलती रहेगी जब तक आप टर्मिनल विंडो बंद नहीं कर देते। आप विभिन्न एल्बम एनएफसी टैग टैप कर सकते हैं और यह उस एल्बम पर स्विच हो जाएगा।

चरण 24: लगातार और स्टार्टअप पर चलने के लिए विनीलमुलेटर प्राप्त करें

सोनोस-एचटीटीपी-एपीआई की तरह, हम चाहते हैं कि विनीलेम्यूलेटर हर समय चलता रहे, न कि जब हम इसे कहते हैं। हम इसे फिर से करने के लिए pm2 का उपयोग कर सकते हैं।

सबसे पहले आपके द्वारा चलाए जा रहे विनाइल एमुलेटर के किसी भी इंस्टेंस को उनके टर्मिनल विंडो को बंद करके बंद करें।

फिर एक नई टर्मिनल विंडो खोलें और निम्नलिखित दो कमांड टाइप करें:

pm2 vinylemulator/readnfc.py शुरू करें

दोपहर 2 बचाओ

आइए देखें कि क्या रास्पबेरी पाई को रिबूट करके काम किया है। (आप या तो sudo रिबूट टाइप कर सकते हैं या अपने माउस से रास्पबेरी मेनू से ऐसा कर सकते हैं।

पीआई के फिर से शुरू होने की प्रतीक्षा करें और देखें कि यह रीडर पर एनएफसी टैग को टैप करके काम करता है। आपको संगीत मिलना चाहिए।

चरण 25: खुद को बधाई दें

सब कुछ अब कार्यात्मक है। आप रास्पबेरी पाई को कहीं भी ले जा सकते हैं जहां आप इसे साइट करने की योजना बना रहे हैं। जब भी आप इसे प्लग इन करते हैं, तो यह फिर से चालू हो जाएगा और उस तरह से काम करेगा जैसे आपने इसे सेट अप किया है।

आपके अगले कार्य मज़ेदार हैं: इसे सुंदर बनाना।

चरण 26: इसे सुंदर बनाएं - अपने पाठक को छुपाएं

इसे सुंदर बनाएं - अपने पाठक को छुपाएं
इसे सुंदर बनाएं - अपने पाठक को छुपाएं
इसे सुंदर बनाएं - अपने पाठक को छुपाएं
इसे सुंदर बनाएं - अपने पाठक को छुपाएं
इसे सुंदर बनाएं - अपने पाठक को छुपाएं
इसे सुंदर बनाएं - अपने पाठक को छुपाएं
इसे सुंदर बनाएं - अपने पाठक को छुपाएं
इसे सुंदर बनाएं - अपने पाठक को छुपाएं

इसे सुंदर बनाने का पहला भाग गंदा सफेद प्लास्टिक एनएफसी रीडर को कहीं दूर छिपा रहा है।

मैं अपने सोनोस प्ले: 5 के बगल में एक काउंटर के नीचे इसे टैप करने के एक निश्चित रूप से कम तकनीकी विकल्प के साथ गया हूं। काउंटर की लकड़ी इतनी पतली है कि एनएफसी गुजर सकता है, इसलिए मैं एक जादुई और अदृश्य स्थान पर एनएफसी टैग को टैप करके संगीत बजाता हूं।

सिफारिश की: