विषयसूची:

इसे सरल इंटरनेट रेडियो रखना: KISSIR: १३ कदम
इसे सरल इंटरनेट रेडियो रखना: KISSIR: १३ कदम

वीडियो: इसे सरल इंटरनेट रेडियो रखना: KISSIR: १३ कदम

वीडियो: इसे सरल इंटरनेट रेडियो रखना: KISSIR: १३ कदम
वीडियो: Modi-Congress पर Prashant Kishore ने Saurabh Dwivedi के सामने ये खुलासा किया। PK Interview 2024, नवंबर
Anonim
इसे सरल इंटरनेट रेडियो रखना: KISSIR
इसे सरल इंटरनेट रेडियो रखना: KISSIR
इसे सरल इंटरनेट रेडियो रखना: KISSIR
इसे सरल इंटरनेट रेडियो रखना: KISSIR

कभी-कभी इसे सिर्फ स्पर्शपूर्ण होना पड़ता है। किसी भी प्रकार का कोई इंटरफ़ेस नहीं। बस बटन।

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

हम रंग कोडित बटनों का उपयोग करते हुए एक बहुत ही बुनियादी डिजाइन के साथ शुरुआत करेंगे, प्रत्येक रंग एक इंटरनेट रेडियो स्टेशन का प्रतिनिधित्व करेगा। हम बटन प्रेस को संभालने के लिए कुछ पायथन कोड पेश करेंगे: प्रेस MPG123 का उपयोग करके एक प्री-कोडेड इंटरनेट रेडियो स्टेशन चलाने के लिए एक कमांड निष्पादित करेगा, जो हमारे पीआई पर ऑडियो चलाने के लिए एक महान कमांड लाइन टूल है।

आपके अजगर कौशल को उन्नत होने की आवश्यकता नहीं है। वास्तव में मैं इसे लिखने के लिए "हैलो वर्ल्ड" से गया था, और जैसा कि आप देखेंगे, मैंने बहुत सारे कोड उधार लिए हैं - इसलिए यदि मैं इसे कर सकता हूं और इसे कुछ हद तक प्रलेखित कर सकता हूं, तो किसी और को कोई समस्या नहीं होनी चाहिए।

चलिए चलते हैं!

आपूर्ति:

आवश्यक सामग्री

  • रास्पबेरी पीआई / पीआई शून्य डब्ल्यू सभी फिक्सिंग के साथ: बिजली की आपूर्ति, एसडी कार्ड और रास्पियन या रास्पियन लाइट।
  • वाईफाई और इंटरनेट का उपयोग
  • रास्पबेरी पाई के लिए कुछ वेब ब्राउज़िंग और एसएसएच की क्षमता करने के लिए एक और पीसी
  • डिजिटल से एनालॉग कनवर्टर (डीएसी) - वैकल्पिक लेकिन आप आभारी होंगे।
  • एम्पलीफायर
  • वक्ताओं
  • हुकअप वायर और जंपर्स
  • सोल्डरिंग आयरन और सोल्डर
  • बटन के लिए परफेक्ट बोर्ड
  • स्पर्शनीय बटन: आम तौर पर खुला- संगीत की प्रत्येक शैली के लिए एक, एक पावर बटन, और एक वैकल्पिक म्यूट बटन (अनुशंसित 7 बटन)
  • उपरोक्त सभी के लिए एक आवास इकाई (वैकल्पिक लेकिन सुव्यवस्थित)

चरण 1: पूर्व-आवश्यकताएं:

पूर्व-आवश्यकताएं
पूर्व-आवश्यकताएं

हम यह मानकर शुरू करेंगे कि आपने पहले ही अपना रास्पबेरी पाई, डीएसी और एम्पलीफायर सेटअप कर लिया है, और यह भी मान लेंगे कि आपके पास इंटरनेट तक पहुंच है। ऑडियो उपकरण विकल्पों, वरीयताओं और ऑडियो सुनने के विकल्पों की मात्रा के कारण, हम मान लेंगे कि आपका सेटअप पहले ही पूरा हो चुका है: इस प्रोजेक्ट को शुरू करने से पहले आपके स्पीकर से ध्वनि आनी चाहिए। हमें रास्पबेरी पाई को ssh करने की भी आवश्यकता होगी, इसलिए pi कॉन्फ़िगरेशन का उपयोग करके, सुनिश्चित करें कि इंटरफेस में ssh सक्षम है। मैं रास्पियन लाइट का उपयोग करूंगा, और अनुशंसा करता हूं कि आपके पास इस परियोजना के लिए समर्पित एक ताजा एसडी कार्ड पर नवीनतम प्रति की एक नई स्थापना है। सफल होने पर हम एक स्टैंड अलोन फिक्स्चर का निर्माण करेंगे जिसे एक समर्पित श्रवण यंत्र के रूप में 24/7 पर संचालित किया जा सकता है।

चरण 2: पायथन और पिप स्थापित करें

मैं एक अलग पीसी का उपयोग करके पीआई को एसएसएच करना पसंद करता हूं, और एसएसएच सत्र का उपयोग करके सभी आवश्यक कार्य करता हूं, लेकिन मुझे लगता है कि शुरुआत में पीआई को मॉनिटर, कीबोर्ड और माउस पर सेट करना संभव है और सीधे पीआई पर काम करना संभव है काम करना और फिर एक स्टैंडअलोन के रूप में तैनात करना।

सबसे पहले हमारे सिस्टम और पायथन संस्करण की नियमित रखरखाव जांच करते हैं:

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

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

सुनिश्चित करें कि पायथन स्थापित है। टर्मिनल सत्र में कमांड प्रॉम्प्ट पर निम्न टाइप करें:

अजगर --संस्करण

यदि आप अजगर 2.7.13 (या इससे पहले) देखते हैं, तो आइए अजगर 3.+ स्थापित करें:

sudo apt-python3 स्थापित करें

sudo apt-पायथन-पाइप स्थापित करें

sudo apt-python3-pip स्थापित करें

sudo pip3 install --upgrad pip

चरण 3: MPG123 और Adafruit Blinka स्थापित करें

अब जबकि नींव रखी जा चुकी है, बस कुछ और इंस्टालेशन:

MPG123 वह ऑडियो सॉफ्टवेयर है जो हमारा संगीत बजाएगा। स्थापना वास्तव में सरल है:

sudo apt-mpg123 स्थापित करें

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

$ sudo pip3 एडफ्रूट-ब्लिंका स्थापित करें

इससे पहले कि हम आगे बढ़ें, यह सुनिश्चित करने के लिए एक त्वरित जाँच करें कि हमारे पास Alsa सेटअप है:

एप्ले --संस्करण

हमारे परिणामों को पढ़ना चाहिए: संस्करण 1.1.3 Jaroslav Kysela. द्वारा

चरण 4: Alsamixer. में वॉल्यूम को ५०% तक समायोजित करें

Alsamixer. में वॉल्यूम को ५०% तक समायोजित करें
Alsamixer. में वॉल्यूम को ५०% तक समायोजित करें
Alsamixer. में वॉल्यूम को ५०% तक समायोजित करें
Alsamixer. में वॉल्यूम को ५०% तक समायोजित करें

आइए अब एहतियाती उपाय करें और किसी भी बहरे आश्चर्य से बचने के लिए अपनी मात्रा को 50% तक समायोजित करें:

कमांड प्रॉम्प्ट पर, alsamixer टाइप करें:

अलसामिक्सर

अगर हम लाल सफेद और हरे रंग की स्क्रीन या 100% अधिकतम वॉल्यूम की स्क्रीन देख रहे हैं, तो हमारे ईयरड्रम्स को बचाने के लिए वॉल्यूम को 50% तक कम करना एक अच्छा विचार है। जरूरत पड़ने पर हम हमेशा बाद में (ऊपर या नीचे) समायोजित कर सकते हैं।

चरण 5: कुछ होमवर्क: सुनने लायक 5 रेडियो स्टेशन खोजें

कुछ होमवर्क: सुनने लायक 5 रेडियो स्टेशन खोजें
कुछ होमवर्क: सुनने लायक 5 रेडियो स्टेशन खोजें
कुछ होमवर्क: सुनने लायक 5 रेडियो स्टेशन खोजें
कुछ होमवर्क: सुनने लायक 5 रेडियो स्टेशन खोजें

हमें प्रत्येक बटन के लिए एक स्टेशन की आवश्यकता होगी। दरअसल, हमें स्टेशन के लिए यूआरएल की जरूरत पड़ेगी। बटन प्रेस इंटरनेट रेडियो स्टेशन के url को एक सरल, एक लाइन बिट कोड में कॉल करेगा। हालाँकि हम खुद से आगे निकल रहे हैं इसलिए हमें कुछ होमवर्क करना है; 5 रेडियो स्टेशन और उनके यूआरएल खोजें। 5 रेडियो स्टेशन ढूँढ़ना मुश्किल नहीं है, लेकिन उनके यूआरएल ढूँढना मुश्किल हो सकता है। मैं समझाता हूँ क्यों एक मिनट में।

SomaFm * शुरू करने के लिए एक बेहतरीन स्रोत है, खासकर यदि आपको अभी तक इस बारे में कोई जानकारी नहीं है कि आप क्या सुनना चाहते हैं। उनके पास विविध प्रकार के उदार संगीत विकल्प हैं, जिनमें से कोई भी मुझे आपत्तिजनक नहीं लगता, कोई विज्ञापन नहीं, और सबसे अच्छी बात: वे खुले तौर पर अपने यूआरएल साझा करते हैं। url प्राप्त करने के लिए, उस स्टेशन की छवि पर क्लिक करें जिसमें आपकी रुचि है, और बाईं ओर नेविगेशन बार पर, "डायरेक्ट स्ट्रीम लिंक्स" पर क्लिक करें। वहां से, एमपी3 अनुभाग ढूंढें, और उच्चतम प्लेबैक दर (यानी 128 बीट्स 64) के यूआरएल को परिमार्जन करें। यूआरएल को अभी के लिए टेक्स्ट एडिटर या नोटपैड में पेस्ट करें।

एक उदाहरण के रूप में, क्रिसमस रॉक्स को परिमार्जन करने के लिए, यूआरएल होगा: (हमें सर्वर विवरण की आवश्यकता नहीं है)

ice4.somafm.com/xmasrocks-128-mp3

यह SomaFm की दुनिया के बाहर थोड़ा सा डिसिएर हो जाता है। कई स्टेशन श्रोता और स्टेशन के बीच एक बिचौलिए का उपयोग करते हैं, चाहे वह विज्ञापन, विपणन या संभवतः ट्रैकिंग के लिए हो - और मैं आमतौर पर इस प्रकार के स्टेशनों से बचने की कोशिश करता हूं। चूंकि बिचौलिए पसंद करते हैं कि आप उनके माध्यम से स्टेशन को सुनें, आमतौर पर यूआरएल ढूंढना काफी मुश्किल होता है; और यहीं से Vtuner आता है।

*यदि मैंने आपसे अपने पसंदीदा रेडियो स्टेशन को दान करने पर विचार करने के लिए नहीं कहा, तो मुझे खेद होगा, क्योंकि कई स्टेशन पूरी तरह से श्रोता समर्थन पर निर्भर हैं।

चरण 6: वैकल्पिक: Vtuner का उपयोग करके URL को परिमार्जन करें

वैकल्पिक: स्क्रैप URL का Vtuner का उपयोग करना
वैकल्पिक: स्क्रैप URL का Vtuner का उपयोग करना
वैकल्पिक: स्क्रैप URL का Vtuner का उपयोग करना
वैकल्पिक: स्क्रैप URL का Vtuner का उपयोग करना

अब मजेदार हिस्सा आता है…। Vtuner होम पेज पर, ऊपरी दाएं कोने में उनके विशाल स्टेशन सूची लिंक को देखें। संगीत की एक शैली चुनें जिसमें आपकी रुचि है, और फिर सबसे तेज़ गति पर छाँटें, जहाँ आपको स्टेशनों की एक सूची दिखाई देगी। एक स्टेशन चुनें जो आपको लगता है कि आपको पसंद आ सकता है, लिंक या प्ले बटन पर क्लिक करें और संगीत का नमूना लें। यदि यह आपके लिए नहीं है, तो चिंता की कोई बात नहीं है, इस प्रक्रिया को तब तक दोहराएं जब तक कि हमें दीर्घकालिक आनंद के लिए उपयुक्त न मिल जाए। अपने स्क्रीन शॉट में, मैंने देशी संगीत का डिजिटल आवेग संस्करण चुना और अगली स्क्रीन पर, मैंने देखा कि यह क्रोएशिया से बाहर चल रहा है। क्रोएशिया से देशी संगीत बल्कि दिलचस्प लगता है।

मुझें यह पसंद है। लेकिन मैं यूआरएल कैसे प्राप्त करूं? बस स्टेशन के नाम के नीचे, स्टेशन की छवि के दाईं ओर सफेद स्थान पर राइट क्लिक करें, और "पृष्ठ स्रोत देखें" चुनें और लगभग 150 पंक्ति तक स्क्रॉल करें। हम उस रेखा की तलाश कर रहे हैं जो कहती है "// कोशिश करें" आइसकास्ट को संभालने के लिए"। और url तुरंत नीचे मिल जाता है!

orion.shoutca.st:8110/stream

बहुत चालाक!

इस चरण को तब तक दोहराएं जब तक कि हमारी सूची में कम से कम 5 स्टेशन न हों।

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

चरण 7: हमारे बटन सेट करें

हमारे बटन सेट करें
हमारे बटन सेट करें
हमारे बटन सेट करें
हमारे बटन सेट करें

सबसे महत्वपूर्ण हिस्सा! पुराने टांका लगाने वाले लोहे को हटा दें या कम से कम इसे प्लग इन करें और धूल को बंद कर दें। यह सोल्डर का समय है। मैं 4 शूल क्षणिक पुश बटन का उपयोग कर रहा हूं, जो सामान्य रूप से खुले होते हैं। मैं बटनों की एक सरणी (बाएं फोटो) बनाऊंगा, और उन्हें कुछ पूर्ण बोर्ड पर बांध दूंगा। फोटो पर यह बताना मुश्किल है, लेकिन बटन की दिशा सभी उत्तर-दक्षिण में चल रही है। दाईं ओर, आप देख सकते हैं कि मैंने अपने ग्राउंड वायर के लिए ग्राउंड रेल कहाँ चलाई और प्रत्येक बटन के विपरीत दिशा में कुछ पुरुष एंडेड जम्पर केबल लगाए। 7 ग्राउंड कनेक्शन होने के बजाय, रेल हमें सभी के लिए पीआई से एक ग्राउंड कनेक्शन साझा करने की अनुमति देगा। अंतिम परिणाम एक नाजुक वेफर बोर्ड है जो प्रदान किए गए पायलट छेद के माध्यम से कुछ शिकंजा का उपयोग करके रेडियो के शीर्ष पर घुड़सवार होगा। मेरे द्वारा ऊपर से काटे गए खांचे के माध्यम से केवल बटन सबसे ऊपर दिखाई देंगे। चूंकि मेरी ऊपरी सतह केवल 1/4 मोटी है, इसलिए मैं सावधान रहना चाहता हूं कि अधिक पेंच न हो। रेडियो से जुड़े परफेक्ट बोर्ड को रखने के लिए गोंद मददगार हो सकता है।

चरण 8: हमारे GPIO पिन की पहचान करें

हमारे GPIO पिन की पहचान करें
हमारे GPIO पिन की पहचान करें
हमारे GPIO पिन की पहचान करें
हमारे GPIO पिन की पहचान करें

अपने एकमात्र अन्य निर्देश में, मैंने पुराने Google AIY संस्करण 1 वॉयस हैट्स के लिए एक नया उपयोग प्रस्तुत किया। इस व्यापक रूप से अलोकप्रिय (या संकीर्ण रूप से लोकप्रिय) निर्देश में, मैंने उल्लेख किया कि मैं टोपी के डिजाइन से कितना प्रभावित था। मेरे पास कुछ बिछा हुआ है, इसलिए मैं टोपी का उपयोग करके एक प्रोटोटाइप का निर्माण करूंगा क्योंकि इसमें डीएसी और एम्पलीफायर दोनों ऑनबोर्ड हैं।

आइए अब छह पिनों की पहचान करें जो हमारे बटन प्रेस को होस्ट करेंगे। मैं आपको Google AIY हैट के बाईं ओर ध्यान केंद्रित करने के लिए कहूंगा, जहां यह "सर्वो" कहता है। पिन के लिए 6 आईलेट्स का एक कॉलम है जहां मैं संलग्न करूंगा और सोल्डर मेरा पुरुष बटन हमारे पिछले चरण से समाप्त होता है। क्या आप google aiy Voice hat के बिना काम कर रहे हैं, कोई चिंता नहीं, - दाईं ओर का फोटो आपका मार्गदर्शन करेगा। किसी भी स्थिति में हम जीपीओ (बीसीएम) पिन 26, 06, 13, 05, 12, और 24 के साथ ऊपर से नीचे (या 0-5) तक काम करेंगे। GPIO #24 एक वैकल्पिक पॉज़ बटन के लिए आरक्षित होगा।

ग्राउंड कनेक्शन भी अटैच करना न भूलें।

चरण 9: कोड

मुझे संदेह है कि कोड यहां से बहुत बदल जाएगा, हालांकि पायथन कोड के नवीनतम संस्करण के लिए, कृपया मेरे जीथब पर जाएं। मैंने 2019-18-12 की एक प्रति संलग्न की है जिसे pytiful3.py कहा जाता है।

यह अब तक का सबसे कुशल कोड नहीं है, और यह बहुत ही क्रियात्मक है, लेकिन यह काम पूरा करता है।

आइए खेलने के लिए एक सैंडबॉक्स बनाकर शुरू करें। हमारे होम निर्देशिका से, हमारे रास्पबेरी पाई पर एक निर्देशिका बनाएं जिसे किसिर कहा जाता है:

एमकेडीआईआर किसिर/

और pytiful3.py फ़ाइल सामग्री को एक टेक्स्ट एडिटर में नमूना फ़ाइल खोलकर और उपयोग करके निर्देशिका में कॉपी करें

सुडो नैनो किसिर/pytiful3.py

फ़ाइल सामग्री को हमारी नई बनाई गई पायथन लिपि में कॉपी / पेस्ट करें। Ctrl-x, Y का उपयोग करके हमारे कार्य को सहेजना न भूलें और दर्ज करें।

यदि आप स्क्रिप्ट का एक त्वरित दौरा चाहते हैं, तो हम उन पायथन मॉड्यूल को आयात करते हैं जिनकी हमें आवश्यकता होगी, और फिर हम अपने बटनों को परिभाषित करते हैं और प्रत्येक 7 बटनों को एक gpio पिन असाइन करते हैं। 5 रेडियो स्टेशन होंगे (बेझिझक अपनी पसंद के अनुसार संपादित करें), एक हॉल्ट बटन और एक शटडाउन बटन। जबकि ट्रू लूप एक बटन दबाए जाने तक चलता और चलता है, जो ज्यादातर मामलों में किसी भी मौजूदा mpg123 प्लेबैक को रोक देगा और दबाए गए बटन को सौंपा गया स्टेशन खेलना शुरू कर देगा। पॉज़/हॉल्ट बटन वास्तव में पॉज़ बटन नहीं है, बल्कि एक किल स्विच है क्योंकि हम इंटरनेट रेडियो को पॉज़ नहीं कर सकते हैं। इंटरनेट रेडियो किसी का इंतजार नहीं करता।

चरण 10: हमारे सैंडबॉक्स में परीक्षण करें

हमारे सैंडबॉक्स में परीक्षण करें
हमारे सैंडबॉक्स में परीक्षण करें

इससे पहले कि हम अपना रेडियो परिनियोजित करें, जबकि अभी भी हमारे ssh सत्र में, किसिर फ़ोल्डर में नेविगेट करें जहां हमारी स्क्रिप्ट संग्रहीत है। हम कमांड लाइन से मैन्युअल रूप से टाइप करके स्क्रिप्ट चला सकते हैं:

python3 pytiful3.py

यदि आपने पहले कोड को देखा, तो आपने शायद देखा कि मैंने कुछ प्रिंट स्टेटमेंट छोड़े हैं ताकि हम बता सकें कि क्या हो रहा है। यदि सब कुछ ठीक रहा, तो हमारे पास एक संकेत होगा जिसमें लिखा होगा "एक बटन दबाएं"। यह बताता है कि हमारी स्क्रिप्ट चल रही है और इसने प्रारंभिक कोड जांच पास कर ली है। मेरे शुरुआती प्रयास में "संगीत रोका गया - जारी रखने के लिए बटन दबाएं" का एक अनंत लूप था, और मुझे पता चला कि मेरे पास सामान्य रूप से खुले होने के बजाय हमेशा बंद होने के लिए मेरा विराम बटन था। उम्मीद है कि आपको सोल्डरिंग स्टेप के साथ बेहतर किस्मत मिली होगी।

यदि आपको निरस्त करने की आवश्यकता है तो Ctrl-C स्क्रिप्ट को रोक देगा।

तो यदि आप "एक बटन दबाएं" देखते हैं, तो हम किसकी प्रतीक्षा कर रहे हैं? हमारे पांच रेडियो स्टेशन बटनों में से किसी एक का चयन करें।

संभावना है कि आप संगीत प्लेबैक शुरू करने के लिए एक स्पीकर पॉप सुनेंगे, और मैं फिलहाल इसमें मदद नहीं कर सकता। Mpg123 os.system कमांड में स्टेशन के पते के बाद "--preload 1" प्रत्यय के लिए अनुमति देता है, हालांकि मैं यह नहीं बता सका कि क्या इससे कोई फर्क पड़ता है। इसे मामूली बफर की अनुमति देनी चाहिए।

कोड का एक और बिट जिसके बारे में आपने सोचा होगा: mpg123 कॉल के बाद "-f 7000" ध्वज है। यह वॉल्यूम को अधिकतम वॉल्यूम की दूरी तक कम कर देता है। फुल वॉल्यूम 32K होगा। जैसा कि मैं समझता हूं, वॉल्यूम स्केल एक रैखिक स्केल नहीं है, इसलिए मैं यह नहीं कह सकता कि यह अधिकतम वॉल्यूम का केवल पांचवां हिस्सा है, लेकिन फिर भी बहुत जोर से है। मुझे ऐसा इसलिए करना पड़ा क्योंकि मेरा साउंडकार्ड - Google AIY वॉयस साउंडकार्ड, कभी-कभी Alsamixer के साथ अच्छा नहीं खेलता है।

अपनी पसंद के बटनों का चयन करना जारी रखें, वापस बैठें, आराम करें और अभी के लिए अपने सुनने के आराम का आनंद लें।

चरण 11: हमारे कोड को बूट पर स्वचालित रूप से चलाने के लिए सेट करें

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

सुडो सीपी pytiful3.py /usr/लोकल/बिन/

इसे निष्पादन योग्य बनाएं:

sudo chmod +x /usr/local/bin/pytiful3.py

स्टार्टअप पर इसे चलाने के लिए एक शेल स्क्रिप्ट लिखें:

सूडो नैनो pytiful3.sh

और निम्नलिखित पाठ डालें:

#! /bin/sh ### आरंभ जानकारी # प्रदान करता है: pytiful3.py # आवश्यक-प्रारंभ: $remote_fs $syslog # आवश्यक-रोकें: $remote_fs $syslog # डिफ़ॉल्ट-प्रारंभ: 2 3 4 5 # डिफ़ॉल्ट-रोकें: 0 1 6 ### अंत INIT जानकारी # सुनिश्चित करें कि वॉल्यूम स्तर ज़ोरदार नहीं है TODO # सिस्टम केस "$1" द्वारा पूछे जाने पर विशिष्ट कार्य करें) इको "Starting pytiful3.py" /usr/local/bin/pytiful3.py और;; स्टॉप) इको "स्टॉपिंग pytiful3.py" pkill -f /usr/local/bin/pytiful3.py;; *) गूंज "उपयोग: /etc/init.d/pytiful3.sh {शुरू | रोकें}" बाहर निकलें 1;; esac बाहर निकलें 0

इसे init.d पर ले जाएं:

सुडो एमवी pytiful3.sh /etc/init.d/

इसे निष्पादन योग्य बनाएं:

सुडो चामोद +x /etc/init.d/pytiful3.sh

स्टार्टअप पर चलने के लिए स्क्रिप्ट पंजीकृत करें:

sudo अद्यतन-rc.d pytiful3.sh डिफ़ॉल्ट

चरण 12: फिर से परीक्षण करें

अब जब हमारे पास स्टार्टअप पर चलने के लिए हमारी स्क्रिप्ट लोड हो गई है, तो बस याद रखें कि हमारे द्वारा किए गए किसी भी बदलाव को उपयोगकर्ता बिन में लाया जाना है, और हमारी सुंदर, किसिर/pytiful3.py स्क्रिप्ट अभी एक अनाथ है। लेकिन उज्जवल पक्ष में, हमारे पास खेलने के लिए अभी भी एक सैंडबॉक्स है। मैं शायद स्क्रिप्ट के साथ खेलना जारी रखूंगा, बदलाव करूंगा और निकट भविष्य में इसे एक नए संस्करण के रूप में सहेजूंगा। यह अभी भी एक कामकाजी परियोजना है।

आइए एक रिबूट करें, पीआई के पुनरारंभ होने की प्रतीक्षा करें, और लगभग एक मिनट के बाद, फिर से एक बटन दबाएं।

यदि आपका ऑडियो वॉल्यूम बहुत कम है, तो याद रखें कि हमारे पास alsamixer वॉल्यूम 50% है, इसलिए हम इसे कमांड प्रॉम्प्ट से तदनुसार बढ़ा सकते हैं।

शुरुआत के लिए, वॉल्यूम स्तर 5 को अलग-अलग बार बदलने के बजाय, एक चीज़ की आवश्यकता है जो वैश्विक वॉल्यूम मान है।

अरे, उन रेडियो स्टेशनों की सूची के बारे में क्या जिन्हें हमने चरण #6 में बनाया है? ठीक है, यह पता चला है कि MPG123 में एक यादृच्छिक चयन कमांड है। यह स्टेशन url की सूची बनाने जितना आसान है, और एक रेडियो स्टेशन url के लिए कॉल करने के बजाय, बस उपयोग करें

"btn1234_choice = random.choice(btn1234)", हमारे स्टेशनों की सूची की पहचान करने के तुरंत बाद, जहां btn1234_choice हमारी सूची है। कॉमा से अलग किए गए स्टेशनों की हमारी सूची के चारों ओर वर्गाकार कोष्ठक का उपयोग करना न भूलें। सबप्रोसेस कमांड कॉल तब हमारी यादृच्छिक पसंद को निभाता है:

subprocess.call(['mpg123', '-q', btn1234_choice, " --preload 1"])

चरण 13: बॉक्स इट अप, एंड वी आर डन

बॉक्स इट अप, एंड वी आर डन
बॉक्स इट अप, एंड वी आर डन
बॉक्स इट अप, एंड वी आर डन
बॉक्स इट अप, एंड वी आर डन
बॉक्स इट अप, एंड वी आर डन
बॉक्स इट अप, एंड वी आर डन

यदि आप इस चरण पर पहुंच गए हैं, तो काम पूरा हो गया है! बधाई हो - आपने अभी-अभी एक स्टैंडअलोन इंटरनेट रेडियो प्लेयर बनाया है।

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

जैसा कि आप ऊपर की तस्वीरों में देख सकते हैं - मैंने वास्तव में दो किसिर बनाए, एक मेरे पहले प्रयास में एक गोंद अप दुर्घटना के अवशेषों का उपयोग करके (विकृत हास्य से विकृत बोर्ड आता है)। दूसरी इकाई पारंपरिक स्पीकर के बजाय ध्वनि उत्तेजक का उपयोग करती है, और यदि आपने मेरे एक स्क्रीनशॉट पर डिवाइस का नाम उठाया, तो मैंने इसे स्लिमबॉक्स नाम दिया।

मुझे यह प्रोजेक्ट काफी मजेदार लगा। दोनों बार। निश्चित रूप से एक कठिन परियोजना नहीं है, शायद थोड़ा समय लगता है लेकिन बहुत फायदेमंद है। मुझे आशा है कि आप भी अपने सुनने का आनंद लेंगे।

सिफारिश की: