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

Raspberry Pi Audio Dac-Amp-Streamer: 14 خطوة
Raspberry Pi Audio Dac-Amp-Streamer: 14 خطوة

فيديو: Raspberry Pi Audio Dac-Amp-Streamer: 14 خطوة

فيديو: Raspberry Pi Audio Dac-Amp-Streamer: 14 خطوة
فيديو: The BEST DIY Raspberry Pi Music Streamer?! | Audiophonics Evo-Sabre 2024, شهر نوفمبر
Anonim
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer

أعد استخدام قبعة Google AIY الصوتية كجهاز بث صوت ستيريو بدون رأس مخصص.

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

إذا كنت تمتلك واحدة بالفعل ، فسيوضح لك هذا المشروع كيفية استخدام مجموعة أدوات Google AIY الصوتية الحالية ، وإعادة استخدامها كمشغل صوتي مخصص بدون رأس. إذا لم يكن لديك مجموعة بالفعل ، وكنت تعيش بالقرب من Micro Center ؛ أنت محظوظ - لا يزال هناك الكثير ، وأشك في أنهم سيحصلون على أرخص من السعر الحالي البالغ 5 دولارات. (في الواقع ، تبلغ 3 دولارات اعتبارًا من يوليو 2019).

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

الخطوة 1: المشتريات

تحصيل
تحصيل

سأكتب هذا التوجيه من منظور أنه ليس لديك بالفعل مجموعة أدوات Google Voice في حوزتك. إذا كان لديك بالفعل إعداد المجموعة الصوتية - يتم تمييز العناصر الإضافية المطلوبة بعلامة * أدناه. أيضًا ، أحدث عرض Raspberry Pi (Pi 3 A +) مناسب تمامًا لهذا المشروع بناءً على عامل الشكل الخاص به ، وأنا أوصي بشدة بشراء واحد على أي حال. ومع ذلك ، يجب أن تفعل أي Pi ما دامت تستوعب قبعة مجموعة الصوت وكائنات GPIOs.

مكونات:

  • Raspberry Pi (أوصي Pi 3 A +)
  • 5.25 فولت 2.4 امبير مايكرو usb امدادات الطاقة
  • بطاقة Micro SD (حسب حجم مجموعة الموسيقى الخاصة بك ، يجب أن تكون 16 جيجابايت كافية)
  • Max98357A DAC و amp (من Adafruit) *
  • مكبرات الصوت). تأتي المجموعة مع واحدة ، ولكن للحصول على ستيريو ، سنحتاج إلى مكبر صوت إضافي. (أيضا Adafruit)
  • مجموعة Google AIY Voice
  • رأس - نطاق واحد *
  • سلك مكبر الصوت *

الأدوات اللازمة: مكواة لحام ، لحام ، مفك براغي فيليبس حجم 00 أو 000. أدوات تقشير الأسلاك ، شريط لاصق أو شريط رسامين لتأمين الرأس مؤقتًا أثناء اللحام ، محول USB إلى micro SD.

الخطوة 2: قم بتجميع الأجهزة

قم بتجميع الأجهزة
قم بتجميع الأجهزة

خارج الصندوق ، تصل قبعة الصوت في الوضع الأحادي. لحسن الحظ ، صمم المهندسون في Google اللوحة للسماح بالترقية إلى الاستريو ببساطة عن طريق إضافة لوحة Max98357a أخرى للجلوس كقبعة أخرى. حتى أنهم وضعوا الخطوط العريضة للصندوق لنا.

لقد خمنت ذلك: سنقوم ببناء قبعة على قبعة. الأجهزة الموجودة أعلى الأجهزة موجودة بالفعل في الأعلى.

باستخدام الرأس الذي توفره مجموعة شرائح Adafruit Max98357a ، نبدأ بلحام رأس 7 سنون في قبعة الصوت مباشرةً أسفل الكلمات "AIY Projects Voice Hat". قد تكون قطعة من شريط التقنيع الملصقة على دبابيس الذكور الأطول على وجه اللوحة مفيدة لمنع الرؤوس من الانزلاق خارج مكانها حيث سنعمل مع اللوحة رأسًا على عقب خلال هذه المرحلة من اللحام.

قم أيضًا بلحام دبابيس داخل المربع المحدد باللون الأبيض بقبعة الصوت حيث ستجلس لوحة max98357a الزرقاء.

لا تقم بتوصيل موصل المتحدث إلى لوحة MAX98357a!

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

اقلب اللوحة على الجانب الأيمن لأعلى.

قم بلحام الطائر المسمى "JP4" بإغلاقه بترك قطرة من اللحام على الطائر. لا تنس هذا الجزء وإلا فلن يكون لدينا ستيريو!

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

أكمل لحام دبابيس الذكور إلى شريحة max98357a الزرقاء - يجب أن يثبت كل من رأس الدبوس السبعة ورأس الدبوس ماكس 98357a في مكانه بإحكام.

انتهى مع اللحام!

الخطوة 3: قم بتوصيله بـ Pi وقم بتوصيل مكبرات الصوت الخاصة بك

قم بتوصيله بـ Pi وقم بتوصيل مكبرات الصوت الخاصة بك
قم بتوصيله بـ Pi وقم بتوصيل مكبرات الصوت الخاصة بك

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

باستخدام مفك براغي صغير من Philips (000 أو 00) ، قم بفك البراغي الموجودة في طرف السماعة بما يكفي للسماح لسلك السماعة بالتناسب مع فتحات الضغط. لا يجب عليك إزالة البراغي ، لكن افتحها بما يكفي حيث تشعر بأنها مفكوكة.

أدخل سلك السماعة الصغير الحجم في الفتحة وأحكم ربط المسامير لتثبيت سلك السماعة بإحكام في مكانه.

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

انتهيت من الأجهزة!

الخطوة 4: تنزيل Raspbian Lite

تنزيل Raspbian Lite
تنزيل Raspbian Lite
تنزيل Raspbian Lite
تنزيل Raspbian Lite

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

آخر تعديل: يونيو 2020 لتنزيل Buster Lite.

تحميل وتثبيت Etcher بواسطة Balena Software

· قم بتنزيل أحدث إصدار من نظام التشغيل Raspbian Lite من موقع raspberrypi.org

باستخدام Etcher ، اكتب صورة Raspbian على بطاقة SD

· بمجرد الانتهاء ، ما لم تستخدم pi zero w - انقل بطاقة SD المصوّرة حديثًا إلى Raspberry Pi الخاص بنا. إذا كنت تستخدم pi zero w ، فنحن بحاجة إلى إجراء بعض التعديلات على ملف WPA_Supplicant.conf في قسم التمهيد لإعداد wifi الخاص بك.

الخطوة 5: تكوين ملف Pi

تكوين Pi
تكوين Pi

من خلال صورتنا التي تم إنشاؤها حديثًا ، فلنعمل على زيادة الطاقة. لكن يتيح أولاً استعارة شاشة ولوحة مفاتيح للمساعدة في التكوين. أدخل بطاقة micro sd ، وأرفق كابل شحن micro USB. مع الحظ ، سيومض المصباح الأخضر عدة مرات أثناء بدء التشغيل. قد يستغرق التمهيد الأول بضع دقائق ، ولكن في غضون 5 دقائق سنكون جاهزين للعمل على التكوين الخاص بنا. لا يحتوي Raspbian "Lite" على سطح مكتب.

مرة واحدة في موجه الأوامر: تسجيل الدخول كـ pi ، كلمة المرور "raspberry".

· الوصول إلى لوحة التكوين عن طريق كتابة "sudo raspi-config" في موجه الأوامر.

· قم بتغيير كلمة المرور الخاصة بك على الفور.

· إعداد wifi الخاص بك باستخدام خيارات الشبكة على لوحة التكوين

· تغيير خيارات الترجمة الخاصة بك وتعيين المنطقة الزمنية الخاصة بك

تمكين SSH باستخدام خيار لوحة واجهات

· قم بتشغيل "sudo apt-get update" لتحديث برنامجك إلى أحدث إصدار

سنحتاج إلى عنوان IP الخاص بـ Pi. أوصي بتطبيق يسمى "FING" يمكن تنزيله على أي جهاز يعمل بنظام Android وسيدرج جميع الأجهزة المتصلة بشبكتك. سنبحث عن جهاز يسمى "raspberrypi". اكتب عنوان IP لأسفل.

من الآن فصاعدًا ، لن نطلب بعد الآن الشاشة أو لوحة المفاتيح. سيتم تنفيذ جميع التكوينات الإضافية باستخدام أسطر الأوامر من خلال جلسة SSH.

الخطوة 6: استخدم SSH لفتح جلسة على جهاز بعيد

استخدام SSH أساسي جدًا. افتح نافذة طرفية من أي جهاز على شبكتك ، واكتب الأمر

ssh pi @ myipaddress

استبدل "myipaddress" بالقيم الرقمية التي تم الحصول عليها باستخدام الإصبع.

لأول مرة ، قد يتم استقبالك بتحذير مخيف يشير إلى أنك لست مدرجًا في قائمة المدعوين ، ولكن هناك جملة يجب أن تقرأ "لإزالة هذا …" انسخ السلسلة الطويلة من الأحرف ، والصقها في الأمر موجه ، اضغط على Enter. ثم باستخدام مفتاح السهم لأعلى ، كرر الأمر ssh pi @ myipaddress ، واختر نعم ، وأدخل الآن كلمة المرور الخاصة بك. تهانينا! أنت الآن متصل بجهازك إذا كنت تبحث في موجه الأوامر "pi @ raspberrypi: ~ $".

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

قم بتثبيت Mopidy
قم بتثبيت Mopidy

سنقوم بتثبيت Mopidy كخادم الموسيقى الخاص بنا. هناك الكثير من الخيارات هنا ، لكنني سأوضح لك كيفية تثبيت ملحق يسمى "Music Box" يسمح لك بالتحكم في موسيقاك من واجهة ويب بدلاً من موجه الأوامر.

ما هو موبيدي؟ وفقًا لموقعه على الويب ، فإن Mopidy عبارة عن سلسلة من الكلمات الكبيرة التي تجعلني أشعر بأنني أقل شأناً في الوقت الحالي ، ولكن دعنا نقول فقط أن Mopidy هي المنصة التي سيتم تشغيل الموسيقى منها. سيكون خادم موسيقى ، MPD (برنامج مشغل الموسيقى الخفي) ، وخادم ويب. سيقدم الملحق PiMusic Box موقع الويب الذي يمكننا التنقل إليه والتحكم في Mopidy منه. اعتقدت أنه نظرًا لأنه يعمل بشكل جيد مع مجموعة من الخدمات الشائعة مثل Spotify أو Google Play Music ، فسيكون مناسبًا لهذه التعليمات. بالإضافة إلى أنها طريقة رائعة.

فيما يلي التعليمات التي تم نسخها بلا خجل من Mopidy للتثبيت من سطر الأوامر:

1. أضف مفتاح GPG للأرشيف:

sudo wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -

2. أضف APT repo إلى مصادر الحزم الخاصة بك:

sudo wget -q -O /etc/apt/sources.list.d/mopidy.list

أخيرًا قم بتثبيت mopidy:

sudo apt-get update

sudo apt-get install mopidy

إنهاء النسخ المخزية.

الخطوة 8: استخدم Python Pip لتثبيت تثبيتات أخرى … (ملحقات)

لقد قمنا للتو بتثبيت عادي Vanilla Mopidy ، لكننا بدأنا للتو. ستكون الإضافات هي لبنات البناء لدينا لإضافة التخصيصات إلى Vanilla Mopidy العادي. نظرًا لأن معظم الامتدادات التي سنتناولها في mopidy الأساسية مكتوبة بلغة Python ، فسنستخدم ما يعادل apt خاصًا ببيثون.

قبل أن نبدأ في استخدام النقطة ، دعنا نتأكد أولاً من أن لدينا جميع ملحقات gstreamer باستخدام apt:

sudo apt install

python3-gst-1.0 / gir1.2-gstreamer-1.0 / gir1.2-gst-plugins-base-1.0 / gstreamer1.0-plugins-good / gstreamer1.0-plugins-ugly / gstreamer1.0-plugins-bad / أدوات gstreamer1.0

قد يستغرق هذا بضع دقائق للتثبيت. بدون Gstreamer ، قد لا تتمكن من دفق الموسيقى.

والآن يمكننا تثبيت بيثون بيب:

sudo apt install build-basic python3-dev python3-pip

الآن يمكننا استخدام النقطة لإضافة المزيد من القطع الذهبية. Pip هي أداة Python ، تشبه apt ، لكنني أجدها تعمل بشكل أسرع قليلاً من apt. أبطأ قليلاً من الكتلة ، لكنها تنطلق بسرعة كبيرة.

فيما يلي أربعة لنبدأ:

واجهة ويب أمامية. لنستخدم Iris ، ولكن إذا أردت يمكنك تجربة mopidy-musicbox-webclient بدلاً من ذلك:

تثبيت sudo python3 -m pip Mopidy-Iris

محور محطة راديو على الإنترنت مع 30 قناة:

sudo python3 -m pip install mopidy-somafm

مركز آخر لخدمة راديو الإنترنت يحتوي على المزيد من القنوات:

تثبيت sudo python3 -m pip mopidy-TuneIn

وواجهة أمامية أخرى للجهاز المحمول. لا تعمل محطات الراديو و Iris معًا بشكل جيد ، لكن الهاتف المحمول به جميع أنواع محطات توزيع حصص الإنترنت للاستماع إليها:

تثبيت sudo python3 -m pip Mopidy-Mobile

بمجرد الانتهاء ، يجب أن تكون قادرًا على الوصول إلى Music Box باستخدام:

myipaddress: 6680 / iris / -or- https:// localhost: 6680 / musicbox_webclient

ما زلنا لا نخرج أي شيء من مكبرات الصوت حتى الآن إذا حاولت تشغيل الموسيقى.

للحصول على قائمة بالميزات والإضافات الأخرى: ساعد نفسك:

sudo pip البحث mopidy

من هنا ، يمكنك الاستمرار في إضافة ملحقات حسب اختيارك.

لدي نموذج ملف تكوين mopidy مرفق. لا تتردد في استخدام المحتويات الموجودة في /etc/mopidy/mopidy.conf

sudo nano /etc/mopidy/mopidy.conf

الخطوة 9: إعداد Mopidy كخدمة

إعداد Mopidy كخدمة
إعداد Mopidy كخدمة

نظرًا لأننا نريد تشغيل mopidy عند بدء التشغيل ، سيسمح أمران لـ mopidy بالتشغيل عند التمهيد:

sudo systemctl تمكين mopidy

sudo dpkg- إعادة تكوين mopidy

إعادة التشغيل ، ثم قم بتشغيل

sudo systemctl status mopidy - l

للتحقق من حالتك. يجب أن ترى مؤشرًا أخضر. لدى Mopidy موقع دعم مفيد للغاية للمساعدة في مزيد من خيارات التكوين. تحقق من موقع وثائق Mopidy لمزيد من التفاصيل.

الخطوة 10: أضف الموسيقى الخاصة بك

أضف الموسيقى الخاصة بك
أضف الموسيقى الخاصة بك

بشكل افتراضي ، سيرغب mopidy في تخزين الموسيقى المحلية في مجلد ضمن / var / lib / mopidy / media. انسخ مجموعتك الموسيقية هناك. أجد أنه من الأسهل فقط إزالة بطاقة sd من pi (بعد الإغلاق الآمن) ، وباستخدام محول micro sd إلى USB ، قم بتوصيل المحول بوحدة التخزين الخاصة بك ونسخها / لصقها هناك. (قد يستغرق هذا بعض الوقت حسب حجم مجموعتك). بمجرد الانتهاء ، أعد بطاقة sd إلى pi ، وقم بتشغيلها ، وأعد الاتصال ، ثم اكتب:

sudo mopidyctl فحص محلي

سيؤدي ذلك إلى إضافة الموسيقى الخاصة بك إلى مكتبة الوسائط المحلية في Music Box. قد تلاحظ عدم التعرف على ملفات.wma على أنها ملفات صوتية ، ويبدو أن ملفات.ogg مفقودة أثناء الفحص. يجب ألا تكون ملفات MP3 مشكلة بالرغم من ذلك.

الخطوة 11: ملف تكوين بطاقة الصوت - Asound.conf

لا ينبغي أن يكون لديك أي شيء في /etc/asound.conf حتى الآن ، ولكن إذا فعلت ذلك ، فاستبدل المحتويات بالمحتويات أدناه ، أو أنشئ واحدة باستخدام:

sudo nano /etc/asound.conf

والصق:

الخيارات snd_rpi_googlehat_soundcard index = 0

pcm.softvol {type softvol slave.pcm dmix control {name Master card 0}} pcm.! default {type asym playback.pcm "plug: softvol"} ctl.! default {type hw card 0}

ctrl-x و Y لحفظ ما ورد أعلاه كملف asound.conf جديد.

الخطوة 12: تأكد من أننا نستخدم التراكب الصحيح لـ Configure.txt in / boot

نوع

sudo نانو / boot/config.txt

يجب أن تشبه الأسطر القليلة الأخيرة شيئًا مشابهًا لما يلي. نريد التأكد من التعليق على الصوت القياسي ، إلى جانب أي تراكب سابق مثل hifiberry dac ، أثناء تنفيذ تراكب قبعة google voice. أخيرًا ، نريد أن نوجه pi لاستخدام تعيين i2s. يخبر المؤشر # النظام بتجاهل الخط.

# تمكين الصوت (تحميل snd_bcm2835)

# dtparam = audio = on # dtoverlay = hifiberry-dac dtoverlay = googlevoicehat-soundcard dtoverlay = i2s-mmap

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

الخطوة 13: استمتع بالموسيقى

إذا كنت تستمع إلى جودة ستيريو ، فقد أنجزت المهمة!

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

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

الخطوة 14: الخاتمة

استنتاج
استنتاج

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

موصى به: