راديو أنبوبي دافئ عبر الإنترنت



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



فكرة



لقد رأيت فكرة وجود راديو Wi-Fi قائم على جهاز توجيه منذ فترة طويلة في هذا المشروع . إذا كان هناك أي شيء - هذا عام 2009. كان عبارة عن راديو قائم على جهاز التوجيه و Linux و MPD. ثم لم تكن هذه الشروط واضحة تمامًا بالنسبة لي ، لكنني أردت حقًا الحصول على مثل هذا الراديو. ولقد أطلقت هذه الفكرة. بالإضافة إلى ذلك ، كنت مستوحى جدًا من أي تقنية مصباح: مصابيح تضخيم ، مصابيح مؤشر (6E1P ، الموجودة في صورة ملف التعريف الخاص بي) ، شاشات CRT . وشاشات VFD (VFD - شاشة الفلورسنت الفراغية أو في مؤشر الإنارة بالفراغ الروسي (VLI) ، أو مؤشر الإنارة الكاثودية (CLI) هي أيضًا مرضية للغاية.



لذلك ، قررت استخدام شاشة عرض نقدية. ثم لم أكن أعرف حتى ما كان يسمى عرض المشتري.



لذا فإن الفكرة: شاشة عرض المشتري ، وجهاز كمبيوتر أو جهاز توجيه أحادي اللوحة ، ونظام Linux + mpd ، ومؤشر الفلورسنت الفراغي ونوع من عناصر التحكم لهذه الأشياء. على غرار المشروع الذي ألهمني.



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



المفهوم الأساسي والتصميم



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



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





قرارات التصميم التي ألهمت بشدة



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



خطوات التنفيذ الأولى



أساس كل راديو Wi-Fi هو عرض المشتري. لقد اخترت الشاشة لفترة طويلة جدًا ، وذهبت للتسوق بغباء وبدا أفضل ما أحبه. شاشتي المفضلة هي Posiflex PD-2700 . توقفت عند ذلك.





تشغيل لأول مرة وعرض صورة على الشاشة.



كتبت مقالة منفصلة عن العمل مع هذه الشاشات. يمكنك قراءتها هنا . لذلك ، لن أسهب في الحديث عن مبدأ عملهم بالتفصيل.



تم تجربة جهاز التوجيه TP-Link 3020 و Nokia N800 (نعم ، لا تتفاجأ ، N800) ، وأجهزة كمبيوتر محمولة متنوعة ، وأجهزة كمبيوتر صناعية من جميع الأشرطة ، وسجلات النقد ، و Raspberry Pi من أجيال مختلفة ، وأجهزة أحادية اللوحة وأكثر من ذلك بكثير باعتبارها "أدمغة" هذا الراديو. كل شيء يتحدث عن عالمية القرارات المتخذة. وبالنظر إلى المستقبل ، تم اتخاذ بعض القرارات من أجل قابلية النقل ، وليس لتقليل تكلفة البناء.



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



نموذج العمل



أول نموذج أولي للعمل ، والذي كان مستقلاً وحتى تشغيل الراديو ووقف في المطبخ ، قمت بتطبيقه على أساس جهاز توجيه TP-Link 3020 وبطاقة صوت USB صينية مقابل 100 روبل. يعد جهاز التوجيه هذا أمرًا رائعًا لهذه الحرف ، وتتمثل ميزته الرئيسية في أنه يمكنك الشراء من أقرب متجر كمبيوتر ، على عكس أي لوحة فردية أخرى. نظام التشغيل الرئيسي كان OpenWRT ، تم تشغيل الصوت من خلال معظم مكبرات الصوت deshman ، مقابل 500 روبل ، مدعوم من USB. بشكل عام ، كل شيء في الأسفل. وقد نجح حتى! باختصار ، من الأفضل أن ترى مرة واحدة بدلاً من أن تقرأ ألف مرة.





بعد ذلك ، أصبح من الواضح أن كيفية التحكم في الفيديو من الجهاز اللوحي ليست خيارًا. يفقد معنى الراديو عندما يمكنك استخدام نفس الجهاز اللوحي. لذلك ، قررت إضافة عنصر تحكم باستخدام برنامج تشفير. في البداية ، كان المشفر متصلاً بـ GPIO لهذا الموجه (نعم ، يحتوي على GPIO على اللوحة) ، لكنني لم أحب حقًا عمله ولم يكن هذا الحل محمولًا ، لذلك قمت في المستقبل بعمل وحدة تحكم ترميز منفصلة تعتمد على اردوينو ، وهو متصل عبر UART.







تم توصيل المشفر بـ GPIO TP-Link 3020.



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





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





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





نوع مختلف من النموذج الأولي



قررت تكراره. للقيام بذلك ، قام بتمزيق العمود وإزالة الأبعاد منه وصنع نموذجًا أوليًا من الورق المقوى.





أحصل على مكبرات الصوت ، وأخرج مكبر الصوت وأخذ قياسات الأبعاد



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









فكرت في علامات الحجم ، ما الذي يمزح بحق الجحيم ، دعني أرى كيف سيبدو في الورق المقوى ، وهو نوع من نموذج أولي من الورق المقوى.





راديو كرتون



وهو يعمل حتى!





ثم قام بنسخ جميع الأبعاد ورسمها وإرسالها إلى القطع بالليزر.





الأبعاد



جاء بعد قطع الأكريليك ، وهكذا يبدو بعد التجميع.







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







كما قد يلاحظ الكثير ، فإن الأكريليك شفاف. في البداية ، كنت أرغب في وضع الشاشة خلفها بحيث تتألق من خلالها (الشاشة بيضاء بالفعل ، وتضيء من خلال مرشح أخضر). لكني لم أحب اللون والتباين.







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



التصميم الناتج رائع بالطبع ، لكنني لن أكذب على نفسي ، فهو غير عملي. بالطبع ، لقد نجحت حتى أنني استمعت إلى هذا المنتج لبعض الوقت ، ولكن تم الكشف عن عدد من المشاكل. أولاً ، كان من المستحيل تمامًا استخدامه في هذا الشكل: فهو يجمع الغبار ، ولا يمكنك وضع أي شيء فوقه ، فهو يشغل مساحة كبيرة. ثانيًا ، تبين أن TP-Link 3020 كان ضعيفًا إلى حد ما بالنسبة للراديو ، وواجه الكثيرون مشكلة التنفيذ عليه. لا يحتوي OpenWRT على دعم للأجهزة للنقطة العائمة ، وبالتالي يقوم mpd بتحميل المعالج بنسبة 100٪ ويمكنك سماعه في الصوت (توجد نقرات رقمية غير سارة). هذا ، بشكل عام ، وضع حد لهذا التنفيذ. بالإضافة إلى ذلك ، هناك عدد من الظروف في حياتي لم تسمح لي بالمشاركة في هذا المشروع بعد الآن ، وتم تفكيك هذا الراديو ووضعه في صندوق حرفيًا.



قرار نهائي



لكن لا تعتقد أنني استسلمت للتو. لا ، استمرت الفكرة في الحياة. والآن ، بعد فترة ، قررت إنهاء هذا الراديو. واتضح جيدًا أن لدي حالة اشتريتها في الصين. كدماغ ، أخذت عظام البيجل الأسود ، والتي عملت معها في نفس المشروع وأعرف جوانبها الجيدة والسيئة. الوشاح قديم بالطبع ، لكنه يناسب تمامًا هذه المهمة. في البداية ، كنت أرغب في وضع OpenWRT باعتباره نظام التشغيل الرئيسي ، لكنني واجهت مجموعة من المشكلات مع برامج تشغيل Wi-Fi هناك. أخذت بطاقة الصوت على PCM2704 DAC الشهير. يتم البحث عنها بسهولة بناءً على هذا الطلب في مزاد شهير ، مثل وشاح أبيض. أنا مسرور جدًا ببطاقة الصوت ، لكن بشكل عام كان من الممكن وضع أي منها ، حتى SoundBlaster.





مراحل النمذجة ، تجربة بطاقات صوت مختلفة ، أجهزة أحادية اللوحة ، صور Linux ، محولات Wi-Fi واختيار الحل الأمثل



في مقالتي الأخيرة تحدثت عن قضاء الوقت في اختيار المكونات ، وإلا سيكون هناك صداع. حدث الأمر بنفس الطريقة ، كنت أرغب في الحصول على بطاقة USB Wi-Fi تدعم Linux. وبدون تردد أخذ TP-Link N150 لنفسه. باختصار ، لا تفعل هذا. شربت الكثير من الدماء مني ، وأمضت أسبوعًا عليها. لم أتمكن من الحصول عليها تحت OpenWRT ، على Ubuntu بدأت مع بعض الرقصات الشرسة مع الدف. باختصار ، لقد قمت بتثبيته وفقًا لهذا الدليل (توجد تعليمات في مكان ما في المنتصف). يبدو نص بدء التشغيل (/etc/rc.local) شيئًا كهذا بالنسبة لي (بعد مجموعة من التجارب).



#!/bin/sh
PATH="/sbin:/bin:/usr/bin"

ps -ef|grep wpa|awk '{print $2}' |xargs -i kill {}

#in case you want to test the script
ifdown wlan0
sleep 0.1
ifup wlan0
sleep 0.1
ifup wlan0
sleep 0.1
ifup wlan0
sleep 0.1
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
#END
sleep 30
#    


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





اللوحة الأمامية



يتم التحكم في كل شيء بواسطة جهاز تشفير. اليسار واليمين - اختيار المحطة ، الضغط على زر التشفير - توقف مؤقت ؛ ضغط مزدوج قصير على الزر - عرض الوقت والتاريخ (يعمل مثل الساعة).





اللوحة الخلفية على



الرغم من حقيقة أن هذا هو بالضبط راديو Wi-Fi ، إلا أنه ترك إمكانية الاتصال عبر Ethernet للتشخيص وتصحيح الأخطاء. كما ترى لا يوجد مكبر للصوت في العلبة الآن. فقط خط الخروج ، والذي ، في رأيي ، أكثر ملاءمة. دعونا نلقي نظرة في الداخل.







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





وحدة تحكم التشفير



هذه عبارة عن arduinka عادية متصلة عبر UART إلى Beaglebone.



بضع كلمات حول شفرة المصدر والإعدادات



لقد لاحظت أنه إذا تمت إضافة وصف الكود إلى مقال ، فسيتم تقليل قابلية قراءته إلى النصف على الفور. لذلك ، سيكون هناك القليل جدًا من التعليمات البرمجية في هذه المقالة ، على الرغم من أنه يمكن تخصيص مقالتين فقط لوصف الكود. لن أصف إعداد عفريت mpd ، فهناك آلاف المقالات ، بما في ذلك تلك المتعلقة بحبر ، والدليل نفسه عادةً ما يكون شاملاً عليه. سأحذف إعداد Linux على Beaglebone. إلا إذا اضطررت إلى تشغيل UART لتوصيل Arduino. ولكن هذا أيضًا سهل البحث في Google. الكود المصدري للمشروع بأكمله موجود على جيثب ومتاح للجميع.



لن أقوم بتحليل جميع نقاط الكود. تمت تغطية العمل مع الشاشة مسبقًا في المقالة. سأستعرض الملفات.



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



  • Makefile


هذا تجميع للمشروع نفسه ، لا شيء جديد هنا.



  • السيطرة. ج


هذا هو البرنامج الرئيسي حيث يحدث كل السحر.



  • uart.c
  • uart.h


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



  • عرض ج
  • عرض
  • الإخراج. h


كما قد تتخيل ، هذا هو رمز العمل مع الشاشة. بالإضافة إلى ذلك ، اضطررت إلى تثبيت رمز تحويل الأحرف عليه.



  • charset_coverter.c
  • charset_coverter.h


تعمل الشاشة بترميز CP866. وحتى من أجل عرض رسالة باللغة الروسية من وحدة التحكم ، يجب عليك استخدام الحيلة التالية:



echo -en " \n dlinyj" | iconv -f UTF-8 -t CP866 > /dev/ttyACM0


ولكن ، هناك فارق بسيط: لا توجد أحرف "e" ، ويتم عكس العلامة الثابتة "" والعلامة الناعمة "b". لذلك بعد فك التشفير ، تحتاج إلى فك التشفير.



  • mpc.c
  • mpc.h


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



  • مصطلح ج
  • مصطلح ح


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









لمزيد من التفاصيل حول كيفية كتابة هذا ، راجع مقالة "الرسومات الطرفية" .



إضافة محطات إذاعية بالنسبة لي هو النص التالي.



#! /bin/sh -
# Some configuration settings
VOLUME=60
#mpc volume $VOLUME	# adjust this to suit your speakers/amplifier
mpc clear	# clear current playlist

mpc add http://relay3.slayradio.org:8000/						#*Slay Radio
mpc add http://fr1.streamhosting.ch:8080						#*lounge-radio.com
mpc add http://us-tx1.streams.bassdrive.com:9000/				#*DnBHeaven.com
mpc add http://uk2.internet-radio.com:31491						#*AmbientRadio.org
mpc add http://www.partyvibe.com:8010/							#*PARTY VIBE RADIO
mpc add http://streamer.psyradio.org:8120						#*psyradio chillout

mpc add http://live.coolradio.rs/cool128
mpc add http://big2.bigportal.ba:8100/big2


إذا كان لديك أي محطات راديو متدفقة يمكنك التوصية بها ، خاصة للموسيقى الإلكترونية ، فاكتب في التعليقات :)



لتسهيل الإدارة والتكوين ، أضفت واجهة ويب من مشروع ympd . تبدو هكذا.





نتيجة لذلك ، يبدو الملف /etc/rc.local في النهاية كالتالي:



sleep 30
/home/ubuntu/addradio.sh > /dev/null 2>&1 &
/home/ubuntu/wifi-radio/Linux/control > /dev/null 2>&1 &
/home/ubuntu/ympd --webport 80 > /dev/null 2>&1 &


نعم ، نعم ، أعلم أنه في نظامي Ubuntu systemd و rc.local سيئان الاستخدام وغيرهما من الكآبة. لكني أستخدمه لأنني أريد ذلك وأستطيع.



النتيجة



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







الفيديو قديم بعض الشيء ، والآن تم توصيل الهوائي والإيثرنت ويعملان بشكل جيد.



أين تنمو؟



وهناك مجال للنمو. أحد فروع هذا المشروع التي استغلتُها لفترة طويلة هو مشروع Volumio . هذا مجمع لاعب مبهج يتيح لك الاستماع إلى محطات الراديو من جميع أنحاء العالم ، والبث المباشر وغير ذلك. كل شيء جيد ، تم إرساؤه تمامًا مع مشروعي وعرض جميع المحطات على الشاشة. ما لم تكن الضوابط عديمة الفائدة تمامًا. يمكنك أيضًا إضافة التحكم الصوتي ، فهناك مشروع Rhasspy رائع ، حتى أنه كان هناك مقال عن Habré. يسمح لك بالتحكم الصوتي دون الاتصال بخادم خارجي!



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






All Articles