فهرست مطالب:

رادیو ارشد - تمشک پای: 8 مرحله
رادیو ارشد - تمشک پای: 8 مرحله

تصویری: رادیو ارشد - تمشک پای: 8 مرحله

تصویری: رادیو ارشد - تمشک پای: 8 مرحله
تصویری: Part 5 - The Jungle Audiobook by Upton Sinclair (Chs 18-22) 2024, جولای
Anonim
رادیو ارشد - Raspberry Pi
رادیو ارشد - Raspberry Pi

پروژه رادیو ارشد یک دستگاه رادیویی اینترنتی با منبع باز و دارای سخت افزار و نرم افزار است. در نظر گرفته شده است که برای کاربران آشنا با کنترل رادیوی جیبی که در آن شماره گیری ها میزان صدا و ایستگاه رادیویی انتخاب شده را کنترل می کنند ، استفاده شود. این پروژه با طراحی کاربر محور ساخته شده است و بر کاربرانی تمرکز دارد که اندازه و کنترل مشابهی را به عنوان یک رادیو دستی استاندارد می خواهند.

این برنامه برای برآوردن نیازهای افراد آسیب دیده قادر به گوش دادن به هزاران محتوای مختلف جریان اینترنتی است که معمولاً فقط از طریق مرورگر اینترنت در دسترس است. بسیاری از افراد توانایی استفاده آسان از چنین دستگاهی را ندارند ، بنابراین هدف این طراحی ایجاد یک رابط آشنا برای فناوری مدرن است.

عملکرد اصلی در Github است ، که در یک برنامه پایتون 3.7.3 به نامeniorRadio.py ذخیره شده است. برای ذخیره وضعیت رادیو ، فایل json را می خواند و می نویسد ، بنابراین وقتی آن را خاموش می کنید ، سطح صوتی و ایستگاه انتخابی فعلی را به خاطر می آورد. علاوه بر این ، یک فایل json میزبانی شده آنلاین را می خواند که می توانید تغییر دهید! این امر به شما اجازه می دهد تا ایستگاه های رادیویی را از راه دور به روز کنید اگر این کار را به شخص دیگری بدهید.

در حال حاضر برای اتصال به بلندگوی بلوتوث ایجاد شده است ، اما به راحتی می توان از بلندگوی داخلی نیز استفاده کرد.

خالق این دستگاه احتمالاً کاربر نیست و حداقل به تجربه ای در زمینه الکترونیک و دانش اولیه برنامه نویسی نیاز دارد. تجربه لینوکس نیز بسیار مفید است.

برای کاربر ، عملکرد ساده است:

با روشن شدن ، آخرین ایستگاه انتخاب شده بر روی دستگاه صوتی پیش فرض را پخش می کند. شماره گیری سمت چپ ایستگاه را کنترل می کند ، جایی که چند کلیک شماره گیری به آدرس جدید تغییر می کند. بعد از آخرین یا اولین ورودی رول می شود. شماره گیری راست سطح صدا را کنترل می کند. LED نشان می دهد که برنامه روشن است. و دکمه رادیو متوقف می شود یا "خاموش" می شود. پس از روشن شدن ، کاربر می تواند دکمه را برای مکث/پخش ، یا "خاموش/روشن" ، رادیو و دو شماره گیر برای کنترل آن ، فشار دهد.

تدارکات

پیوند شده روی هر مورد ، مورد خاصی است که من استفاده کردم. در مجموع حدود 60 دلار برای من هزینه می شود و مقدار زیادی از لوازم اضافی باقی مانده است!

دانش پایه الکترونیکی و لینوکس - برای مونتاژ و اشکال زدایی

Raspberry Pi Zero W (Zero WH دارای سرصفحه های لحیم کاری شده و احتمالاً مفید است)

کارت حافظه MicroSD-8 گیگابایت+ و قابلیت o

آداپتور برق MicroUSB 5V - پیوند همچنین شامل آداپتور microHDMI و آداپتور microUSB OTG به USB A برای راه اندازی در صورت نیاز است

بلندگوی بلوتوث

کابل های بلوز M/F و M/M

2 رمزگذار روتاری - همان پیوند بالا

تخته نان کوچک

دکمه فشاری

LED (اختیاری) - LED + دکمه بالا را خریداری کرد

جعبه برای بسته بندی

مرحله 1: راه اندازی (بدون سر) Raspberry Pi W

راه اندازی (بدون سر) Raspberry Pi W
راه اندازی (بدون سر) Raspberry Pi W

ما باید سیستم عامل را بر روی رزبری pi نصب کنیم که نرم افزار را اجرا می کند. هیچ کدام از اینها منحصر به این پروژه نیست. برای اشکال زدایی ، توصیه می کنم آن را تنظیم کنید تا بتوانید در حالت بدون سر نیز به آن دسترسی پیدا کنید. این بدان معناست که شما از طریق GUI یا پایانه SSH به pi از طریق شبکه WiFi خود دسترسی پیدا می کنید و برای استفاده از آن نیازی به صفحه کلید ، ماوس و مانیتور ندارید. اگر از فن آوری بیشتری برخوردار هستید ، می توانید این کار را بدون نیاز به اتصال به مانیتور/ماوس/صفحه کلید انجام دهید. چند دستورالعمل نمونه در اینجا. با این حال ، آن را مستقیما کمتر به جلو ، و در زیر راه دیگری برای راه اندازی آن است.

این اولین بار است که به احتمال زیاد به موارد زیر نیاز خواهید داشت:

  • Raspberry Pi W
  • آداپتور MicroSD به کارت SD [برای نوشتن سیستم عامل روی کارت SD]
  • کارت MicroSD (GB 8 گیگابایت+) [برای ذخیره سیستم عامل و برنامه ما]
  • قدرت MicroUSB (5 ولت)
  • MicroUSB به USB A [برای ماوس/صفحه کلید]
  • مینی آداپتور HDMI به HDMI [برای خروجی صفحه نمایش]
  • صفحه کلید
  • موش
  • مانیتور

ابتدا باید سیستم عامل را روی کارت rPi micro SD فلش کنید.

من از raspian buster استفاده کردم ، شما این را روی رایانه ای با کارت خواننده/نویسنده SD بارگیری می کنید و سپس سیستم عامل raspian را روی کارت SD فلش می کنید. BalenaEtcher نرم افزاری آسان برای انجام این کار است

سپس کارت SD را در شکاف pi قرار دهید ، مانیتور ، صفحه کلید و برق را وصل کنید. مراحل راه اندازی که raspian از شما می خواهد را انجام دهید ، از جمله اتصال آن به شبکه WiFi و اتصال اسپیکر بلوتوث خود از طریق رابط کاربری گرافیکی. روش خوب این است که آن را با استفاده از دستورات زیر به روز کنید

sudo apt-get update

sudo apt-get upgrade

اگر می خواهید علامت گذاری pi خود را بدون سر قرار دهید ، ابتدا باید آدرس IP pi را بگیریم. از طریق ترمینال می توانید آن را از طریق

ifconfig

فرمان سپس باید SSH و VNC را روی گزینه های رابط در فعال کنید

sudo raspi-config

پس از راه اندازی مجدد ، اکنون می توانید دسترسی pi را از طریق SSH یا VNC آزمایش کنید. SSH فقط یک رابط پایانه است و ممکن است استفاده از رابط کاربری گرافیکی برای جفت شدن بلندگوی بلوتوث برای شما آسان تر باشد. می توانید از برنامه ای مانند VNC connect استفاده کنید تا به آسانی به pi خود در رایانه جداگانه در شبکه خود دسترسی پیدا کنید. می توانید از برنامه ای مانند بتونه برای SSH در آن استفاده کنید.

علاوه بر این ، می توانید یک حساب ابری VNC راه اندازی کنید تا در صورت نیاز به دستگاه خارج از شبکه دسترسی پیدا کنید

مرحله 2: نرم افزار رادیو ارشد را نصب کنید

نرم افزار رادیو ارشد را نصب کنید
نرم افزار رادیو ارشد را نصب کنید

این را می توان از پنجره پایانه تمشک pi انجام داد. ابتدا مطمئن شوید که git را نصب کرده اید

sudo apt-get git install

بسته به سیستم عاملی که نصب کرده اید ، ممکن است این مراحل متفاوت باشد زیرا ممکن است نیاز به نصب بسته های اضافی داشته باشید ، در این صورت سیستم به شما اطلاع می دهد. ابتدا باید کد رادیویی ارشد را از github بارگیری کنیم. https://github.com/Bunborn/seniorRadio در حالت ایده آل ، شما در حال تهیه repo خودمان هستیم تا بتوانید تغییراتی ایجاد کرده و به راحتی ایستگاه های رادیویی را به همان شیوه ای که من انجام می دهم تغییر دهید. در صورت وجود ، repo را فورک کنید

با این حال ، اگر می خواهید فایل json رادیوی خود را در نقطه دیگری میزبانی کنید ، می توانید از همان من استفاده کنید بدون هیچ مشکلی

سپس repo را در هر مکانی که می خواهید باشد کلون کنید. دایرکتوری پیش فرض خوب است. با ضربه زدن به دکمه کلون سبز یا بارگیری ، نشانی اینترنتی را که برای repo github می خواهید دریافت کنید.

بازگشت به پنجره ترمینال ،

git کلون

اکنون هنگام استفاده از ls باید یک دایرکتوری اضافی با نامeniorRadio را مشاهده کنید. خارق العاده!

منظور این است که کد مستند باشد ، نگاهی به آن مفید خواهد بود. به خصوص برای اشکال زدایی و در صورت تغییر سیستم.

مرحله 3: نرم افزار اضافی را نصب کنید

نصب نرم افزار اضافی
نصب نرم افزار اضافی

قبل از حرکت به مدار و آزمایش آن ، باید VLC و apth python را نیز برای آن بارگیری کنیم. ممکن است قبلاً VLC را نصب کرده باشید. دو دستور اول pi را به روز می کند و دو دستور آخر زیر VLC و سپس api python را نصب می کند

sudo apt-get update

sudo apt-get upgrade

sudo snap VLC را نصب کنید

sudo apt-get vlc-python را نصب کنید

علاوه بر این ، gpiozero را نیز نصب کنید ، که ما از آن برای اتصال با پین های GPIO pi استفاده خواهیم کرد. بسته به سیستم عامل شما ممکن است قبلاً آن را نصب کرده باشید.

sudo apt-get gpiozero را نصب کنید

مرحله 4: جریانهای ایستگاه های رادیویی را پیدا کنید

جریانهای ایستگاه های رادیویی را پیدا کنید
جریانهای ایستگاه های رادیویی را پیدا کنید

بعد ، یکی از سرگرم کننده ترین قسمت ها! زمان انتخاب هرگونه جریان مورد نظر شما است.

در فایل internetStations.json من می توانید پیوندهای جریان من را مشاهده کنید ، عمدتا برای اخبار و موسیقی. اما تعداد زیادی محتوای میزبانی شده وجود دارد. نکته اصلی در اینجا یافتن آدرس مستقیم جریان مستقیم است. به عنوان مثال ، ایستگاه های خبری و موسیقی بی بی سی را می توانید در اینجا در این وبلاگ مشاهده کنید. این جریانهای مستقیم هیچ گونه رابط گرافیکی ندارند و به طور خودکار جریان را از طریق پخش کننده رسانه مرورگر شما پخش می کنند. اینها URL هایی هستند که ما به آنها نیاز داریم تا VLC بتواند آنها را بخواند! می توانید هر پیوندی را به سرعت در مرورگر وب خود یا از طریق VLC در رایانه معمولی خود آزمایش کنید تا مطمئن شوید که روی pi کار می کند.

برای یافتن این ایستگاه ها ، اگر سرویس میزبان آن است ، می توانید به دنبال جریان مستقیم آنلاین باشید. یک راه سریع نیز می تواند پخش جریان ، راست کلیک روی مرورگر و ضربه زدن به "element element" باشد. به برگه شبکه بروید و باید آدرس مستقیم "جریان" را نشان دهد. این ویدیوی یوتیوب این را نشان می دهد. تازه کردن صفحه با برگه باز شده می تواند کمک کننده باشد.

هنگامی که ایستگاه های خود را در اختیار دارید ، می خواهید آنها را آنلاین قرار دهید تا برنامه پایتون ارشد رادیویی شما بتواند آنها را جذب کند. گزینه های زیادی برای انجام این کار وجود دارد ، می توانید از سایت هایی مانند Github ، bitbucket یا حتی sourceforge استفاده کنید. هدف اصلی میزبانی این لیست به صورت آنلاین این است که کاربر با تنظیم آن بتواند لیست جریان را از راه دور به صورت آنلاین تغییر دهد.

در ابتدای برنامه پایتون متغیری به نام url وجود دارد ، به سادگی این آدرس را با پیوندهای آدرس ایستگاه به عنوان آدرس فایل json خود تغییر دهید

می توانید از فرمت مشابه فایل internetStation.json من پیروی کنید. اگر می خواهید از github نیز استفاده کنید ، می توانید به سادگی مخزن ارشد رادیوی من را فورک کرده و فایل internetStation.json خود را ویرایش کرده و به آدرس اینترنتی "خام" نشان دهید. با کلیک روی فایل ، می توانید آن را در GUI Github زیر مشاهده کنید.

مرحله 5: ایجاد مدارها

ایجاد مدارها
ایجاد مدارها

حالا ما باید مدار را تنظیم کنیم. این بر اساس تجهیزات شما تغییر می کند ، اما در زیر نحوه تنظیم من است.

pinout.xyz/ برای مرجع اینکه کدام پین ها کدام هستند. از آنجا که ما از کتابخانه gpiozero استفاده می کنیم ، فقط به شماره گذاری پین BCM توجه داریم. توجه داشته باشید که من چند رمزگذار اضافی KY040 - شماره گیرها - خریدم تا آنها را آزمایش کنم زیرا همه آنها از دقت یکسانی برخوردار نیستند. هر کدام دارای "پرش" یا خروجی نادرست هستند ، بنابراین من بهترین دو مورد را انتخاب کردم. در کد شما توجه داشته باشید برخی از مراحل برای محدود کردن این بازگشت نیز وجود دارد.

من دکمه را به پین 17 BCM و زمین متصل کردم

LED من به مقاومت 1k اهم و سپس پین 27 BCM و زمین

رمزگذارهای دوار KY040 من دارای سربی + به 5V ، GND به زمین و SW قطع شده بود. اینها روی یک تخته کوچک نان متصل شده بودند

پین dt رمزگذار دوار ایستگاه متصل به پین BCM 21

پین clk رمزگذار دوار ایستگاه متصل به پین 20 BCM

پین dt رمزگذار دوار سطح صوتی متصل به پین 19 BCM

پین clk رمزگذار دوار سطح صوتی متصل به پین 16 BCM

اگر این پین ها را تغییر می دهید ، فقط کافی است شماره برنامه برنامه پایتون را در جایی که کنترل کننده ها را تنظیم می کند ، به روز کنید

من برای سهولت کار از یک تخته نان کوچک استفاده کردم. من از سیمهای بلوز M/M و M/F برای تسهیل رابط استفاده کردم. من مقداری سیم جامپر را روی پین های دکمه/LED که قبلا خریدم لحیم کردم. برای لحیم نکردن ، می توانید دکمه ها و LED هایی را که از قبل دارای سیم های بلوز هستند یا به راحتی به آنها متصل می شوند ، تهیه کنید.

مرحله ششم: آزمایش کنید

اکنون ، شما باید یک سیستم عملکردی داشته باشید! بیایید آن را آزمایش کنیم. با برنامه پایتون به پوشه بروید ، احتمالاً:

سی دی ارشد

python3eniorRadio.py

در حال حاضر ، 45 ثانیه تأخیر در شروع برنامه وجود دارد تا به آن زمان داده شود تا بلندگوی بلوتوث را در حال روشن شدن پیدا کند. اگر در حین آزمایش به آن نیاز ندارید می توانید این خط را کامنت کنید. ممکن است برنامه به شما بگوید که باید بسته های اضافی را نصب کنید ، در این صورت ادامه دهید. همچنین ممکن است نیاز به نصب نسخه جدیدتر پایتون باشد.

sudo apt-get python3.7 را نصب کنید

برخی از مشکلات احتمالی حتی اگر برنامه اجرا شود:

صدایی نمی شنوم

مطمئن شوید که بلندگو روشن است و در رزبری پای شما انتخاب شده است. از طریق GUI باید بتوانید آن را جفت کرده و سپس آن را به عنوان دستگاه خروجی صدا انتخاب کنید. علاوه بر این ، درایورهای صوتی خود را بررسی کنید. یک مسئله رایج این است که ممکن است لازم باشد بسته pulseaudio را دوباره نصب کنید

صوتی متزلزل یا برش به داخل و خارج است

سعی کنید دستگاه را به روتر WiFi خود نزدیک کنید. علاوه بر این ، مطمئن شوید که بلندگوی بلوتوث نزدیک است. همچنین ممکن است مشکل از درایور صدا باشد

مرحله 7: قرار دادن در یک محوطه دائمی

وارد محوطه دائمی کنید
وارد محوطه دائمی کنید

در مرحله بعد ، آن را در یک جعبه یا دستگاه مشابه قرار دهید تا به طور دائم در آن زندگی کند. من توصیه می کنم یکی را داشته باشید که بعداً بتوانید برای اشکال زدایی به آن دسترسی پیدا کنید. من این جعبه چوبی کوچک را در یک فروشگاه صنایع دستی به قیمت 2 دلار تهیه کردم و در صفحه لوازم پیوند دادم. یکی از دوستانم جعبه سیگار را توصیه کرد.

سپس سوراخ هایی را در قسمت جلو برای دکمه فشاری و کلیدهای چرخشی بریدم ، و سوراخ پشت سیم را برای سیم برق microUSB ایجاد کردم.

من کوه را آزمایش کردم و مطمئن شدم که کار می کند ، و voilà!

در نهایت ، من از چسب فوق العاده برای نگه داشتن دکمه فشار استفاده کردم. تخته نان من یک چسب در پایین داشت که آن را به قسمتی از جعبه وصل کردم. من از یک نوار چسب نواری برای محکم کردن قسمت پشتی پی به جعبه استفاده کردم ، بنابراین در صورت نیاز بعداً می توان آن را جابجا کرد.

مرحله 8: برنامه را برای راه اندازی هنگام راه اندازی تنظیم کنید

در نهایت ، شما به احتمال زیاد می خواهید این برنامه پایتون با راه اندازی رزبری pi اجرا شود ، بنابراین نیازی به انجام دستی آن ندارید. روش های زیادی برای انجام این کار وجود دارد که می توانید به صورت آنلاین پیدا کنید.

شخصاً ، آن را با استفاده از راه دوم در این آموزش SparkFun تنظیم کردم:

در اینجا ، منتظر است تا سیستم قبل از اجرای برنامه وارد دسکتاپ گرافیکی شود. سپس توسط برنامه پایتون به مدت 45 ثانیه به تأخیر می افتد تا به سیستم زمان دهد تا دوباره به بلندگوی بلوتوث متصل شود. اگر از بلندگوی یکپارچه استفاده می کنید ، می توانید این تاخیر را حذف کنید. توجه داشته باشید که بلندگوی بلوتوث باید ابتدا روشن باشد! (برای راه حل بلوتوث)

حالا می توانید خاموش کردن و دوباره فعال کردن pi خود را امتحان کنید! پس از حدود 90 ثانیه pi شما باید بار دیگر پخش جریانهای رادیویی را آغاز کند. با ضربه زدن به دکمه ، مکث/پخش می شود. توجه داشته باشید که این راه اندازی مجدد فایل InternetStations json را دوباره می خواند بنابراین اگر ایستگاه های خود را تغییر دادید باید دستگاه را راه اندازی مجدد کنید تا کار کند. تبریک می گویم!

اگر این کار را انجام داده اید یا تغییراتی در پروژه ایجاد کرده اید ، لطفاً به من اطلاع دهید!

صفحه Github:

توصیه شده: