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

راديو كبير - Raspberry Pi: 8 خطوات
راديو كبير - Raspberry Pi: 8 خطوات

فيديو: راديو كبير - Raspberry Pi: 8 خطوات

فيديو: راديو كبير - Raspberry Pi: 8 خطوات
فيديو: Course Lesson 8 of 10: Follow Hand project with Raspberry Pi Pico 4WD Smart Car Kit 2024, يوليو
Anonim
راديو كبير - Raspberry Pi
راديو كبير - Raspberry Pi

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

تم تصميمه لتلبية احتياجات السماح للأفراد المعاقين بالقدرة على الاستماع إلى آلاف المحتوى المتدفق عبر الإنترنت المختلف الذي لا يتوفر عادة إلا من خلال متصفح الإنترنت. كثير من الناس ليس لديهم القدرة على استخدام مثل هذا الجهاز بسهولة ، لذلك يهدف هذا التصميم إلى إنشاء واجهة مألوفة لتقنية حديثة.

الوظيفة الأساسية موجودة على Github ، مخزنة في برنامج python 3.7.3 يسمى SeniorRadio.py. يقرأ ويكتب ملف json لتخزين حالة الراديو ، لذلك عند إيقاف تشغيله سوف يتذكر مستوى الصوت الحالي والمحطة المحددة. بالإضافة إلى ذلك ، يقرأ ملف json مستضاف على الإنترنت يمكنك تغييره! هذا يسمح لك بتحديث محطات الراديو عن بعد إذا كنت تعطي هذا لشخص آخر.

تم إنشاؤه حاليًا للاتصال بمكبر صوت بلوتوث ، ولكن يمكن بسهولة تشغيله على مكبر صوت داخلي أيضًا.

من المحتمل ألا يكون منشئ هذا الجهاز هو المستخدم ، ويحتاج على الأقل إلى بعض الخبرة في مجال الإلكترونيات والمعرفة الأساسية بالبرمجة. تجربة Linux مفيدة جدًا أيضًا.

بالنسبة للمستخدم ، الوظيفة بسيطة:

عند تشغيله ، سيتم تشغيل المحطة الأخيرة المحددة على جهاز الصوت الافتراضي. يتحكم الاتصال الهاتفي الأيسر في المحطة ، حيث تتغير بضع نقرات على الاتصال إلى عنوان URL جديد. سوف يتدحرج بعد الإدخال الأخير أو الأول. القرص الأيمن يتحكم في مستوى الصوت. يشير مؤشر LED إلى أن البرنامج قيد التشغيل. ويوقف زر الضغط مؤقتًا أو "يوقف" الراديو. وبمجرد تشغيله ، يمكن للمستخدم الضغط على الزر للإيقاف المؤقت / التشغيل ، أو "إيقاف / تشغيل" الراديو والقرصَين للتحكم فيه.

اللوازم

المرتبط في كل عنصر هو العنصر المحدد الذي استخدمته. كلفني حوالي 60 دولارًا أمريكيًا مع الكثير من الإمدادات المتبقية!

المعرفة الأساسية الإلكترونية ولينكس - للتجميع وتصحيح الأخطاء

Raspberry Pi Zero W (يحتوي Zero WH على رؤوس ملحومة مسبقًا ومن المحتمل أن تكون مفيدة)

بطاقة MicroSD-8 جيجا بايت + وقدرة o

محول طاقة MicroUSB 5V - يشتمل الرابط أيضًا على محول microUSB ومحول microUSB OTG إلى USB A للإعداد إذا كنت بحاجة إليها

سماعة بلوتوث

كابلات توصيل M / F و M / M

2 مشفر دوار - نفس الوصلة المذكورة أعلاه

لوح صغير

اضغط الزر

LED (اختياري) - اشترى LED + زر الضغط أعلاه

صندوق للتغليف

الخطوة 1: الإعداد (بدون رأس) Raspberry Pi W

الإعداد (مقطوعة الرأس) Raspberry Pi W
الإعداد (مقطوعة الرأس) Raspberry Pi W

نحتاج إلى إعداد نظام التشغيل على raspberry pi الذي سيقوم بتشغيل البرنامج. لا شيء من هذا فريد لهذا المشروع. لتصحيح الأخطاء ، أوصي بإعداده بحيث يمكنك أيضًا الوصول إليه في وضع مقطوعة الرأس. هذا يعني أنك تصل إلى pi عبر شبكة WiFi الخاصة بك من خلال واجهة المستخدم الرسومية أو محطة SSH ولا تحتاج إلى لوحة مفاتيح وماوس وشاشة لاستخدامها في كل مرة. يمكنك القيام بذلك دون الحاجة إلى الاتصال بشاشة / ماوس / لوحة مفاتيح على الإطلاق إذا كنت أكثر ذكاءً من الناحية التقنية. بعض الأمثلة على التعليمات هنا. ومع ذلك ، فهو أقل استقامة ، وأسفله طريقة أخرى لإعداده.

ستحتاج على الأرجح في هذه المرة الأولى إلى:

  • Raspberry Pi W
  • محول بطاقة MicroSD إلى SD [لكتابة نظام التشغيل على بطاقة SD]
  • بطاقة MicroSD (~ 8 غيغابايت +) [لتخزين نظام التشغيل وبرنامجنا]
  • طاقة MicroUSB (5 فولت)
  • MicroUSB إلى USB A [للماوس / لوحة المفاتيح]
  • محول Mini HDMI إلى HDMI [لإخراج العرض]
  • لوحة المفاتيح
  • الفأر
  • مراقب

أولاً ، ستحتاج إلى تحديث نظام التشغيل على بطاقة rPi micro SD.

لقد استخدمت raspian buster ، يمكنك تنزيل هذا على جهاز كمبيوتر به قارئ / كاتب بطاقة SD ثم وميض نظام التشغيل raspian على بطاقة SD. BalenaEtcher هو برنامج سهل للقيام بذلك

بعد ذلك ، ضع بطاقة SD في فتحة pi ، وقم بتوصيل الشاشة ولوحة المفاتيح والطاقة. تابع خطوات الإعداد التي يطالبك بها raspian ، بما في ذلك توصيله بشبكة WiFi الخاصة بك وإقران مكبر صوت البلوتوث من خلال واجهة المستخدم الرسومية. من الممارسات الجيدة تحديثه باستخدام الأوامر التالية

sudo apt-get update

sudo apt-get ترقية

إذا كنت تريد تضمين وضع علامة على pi بلا رأس ، فسنحتاج إلى الحصول على عنوان IP الخاص بـ pi أولاً. من خلال محطة يمكنك العثور عليها من خلال

ifconfig

أمر. تحتاج بعد ذلك إلى تمكين SSH و VNC عبر خيارات الواجهة في

sudo raspi-config

بعد إعادة التشغيل ، يمكنك الآن اختبار الوصول إلى pi عبر SSH أو VNC. SSH هو مجرد واجهة طرفية ، وقد تجد أنه من الأسهل استخدام واجهة المستخدم الرسومية لإقران مكبر صوت بلوتوث. يمكنك استخدام برنامج مثل VNC connect للوصول بسهولة إلى pi على جهاز كمبيوتر منفصل على شبكتك. يمكنك استخدام برنامج مثل المعجون إلى SSH فيه.

علاوة على ذلك ، يمكنك إعداد حساب سحابة VNC حتى تتمكن من الوصول إلى الجهاز خارج الشبكة إذا لزم الأمر

الخطوة 2: تثبيت برنامج راديو كبير

قم بتثبيت برنامج راديو كبار
قم بتثبيت برنامج راديو كبار

يمكن القيام بذلك من النافذة الطرفية لقرية التوت. تأكد أولاً من تثبيت git

sudo apt-get install git

اعتمادًا على نظام التشغيل الذي قمت بتثبيته ، قد تختلف هذه الخطوات حيث قد تحتاج إلى تثبيت حزم إضافية ، سيخبرك النظام إذا كان الأمر كذلك. نحتاج أولاً إلى تنزيل كود الراديو من جيثب. https://github.com/Bunborn/seniorRadio من الناحية المثالية ، أنت تقوم بعمل الريبو الخاص بنا حتى تتمكن من إجراء التغييرات وتغيير محطات الراديو بسهولة بنفس الطريقة التي أفعل بها. شوكة الريبو إذا كان الأمر كذلك

ومع ذلك ، يمكنك استخدام نفس ما لدي لا مشكلة إذا كنت ترغب في استضافة ملف json الخاص بالراديو في مكان آخر

ثم استنساخ الريبو في أي مكان تريده. الدليل الافتراضي جيد. احصل على عنوان URL الذي تريده github repo بالضغط على الزر الأخضر أو زر التنزيل.

مرة أخرى في نافذة المحطة ،

بوابة استنساخ

يجب أن تشاهد الآن دليلًا إضافيًا يسمى SeniorRadio عند البحث باستخدام ls. رائع!

يُقصد من الكود أن يكون توثيقًا ذاتيًا ، وسيكون من المفيد إلقاء نظرة عليه. خاصة لأغراض التصحيح وإذا كنت تقوم بتغيير النظام.

الخطوة الثالثة: تثبيت برنامج إضافي

قم بتثبيت برامج إضافية
قم بتثبيت برامج إضافية

قبل أن ننتقل إلى الدائرة ونختبرها ، نحتاج أيضًا إلى تنزيل VLC و python api لها. قد يكون لديك بالفعل تثبيت VLC. سيقوم الأمران الأولين بتحديث pi ، وسيقوم الأمران الأخيران أدناه بتثبيت VLC ثم python api

sudo apt-get update

sudo apt-get ترقية

sudo snap تثبيت VLC

sudo apt-get install vlc-python

بالإضافة إلى ذلك ، قم أيضًا بتثبيت gpiozero ، والذي سنستخدمه للتفاعل مع دبابيس GPIO الخاصة بـ pi. ربما تكون قد قمت بالفعل بتثبيته بناءً على نظام التشغيل الخاص بك.

sudo apt-get install gpiozero

الخطوة 4: البحث عن تدفقات محطات الراديو

البحث عن محطات الراديو تيارات
البحث عن محطات الراديو تيارات

التالي ، أحد أكثر الأجزاء متعة! حان الوقت لاختيار أي تدفقات تريدها.

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

للعثور على هذه المحطات ، يمكنك البحث عن البث المباشر عبر الإنترنت إذا كانت الخدمة تستضيفه. من الطرق السريعة أيضًا تشغيل البث ، والنقر بزر الماوس الأيمن على المتصفح والضغط على "فحص العنصر". انتقل إلى علامة تبويب الشبكة ويجب أن تشير إلى عنوان URL "المباشر" للدفق. يوضح فيديو youtube هذا هذا. يجب أن يساعد تحديث الصفحة بعلامة التبويب المفتوحة.

بمجرد أن تكون لديك محطاتك ، فأنت تريد وضعها على الإنترنت حتى يتمكن برنامج راديو بيثون الأقدم من الحصول عليها. هناك العديد من الخيارات للقيام بذلك ، يمكنك استخدام مواقع مثل Github أو bitbucket أو حتى sourceforge. الغرض الرئيسي من استضافة هذه القائمة عبر الإنترنت هو أن يقوم المستخدم بإعدادها لتغيير قائمة البث عبر الإنترنت عن بُعد.

في بداية برنامج python ، يوجد متغير يسمى url ، ما عليك سوى تغيير هذا ليكون عنوان URL لملف json الخاص بك مع روابط URL الخاصة بالمحطة

يمكنك اتباع نفس تنسيق ملف internetStation.json الخاص بي. إذا كنت تريد أيضًا استخدام github ، فيمكنك ببساطة تفرع مستودع أجهزة الراديو العليا ، وتحرير ملف internetStation.json الخاص بك وتوجيهه إلى عنوان URL "الخام". يمكنك أن تجد ذلك أدناه في Github GUI بمجرد النقر فوق الملف.

الخطوة 5: إنشاء الدوائر

إنشاء الدوائر
إنشاء الدوائر

الآن نحن بحاجة إلى إعداد الدائرة. سيتغير هذا بناءً على أجهزتك ، ولكن فيما يلي كيفية إعدادها.

pinout.xyz/ للإشارة إلى المسامير التي. نظرًا لأننا نستخدم مكتبة gpiozero ، فنحن مهتمون بترقيم رقم التعريف الشخصي لـ BCM فقط. لاحظ أنني اشتريت عددًا قليلاً من أجهزة التشفير الدوارة الإضافية KY040 - الأوجه - لاختبارها لأنها لا تتمتع جميعها بنفس الدقة. كل واحد لديه بعض "الارتداد" ، أو ببساطة ناتج غير صحيح ، لذلك اخترت أفضل ما لدي. ستلاحظ في الكود أن هناك بعض الخطوات للحد من هذا الارتداد أيضًا.

لقد قمت بتوصيل زر الضغط الخاص بي بمسمار BCM 17 والأرض

الصمام الخاص بي لمقاوم 1 كيلو أوم ثم دبوس BCM 27 والأرضي

كانت أجهزة التشفير الدوارة KY040 الخاصة بي تحتوي على + يؤدي إلى 5V ، و GND إلى الأرض و SW مفصول. تم توصيل هذه على لوح صغير

المشفر الدوار للمحطة dt pin متصل بدبوس BCM 21

محطة التشفير الدوارة clk pin متصل بـ BCM pin 20

مشفر مستوى الصوت الدوار dt pin متصل بـ BCM pin 19

المشفر الدوار لمستوى الصوت clk pin متصل بـ BCM pin 16

إذا قمت بتغيير هذه المسامير ، فما عليك سوى تحديث الرقم في برنامج python وكذلك مكان إعداد المعالجات

لقد استخدمت لوحة توصيل صغيرة لتسهيل ذلك. لقد استخدمت أسلاك توصيل M / M و M / F أيضًا لتسهيل الواجهة. لقد قمت بلحام بعض أسلاك العبور المؤدية إلى دبابيس زر الضغط / LED الذي اشتريته سابقًا. لعدم اللحام ، يمكنك الحصول على أزرار الضغط ومصابيح LED التي تحتوي بالفعل على أسلاك توصيل توصيل أو يمكن توصيلها بسهولة بأحدها.

الخطوة 6: اختبرها

الآن ، يجب أن يكون لديك نظام فعال! دعونا نختبرها. انتقل إلى المجلد باستخدام برنامج python ، على الأرجح:

راديو كبار

python3 SeniorRadio.py

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

sudo apt-get install python3.7

بعض المشكلات المحتملة حتى إذا تم تشغيل البرنامج:

لا أسمع أي صوت

تأكد من تشغيل مكبر الصوت وتحديده في raspberry pi. من خلال واجهة المستخدم الرسومية ، يجب أن تكون قادرًا على إقرانه ثم تحديده كجهاز إخراج الصوت الخاص بك. علاوة على ذلك ، تحقق من برامج تشغيل الصوت الخاصة بك. هناك مشكلة شائعة وهي أنك قد تحتاج إلى إعادة تثبيت حزمة pulseaudio

صوت متقطع أو متقطع

حاول تحريك الجهاز بالقرب من جهاز توجيه WiFi. بالإضافة إلى ذلك ، تأكد من أن مكبر صوت البلوتوث قريب منك. يمكن أن تكون أيضًا مشكلة في برنامج تشغيل الصوت

الخطوة 7: ضع في الضميمة الدائمة

ضع في الضميمة الدائمة
ضع في الضميمة الدائمة

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

ثم قطعت ثقوبًا في المقدمة لزر الضغط والمفاتيح الدوارة ، وحفرت ثقبًا في الجزء الخلفي من الصندوق لسلك طاقة microUSB.

لقد اختبرت الحامل وتأكدت من أنه يعمل ، وفويلا!

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

الخطوة 8: برنامج الإعداد للتشغيل عند بدء التشغيل

أخيرًا ، من المحتمل أن ترغب في تشغيل برنامج python هذا عند بدء تشغيل raspberry pi حتى لا تحتاج إلى القيام بذلك يدويًا. هناك العديد من الطرق للقيام بذلك والتي يمكنك العثور عليها عبر الإنترنت.

أنا شخصياً قمت بإعداده باستخدام الطريقة الثانية في هذا البرنامج التعليمي SparkFun:

هنا ، ينتظر النظام دخول سطح المكتب الرسومي قبل تشغيل البرنامج. ثم يتم تأخيره بواسطة برنامج python لمدة 45 ثانية لمنح النظام وقتًا لإعادة الاتصال بسماعة البلوتوث. إذا كنت تستخدم مكبر صوت مدمج ، فيمكنك إزالة هذا التأخير. لاحظ أن مكبر صوت البلوتوث يجب أن يكون في البداية! (لحل البلوتوث)

الآن يمكنك محاولة إيقاف التشغيل وإعادة تشغيله على جهاز pi الخاص بك! بعد حوالي 90 ثانية ، يجب أن يبدأ pi في تشغيل تدفقات الراديو مرة أخرى. عند الضغط على الزر الانضغاطي ، ستتوقف / تعمل. لاحظ في عمليات إعادة التمهيد هذه أنه يعيد قراءة ملف internetStations json هذا ، لذا إذا قمت بتغيير محطاتك ، فأنت بحاجة إلى إعادة تشغيل الجهاز حتى تعمل. تهانينا!

إذا أجريت هذا ، أو أجريت تعديلات على المشروع ، فيرجى إبلاغي بذلك!

صفحة جيثب:

موصى به: