विषयसूची:

एक बटन वाला रेडियो स्ट्रीमिंग बॉक्स: 7 कदम (चित्रों के साथ)
एक बटन वाला रेडियो स्ट्रीमिंग बॉक्स: 7 कदम (चित्रों के साथ)

वीडियो: एक बटन वाला रेडियो स्ट्रीमिंग बॉक्स: 7 कदम (चित्रों के साथ)

वीडियो: एक बटन वाला रेडियो स्ट्रीमिंग बॉक्स: 7 कदम (चित्रों के साथ)
वीडियो: Airbag | ये कैसे काम करते हैं? 2024, नवंबर
Anonim
एक बटन रेडियो स्ट्रीमिंग बॉक्स
एक बटन रेडियो स्ट्रीमिंग बॉक्स

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

मैंने रास्पबेरी पाई 3+ बी का उपयोग किया था, लेकिन जहां तक मैं बता सकता हूं कि यह किसी भी पाई पर काम करेगा (शायद जीपीआईओ पिन नंबर अलग-अलग होंगे, हालांकि मैं उस पर ध्यान नहीं दे सकता)। मैंने OS के लिए NOOBS पैकेज का उपयोग किया और इनपुट के लिए एक सुपर सिंपल साउंडकार्ड खरीदा। मैंने पाई की सुरक्षा के लिए बॉक्स में एक सुरक्षित शट-डाउन बटन और गतिविधि एलईडी भी जोड़ा।

आपको चाहिये होगा:

रास्पबेरी पाई

एसडी कार्ड पर एनओओबीएस पैकेज

चालू/बंद स्विच (मैंने इस तरह एक बड़ा लाल आपातकालीन स्टॉप बटन इस्तेमाल किया, लेकिन यह किसी भी तरह का 'क्लिक' स्विच हो सकता है)

दबाने वाला बटन

1 एलईडी

एक 'ऑन-एयर' चिन्ह, मैंने एक एलईडी सरणी के साथ अपना खुद का बनाया

टांका लगाने वाला लोहा और छोटा कनेक्टर-बोर्ड (मैंने इनमें से एक पट्टी को काट दिया जो मेरे पास थी)

साउंडकार्ड (मैंने इस तरह एक सुपर-सरल का इस्तेमाल किया)

चरण 1: अपना सर्वर सेट करें

वास्तविक रेडियो स्टेशन के लिए हम उपयोग कर रहे हैं मैंने यह हिस्सा नहीं किया क्योंकि मेरे पास सर्वर तक पहुंच नहीं थी और मेरे दोस्त ने इसे किया था, लेकिन Icecast वेबसाइट पर एक बुनियादी सेट-अप गाइड है और मैं इसे प्राप्त करने में कामयाब रहा यह शुरुआत में पीआई से काम कर रहा है यह देखने के लिए कि यह कैसा चल रहा है। वैकल्पिक रूप से आप internet-radio.com पर एक खाता प्राप्त कर सकते हैं और यह डार्किस के साथ काम करता है।

चरण 2: पाई सेट अप करें और डार्किस स्थापित करें

NOOBS पैकेज वाला SD कार्ड प्राप्त करें। एक बार जब आप रास्पियन खोल लेते हैं और सभी अपडेट इंस्टॉल कर लेते हैं तो एक टर्मिनल विंडो खोलें और टाइप करें:

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

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

डार्किस डेबियन का हिस्सा है इसलिए यह अपने आप इंस्टॉल हो जाएगा, इसमें कुछ क्षण लगते हैं।

एक बार जब यह प्रॉम्प्ट प्रकार पर समाप्त हो जाता है:

अंधेरा

यह एक त्रुटि संदेश देगा और नहीं चलेगा, लेकिन यह ठीक है। संदेश में यह कुछ ऐसा कहेगा:

कॉन्फ़िग फ़ाइल का उपयोग करना: /etc/darkice.cfg

आपको उस फ़ाइल को संपादित करने की आवश्यकता है, इसलिए शीघ्र प्रकार पर:

सुडो नैनो /etc/darkice.cfg

इस विकी पर जानकारी का उपयोग करके खुलने वाली फ़ाइल को संपादित करें। रेडियोरेफरेंस पृष्ठ, जब आप समाप्त कर लें, तो बंद करने के लिए CTRL-X दबाएं, सहेजने के लिए Y दबाएं और आपको टर्मिनल प्रॉम्प्ट पर वापस जाना चाहिए। नया प्रोग्राम इंस्टॉल करने के बाद रीबूट करना हमेशा अच्छा होता है इसलिए टाइप करें:

रीबूट

और जब Pi ने फिर से शुरू किया है तो एक टर्मिनल विंडो को फिर से खोलें। अब जब आप 'डार्किस' टाइप करते हैं तो यह बिना किसी त्रुटि संदेश के चलना चाहिए। यदि आप https://YourSERVERADDRESS:8000/ (8000 या जो भी पोर्ट आपके आइसकास्ट सर्वर को सौंपा गया है) पर जाते हैं, तो आपको एक सांख्यिकी पृष्ठ प्राप्त करना चाहिए जिसमें कहा गया हो कि आप कनेक्टेड हैं। यदि नहीं, तो कॉन्फ़िग फ़ाइल को ट्वीक करें (ऑडियो इनपुट लाइन ने मुझे कुछ समस्याएं दीं लेकिन मैंने सभी विकल्पों की कोशिश की और अंततः मेरा साउंडकार्ड मिल गया)। एक बार जब डार्किस ठीक से चल रहा हो तो अगले चरण पर आगे बढ़ें।

चरण 3: स्ट्रीम बटन और ऑन-एयर साइन

स्ट्रीम बटन और ऑन-एयर साइन
स्ट्रीम बटन और ऑन-एयर साइन

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

GPIO16 एक बाहरी 3-बिंदु कनेक्टर के लिए।

GPIO7 ऑन-एयर साइन के लिए LED ऐरे के पॉज़िटिव टर्मिनल पर।

GPIO25 क्लिक-स्विच के लिए।

क्लिक-स्विच का दूसरा पक्ष 3-बिंदु कनेक्टर से जुड़ जाता है।

एलईडी सरणी का नकारात्मक टर्मिनल भी 3-बिंदु कनेक्टर से जुड़ता है।

(आरेख के अन्य घटकों को अगले चरण में समझाया गया है)।

हमने जिस पायथन लिपि को समाप्त किया वह इस प्रकार है (कृपया ध्यान दें कि यह पूरी परियोजना के लिए एक निर्देश योग्य है, मैं वास्तव में कोड की व्याख्या करने के लिए पर्याप्त नहीं जानता। मैंने इसे विभिन्न कार्यों के लिए विभिन्न अन्य ट्यूटोरियल से एक साथ जोड़ा है):

आयात समय आयात ओएस GPIO GPIO के रूप में RPi. GPIO आयात करें। =GPIO. PUD_UP)

टॉगल = झूठा

def start_darkice ():

प्रिंट ('कॉलिंग सबप्रोसेस') #result = सबप्रोसेस। कॉल ('sh स्क्रीन-एस डार्किस-डी-एम डार्किस') ओएस सिस्टम ('स्क्रीन-एस डार्किस-डी-एम डार्किस') प्रिंट ('फिर से शुरू') डीईएफ़ stop_darkice (): os.system ('स्क्रीन -X -S डार्किस क्विट')

जबकि सच:

बटनस्टेट = जीपीआईओ.इनपुट (बटनपिन) अगर बटनस्टेट == सच: अगर टॉगल नहीं है: टॉगल = ट्रू प्रिंट ('डार्किस चालू करना') start_darkice() #प्रिंट ('बटन स्टेट ट्रू') GPIO.output (ledPin, GPIO. HIGH))

अन्यथा:

अगर टॉगल: टॉगल = झूठा प्रिंट ('अंधेरा रोकना') stop_darkice () #प्रिंट ('बटन राज्य गलत') GPIO.output (ledPin, GPIO. LOW) समय। नींद (1)

इस निर्देश के साथ py फ़ाइल संलग्न है, आप इसे डाउनलोड कर सकते हैं और यदि आप चाहें तो चरण 5 का अनुसरण कर सकते हैं।

चरण 4: सुरक्षित शटडाउन बटन और गतिविधि एलईडी

सुरक्षित शटडाउन बटन और गतिविधि एलईडी
सुरक्षित शटडाउन बटन और गतिविधि एलईडी

बस सुरक्षा के लिए और पाई के जीवन को लम्बा करने के लिए मैंने एक सुरक्षित शटडाउन बटन और एक बाहरी गतिविधि एलईडी जोड़ा ताकि लोगों को पता चले कि बॉक्स को अनप्लग करना कब सुरक्षित है। मुझे इन दोनों के लिए आसानी से ट्यूटोरियल मिल गए, लेकिन मैंने देखा कि रास्पबेरी पाई 3 बी + में एक एसीटी एलईडी असाइन किया गया जीपीआईओ पिन है, जबकि पहले के मॉडल नहीं हैं और यदि आपके पास पुराना पीआई है तो यह समस्याग्रस्त हो सकता है।

एलईडी के पॉजिटिव टर्मिनल को GPIO13 से और नेगेटिव को GPIO26 से अटैच करें। ACT LED को काम करने के लिए आपको BOOT डायरेक्टरी में config.txt फाइल को एडिट करना होगा। आप इसे रास्पियन ब्राउज़र में या इसके साथ पा सकते हैं:

सुडो नैनो /usr/boot/config.txt

जब आप फ़ाइल को संपादित कर रहे हों तो बस निम्नलिखित पंक्तियाँ जोड़ें:

# बाहरी एलईडी का उपयोग SD ACT LED के रूप में करें dtoverlay=pi3-act-led, gpio=19

अब बाहरी एलईडी एसडी कार्ड गतिविधि के साथ झिलमिलाहट करेगा।

पुश स्विच टर्मिनलों को GPIO3 और GPIO8 से संलग्न करें। मुझे एक ट्यूटोरियल से निम्न कोड मिला और यह ठीक काम करता है:

आयात समय से gpiozero आयात बटन उपप्रक्रिया से आयात check_call सिग्नल आयात विराम से

डीईएफ़ शटडाउन ():

check_call (['सुडो', 'पावरऑफ'])

शटडाउन_बीटीएन = बटन (2, होल्ड_टाइम = 1)

शटडाउन_बीटीएन.जब_हेल्ड = शटडाउन

विराम ()

समय सो जाओ(1)

यदि आप चाहें तो डाउनलोड करने के लिए यह py फ़ाइल भी संलग्न है। मेरे बटन को 1 सेकंड के लिए रोकना होगा, यदि आप उस परिवर्तन को बदलना चाहते हैं तो 'होल्ड-टाइम =' मान बदल दें।

चरण 5: पायथन लिपियों को बूट से चलाएं

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

सुडो नैनो /etc/rc.local

यहां आपको दस्तावेज़ के अंत में पूर्ण फ़ाइल-पथ जोड़ने की आवश्यकता है, प्रत्येक पंक्ति के अंत में एक '&' के साथ पूरा करें। आपको प्रत्येक फाइल के लिए एक पंक्ति जोड़नी चाहिए:

सुडो पायथन / होम / पीआई / YourFILENAME, py और

sudo python /home/pi/YourFILENAME2.py &

लाइन से ठीक पहले

बाहर निकलें 0

प्रोग्राम लूप सुनिश्चित करने के लिए प्रत्येक पंक्ति के अंत में '&' महत्वपूर्ण है।

चरण 6: बॉक्स बनाएँ

बॉक्स बनाएँ
बॉक्स बनाएँ
बॉक्स बनाएँ
बॉक्स बनाएँ
बॉक्स बनाएँ
बॉक्स बनाएँ

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

चरण 7: स्थापना

इंस्टालेशन
इंस्टालेशन
इंस्टालेशन
इंस्टालेशन
इंस्टालेशन
इंस्टालेशन
इंस्टालेशन
इंस्टालेशन

अपने बॉक्स में सभी अलग-अलग घटकों को ठीक करें, यह ध्यान में रखते हुए कि अधिक गरम होने से बचाने के लिए पाई के चारों ओर कुछ वायु परिसंचरण की अनुमति देना हमेशा अच्छा होता है। अपने मिक्सर से ऑडियो केबल संलग्न करें, बटन दबाएं और प्रसारण का आनंद लें!

सिफारिश की: