جدول المحتويات:

صندوق بث راديو بزر واحد: 7 خطوات (بالصور)
صندوق بث راديو بزر واحد: 7 خطوات (بالصور)

فيديو: صندوق بث راديو بزر واحد: 7 خطوات (بالصور)

فيديو: صندوق بث راديو بزر واحد: 7 خطوات (بالصور)
فيديو: مداهمة درباويه والقبض على احدهم 2024, سبتمبر
Anonim
صندوق بث راديو بزر واحد
صندوق بث راديو بزر واحد

لقد صنعت صندوقًا لشريط صديقي يحتوي على Raspberry Pi بداخله وبضغطة زر واحدة ، فإنه يبث الصوت إلى موقع ويب باستخدام Darkice و Icecast ، بينما يضيء في نفس الوقت علامة "On-Air". اعتقدت أن هذا شيء كان يفعله الناس بالفعل ولكن بعد بحث مكثف لم أجد شيئًا وقررت اكتشافه بنفسي وجعل هذا Instructable.

لقد استخدمت Raspberry Pi 3+ B ولكن بقدر ما أستطيع أن أقول أنه سيعمل على أي Pi (ربما تختلف أرقام دبوس GPIO ، لا يمكنني أن أشهد على ذلك رغم ذلك). لقد استخدمت حزمة NOOBS لنظام التشغيل واشتريت بطاقة صوت فائقة البساطة للإدخال. أضفت أيضًا زر إيقاف التشغيل الآمن ومصباح LED للنشاط إلى الصندوق لحماية Pi.

سوف تحتاج:

فطيرة التوت

حزمة NOOBS على بطاقة SD

مفتاح التشغيل / الإيقاف (لقد استخدمت زر إيقاف طوارئ أحمر كبير مثل هذا ، ولكن يمكن أن يكون أي نوع من مفتاح "النقر")

اضغط الزر

1 ليد

علامة "On-Air" ، صنعت علامة خاصة بي باستخدام مجموعة LED

لحام الحديد ولوحة الموصل الصغيرة (لقد قطعت للتو شريطًا من أحد هذه الأشياء التي كان لدي حولها)

بطاقة الصوت (استخدمت واحدة فائقة البساطة مثل هذه)

الخطوة 1: قم بإعداد الخادم الخاص بك

بالنسبة لمحطة الراديو الفعلية التي نستخدمها ، لم أفعل هذا الجزء حيث لم يكن لدي وصول إلى الخادم وقام صديقي بذلك ، ولكن هناك دليل إعداد أساسي على موقع Icecast وتمكنت من الحصول عليه إنه يعمل من Pi في البداية فقط لنرى كيف تسير الأمور. بدلاً من ذلك ، يمكنك الحصول على حساب على internet-radio.com وهو يعمل مع Darkice.

الخطوة 2: قم بإعداد Pi وتثبيت Darkice

احصل على بطاقة SD مع حزمة NOOBS. بمجرد فتح Raspbian وتثبيت جميع التحديثات ، افتح نافذة Terminal واكتب:

sudo apt-get update

sudo apt-get install darkice

Darkice هو جزء من دبيان ، لذا سيتم تثبيته تلقائيًا ، ويستغرق الأمر بضع لحظات.

بمجرد الانتهاء من ذلك ، اكتب الموجه:

داركيس

سيعطي رسالة خطأ ولن يعمل ، لكن هذا جيد. ستظهر في الرسالة شيئًا مثل:

باستخدام ملف التكوين: /etc/darkice.cfg

تحتاج إلى تحرير هذا الملف ، لذا في نوع المطالبة:

sudo nano /etc/darkice.cfg

قم بتحرير الملف الذي يفتح باستخدام المعلومات الموجودة في هذا الويكي. صفحة المرجع الإشعاعي ، عند الانتهاء ، اضغط على CTRL-X للإغلاق ، و Y للحفظ ، ويجب عليك العودة إلى موجه المحطة الطرفية. من الجيد دائمًا إعادة التشغيل بعد تثبيت برنامج جديد ، لذا اكتب:

اعادة التشغيل

وعندما تتم إعادة تشغيل Pi ، أعد فتح نافذة طرفية. الآن عند كتابة "Darkice" ، يجب تشغيله بدون أي رسائل خطأ. إذا ذهبت إلى https:// YOURSERVERADDRESS: 8000 / (8000 أو أي منفذ تم تعيين خادم icecast له) ، فيجب أن تحصل على صفحة إحصائيات تفيد بأنك متصل. إذا لم يكن الأمر كذلك ، فقم بتعديل ملف التكوين (أعطاني خط إدخال الصوت بعض المشكلات لكنني جربت جميع الخيارات وعثرت في النهاية على بطاقة الصوت الخاصة بي). بمجرد تشغيل Darkice بشكل صحيح ، انتقل إلى الخطوة التالية.

الخطوة 3: زر البث والإشارة على الهواء

زر دفق وعلامة على الهواء
زر دفق وعلامة على الهواء

لقد قمت بمجموعة من البرامج التعليمية المختلفة لهذا لأنه لم يكن هناك برنامج محدد لتعيين إجراء إلى زر في Python. كانت المشكلة الأكبر التي واجهتها هي تشغيل Darkice في الخلفية (وبالتالي عدم تجميد نص Python عند بدء تشغيله) لكنني طلبت من صديق مبرمج أن يأتي ويساعدني وقد توصل إلى طريقة للقيام بذلك كتابة الأوراق ، وهو شيء أنا لا تحصل. يبدو أنه من الممكن أيضًا استخدام "&" في مكان ما في الكود ولكنني لست مبرمجًا وما لدي يعمل ، لذلك اخترت عدم العبث به. بمجرد أن أصبح كل شيء يعمل ، بدأت في تقليص جميع الكابلات من اللوح حتى تركت مع الإعداد التالي:

GPIO16 إلى موصل خارجي ثلاثي النقاط.

GPIO7 إلى الطرف الموجب لصفيف LED لعلامة ON-Air.

GPIO25 إلى مفتاح النقر.

يتم توصيل الجانب الآخر من مفتاح النقر بالموصل ثلاثي النقاط.

يتم توصيل الطرف السالب لصفيف LED أيضًا بالموصل ثلاثي النقاط.

(تم شرح المكونات الأخرى في الرسم التخطيطي في الخطوة التالية).

نص Python الذي انتهينا به هو على النحو التالي (يرجى ملاحظة أن هذا هو Instructable للمشروع بأكمله ، لا أعرف حقًا ما يكفي لشرح الكود. لقد جمعته معًا من العديد من البرامج التعليمية الأخرى لوظائف مختلفة):

استيراد timeimport os import RPi. GPIO كـ GPIO GPIO.set warnings (False) GPIO.setmode (GPIO. BOARD) ledPin = 12 buttonPin = 16 GPIO.setup (ledPin، GPIO. OUT) GPIO.setup (buttonPin، GPIO. IN، pull_up_down = GPIO. PUD_UP)

تبديل = خطأ

def start_darkice ():

print ('استدعاء العملية الفرعية') #result = subprocess.call ('sh screen -S darkice -d -m darkice') os.system ('screen -S darkice -d -m darkice') طباعة ('استئناف') def stop_darkice (): os.system ('screen -X -S darkice quit')

احيانا صحيح:

buttonState = GPIO.input (buttonPin) إذا كان buttonState == صواب: إذا لم يكن التبديل: toggle = True print ('تشغيل الظلام') start_darkice () #print ('BUTTON STATE TRUE') GPIO.output (ledPin ، GPIO. HIGH)

آخر:

إذا تبديل: toggle = False print ('stopping darkice') stop_darkice () #print ('BUTTON STATE FALSE') GPIO.output (ledPin، GPIO. LOW) time.sleep (1)

ملف py مرفق بهذا Instructible ، يمكنك فقط تنزيله واتباع الخطوة 5 إذا أردت.

الخطوة 4: زر إيقاف التشغيل الآمن ومصباح LED للنشاط

زر إيقاف التشغيل الآمن ومصباح LED للنشاط
زر إيقاف التشغيل الآمن ومصباح LED للنشاط

فقط من أجل السلامة وإطالة عمر Pi ، أضفت زر إغلاق آمن ومصباح LED خارجي للنشاط حتى يعرف الناس متى يكون فصل الصندوق آمنًا. لقد عثرت بسهولة على برامج تعليمية لكليهما ، لكنني لاحظت أن Raspberry Pi 3 B + يحتوي على ACT LED دبوس GPIO مخصص بينما النماذج السابقة لا تفعل ذلك وقد يكون ذلك مشكلة إذا كان لديك Pi أقدم.

قم بتوصيل الطرف الموجب من LED بـ GPIO13 والسالب بـ GPIO26. لكي يعمل ACT LED ، تحتاج إلى تحرير ملف config.txt في دليل BOOT. يمكنك العثور على هذا في متصفح Raspbian أو باستخدام:

sudo nano /usr/boot/config.txt

عندما تقوم بتحرير الملف ، قم ببساطة بإضافة الأسطر التالية:

# استخدم LED الخارجي مثل SD ACT LED dtoverlay = pi3-act-led ، gpio = 19

الآن تومض LED الخارجية مع نشاط بطاقة SD.

قم بتوصيل أطراف مفتاح الدفع بجهاز GPIO3 و GPIO8. لقد وجدت الكود التالي من برنامج تعليمي وهو يعمل بشكل جيد:

وقت الاستيراد من زر استيراد gpiozero من عملية الاستيراد الفرعية check_call من إيقاف استيراد الإشارة مؤقتًا

def اغلاق ():

check_call (['sudo'، 'poweroff'])

shutdown_btn = زر (2 ، hold_time = 1)

shutdown_btn.when_held = إيقاف التشغيل

وقفة()

time.sleep (1) الوقت

يتم إرفاق ملف py أيضًا لتنزيله إذا كنت تريد ذلك. يجب أن يظل الزر الخاص بي مضغوطًا لمدة ثانية واحدة ، إذا كنت تريد تغيير ذلك تغيير قيمة "وقت الانتظار =".

الخطوة 5: تشغيل نصوص Python من التمهيد

مرة أخرى ، هناك الكثير من البرامج التعليمية حول هذا الموضوع ، لقد استخدمت هذا من Dexter Industries واتبعت الخطوة الأولى بتحرير ملف rc.local.

sudo nano /etc/rc.local

هنا تحتاج إلى إضافة مسار الملف الكامل إلى نهاية المستند ، مع استكمال بعلامة "&" في نهاية كل سطر. يجب إضافة سطر واحد لكل ملف:

sudo python / home / pi / YOURFILENAME ، py &

sudo python /home/pi/YOURFILENAME2.py &

قبل السطر مباشرة

خروج 0

يعد الرمز "&" في نهاية كل سطر مهمًا لضمان تكرارات البرنامج.

الخطوة 6: بناء الصندوق

بناء الصندوق
بناء الصندوق
بناء الصندوق
بناء الصندوق
بناء الصندوق
بناء الصندوق

هذا الشي يتعلق بك كليا. يجب أن يكون حجمه فقط بحجم Pi ، لكنني وضعت ضاغطًا في إعدادي للحفاظ على تدفق الراديو عند مستوى ثابت إلى حد ما بحيث يكون الصندوق أكبر قليلاً. يوجد في المنجم فتحة في الأمام للعلامة On-Air وواحدة للزر الأحمر الكبير ، بالإضافة إلى أنني صنعت بطاقة تعليمات صغيرة لمنسقي الأغاني وقمت بتطعيمها أسفل الزر. يوجد على جانب الصندوق فتحة لزر الضغط و ACT LED ومدخل الصوت ، بالإضافة إلى تعليمات مطعمة لموظفي البار حول كيفية إغلاق الصندوق بأمان.

الخطوة 7: التثبيت

التركيب
التركيب
التركيب
التركيب
التركيب
التركيب
التركيب
التركيب

أصلح جميع المكونات المنفصلة في صندوقك ، مع الأخذ في الاعتبار أنه من الجيد دائمًا السماح ببعض دوران الهواء حول Pi لمنع ارتفاع درجة الحرارة. قم بتوصيل كبلات الصوت من جهاز الخلاط الخاص بك ، واضغط على الزر واستمتع بالبث!

موصى به: