Mundarija:

Katta radio - Raspberry Pi: 8 qadam
Katta radio - Raspberry Pi: 8 qadam

Video: Katta radio - Raspberry Pi: 8 qadam

Video: Katta radio - Raspberry Pi: 8 qadam
Video: РЕПКА ВКУСНЕЕ МАЛИНЫ? Смотрим на Repka Pi, сравниваем с Raspberry Pi 2024, Iyul
Anonim
Katta radio - Raspberry Pi
Katta radio - Raspberry Pi

Senior Radio loyihasi-bu ochiq manbali, Internet-radio qurilmasi bo'lib, ham apparat, ham dasturiy komponentlardan iborat. U cho'ntak radiosini boshqarishni yaxshi biladigan foydalanuvchilar uchun mo'ljallangan bo'lib, u erda terish tovushlar va tanlangan radiostansiyani boshqaradi. Loyiha standart markazli radio sifatida o'xshash o'lcham va boshqaruvni xohlagan foydalanuvchiga yo'naltirilgan, foydalanuvchilarga mo'ljallangan dizayn bilan yaratilgan.

U nogiron kishilarga odatda Internet -brauzer orqali mavjud bo'lgan minglab turli xil Internet -oqimlarni tinglash imkoniyatini beradigan ehtiyojlarni qondirish uchun qurilgan. Ko'p odamlar bunday qurilmadan oson foydalanish imkoniyatiga ega emaslar, shuning uchun bu dizayn zamonaviy texnologiyalar uchun tanish interfeys yaratishga qaratilgan.

Asosiy funktsiya Github -da, kattaRadio.py deb nomlangan python 3.7.3 dasturida saqlanadi. U radio holatini saqlash uchun json faylini o'qiydi va yozadi, shuning uchun uni o'chirib qo'ysangiz, u joriy audio darajasi va tanlangan stantsiyani eslab qoladi. Bundan tashqari, u o'zgartirilishi mumkin bo'lgan onlayn joylashtirilgan json faylini o'qiydi! Bu sizga radiostantsiyalarni masofadan turib yangilash imkonini beradi, agar siz buni boshqa birovga bersangiz.

Hozirda u bluetooth karnayiga ulanish uchun yaratilgan, lekin uni bortdagi karnayda ham ijro etish oson.

Ushbu qurilmaning yaratuvchisi, ehtimol, foydalanuvchi emas va elektronika va dasturlash bo'yicha asosiy bilimlar bilan hech bo'lmaganda tajribaga muhtoj. Linux tajribasi ham juda foydali.

Foydalanuvchi uchun funksionallik oddiy:

Quvvat yoqilganda u standart audio qurilmada tanlangan oxirgi stantsiyani o'ynaydi. Chap terish stantsiyani boshqaradi, u erda bir necha marta bosish yangi URLga o'tadi. U oxirgi yoki birinchi kirishdan keyin aylanadi. To'g'ri terish ovoz balandligini boshqaradi. LED bu dastur yoqilganligini ko'rsatadi. Va tugmachani to'xtatadi yoki radioni "o'chiradi". Quvvat yoqilgandan so'ng, foydalanuvchi to'xtatib turish/ijro etish yoki "o'chirish/yoqish" tugmachasini bosishi mumkin, uni boshqarish uchun radio va ikkita terish.

Ta'minotlar

Men ishlatgan har bir elementga bog'langan. Menga jami 60 dollar turadi, qolgan materiallar ko'p!

Asosiy elektron va linux bilimlari - yig'ish va disk raskadrovka uchun

Raspberry Pi Zero W (Zero WH sarlavhalari oldindan lehimlangan va foydali bo'lishi mumkin)

MicroSD karta-8 GB+ va o qobiliyati

MicroUSB 5V quvvat adapteri - Havola, agar kerak bo'lsa, sozlash uchun microHDMI adapteri va microUSB OTG dan USB A adapterini ham o'z ichiga oladi.

Bluetooth dinamik

M/F va M/M o'tish kabellari

2 Rotary kodlovchi - yuqoridagi bilan bir xil havola

Kichik non paneli

Tugma

LED (ixtiyoriy) - sotib olingan LED + yuqoridagi tugma

Qadoqlash uchun quti

1 -qadam: Raspberry Pi W ni sozlash (boshsiz)

O'rnatish (boshsiz) Raspberry Pi W
O'rnatish (boshsiz) Raspberry Pi W

Biz dasturiy ta'minotni ishga tushiradigan malina pi operatsion tizimini sozlashimiz kerak. Bu loyihalarning hech biri o'ziga xos emas. Nosozliklarni tuzatish uchun men uni sozlashni maslahat beraman, shunda siz unga boshsiz rejimda ham kirishingiz mumkin. Bu shuni anglatadiki, siz Wi-Fi tarmog'iga GUI yoki SSH terminali orqali kirishingiz mumkin va uni har doim ishlatish uchun klaviatura, sichqoncha va monitor kerak emas. Agar siz texnologiyani yaxshi bilsangiz, buni monitor/sichqoncha/klaviaturaga ulanmasdan qilishingiz mumkin. Bu erda ba'zi ko'rsatmalar ko'rsatmalari. Biroq, u kamroq oldinga siljiydi va quyida uni sozlashning yana bir usuli ko'rsatilgan.

Birinchi marta sizga kerak bo'ladi:

  • Raspberry Pi W
  • MicroSD -SD -karta adapteri [OS -ni SD -kartaga yozish uchun]
  • MicroSD karta (~ 8 GB+) [OS va dasturimizni saqlash uchun]
  • MicroUSB quvvati (5V)
  • MicroUSB -dan USB A -ga [sichqoncha/klaviatura uchun]
  • Mini HDMI - HDMI adapteri (displey chiqishi uchun)
  • Klaviatura
  • Sichqoncha
  • Monitor

Birinchidan, siz operatsion tizimni rPi micro SD kartasiga ulashingiz kerak.

Men raspian buster -dan foydalandim, siz uni SD -kartani o'qish/yozuvchi kompyuterga yuklaysiz, so'ngra raspian OS -ni SD -kartaga o'chirasiz. BalenaEtcher - bu oson dastur

Keyin SD -kartani pi uyasiga joylashtiring, monitorni, klaviaturani va quvvatni ulang. Raspian sizni taklif qiladigan sozlash bosqichlarini bajaring, shu jumladan uni Wi -Fi tarmog'iga ulash va bluetooth dinamikini GUI orqali ulash. Quyidagi buyruqlar yordamida uni yangilash yaxshi amaliyot bo'ladi

sudo apt-get yangilanishi

sudo apt-get upgrade

Agar siz boshingizni boshsiz belgilashni xohlasangiz, biz avval pi -ning IP -manzilini olishimiz kerak bo'ladi. Siz uni terminal orqali topishingiz mumkin

ifconfig

buyruq. Keyin SSH va VNC -ni interfeys variantlari orqali yoqishingiz kerak

sudo raspi-config

Qayta ishga tushirilgandan so'ng, siz SSH yoki VNC orqali pi ga kirishni sinab ko'rishingiz mumkin. SSH - bu faqat terminal interfeysi va bluetooth dinamikini ulash uchun GUI -dan foydalanish osonroq bo'lishi mumkin. Siz tarmoqdagi alohida kompyuterda pi -ga osongina kirish uchun VNC connect kabi dasturdan foydalanishingiz mumkin. Siz unga SSH uchun macun kabi dasturdan foydalanishingiz mumkin.

Bundan tashqari, siz VNC bulutli hisob qaydnomasini o'rnatishingiz mumkin, shuning uchun kerak bo'lganda qurilmaga tarmoqdan kirishingiz mumkin

2 -qadam: Katta radio dasturini o'rnating

Katta radio dasturini o'rnating
Katta radio dasturini o'rnating

Buni malina pi ning terminal oynasidan qilish mumkin. Avval git o'rnatilganligiga ishonch hosil qiling

sudo apt-get install git

Qaysi operatsion tizimni o'rnatganingizga qarab, bu qadamlar boshqacha bo'lishi mumkin, chunki siz qo'shimcha paketlarni o'rnatishingiz kerak bo'ladi, agar shunday bo'lsa, tizim sizga aytadi. Avval github -dan katta radio kodini yuklab olishimiz kerak. https://github.com/Bunborn/seniorRadio Ideal holda siz o'z repoingizni qilyapsiz, shuning uchun siz ham men kabi radiostansiyalarni o'zgartirishingiz va osongina o'zgartirishingiz mumkin. Agar shunday bo'lsa, repo -ni o'chiring

Ammo, agar siz radio json faylingizni boshqa joyda joylashtirishni xohlasangiz, meniki bilan bir xilda foydalanishingiz mumkin

Keyin repo -ni xohlagan joyda klonlang. Standart katalog yaxshi. Yashil klon yoki yuklab olish tugmachasini bosish orqali kerakli github repo manzilini oling.

Qayta terminal oynasida, git klon

Endi ls dan foydalanayotganingizda, kattaRadio nomli qo'shimcha katalogni ko'rishingiz kerak. Ajoyib!

Kod o'z-o'zini hujjatlashtirish uchun mo'ljallangan, uni ko'rib chiqish foydali bo'ladi. Ayniqsa, disk raskadrovka maqsadida va agar siz tizimni o'zgartirmoqchi bo'lsangiz.

3 -qadam: Qo'shimcha dasturiy ta'minotni o'rnating

Qo'shimcha dasturiy ta'minotni o'rnating
Qo'shimcha dasturiy ta'minotni o'rnating

Zanjirga o'tishdan oldin va uni sinab ko'rishdan oldin, biz buning uchun VLC va python api -ni yuklab olishimiz kerak. Sizda allaqachon VLC o'rnatilgan bo'lishi mumkin. Birinchi ikkita buyruq pi -ni yangilaydi va oxirgi ikkita buyruq VLC -ni, so'ngra python api -ni o'rnatadi.

sudo apt-get yangilanishi

sudo apt-get upgrade

sudo snap VLC ni o'rnating

sudo apt-get install vlc-python

Bundan tashqari, gpiozero -ni o'rnating, biz uni pi -ning GPIO pinlari bilan bog'lanish uchun ishlatamiz. Siz uni operatsion tizimingizga qarab allaqachon o'rnatgan bo'lishingiz mumkin.

sudo apt-get gpiozero-ni o'rnating

4 -qadam: Radiostansiyalar oqimlarini toping

Radiostansiyalar oqimlarini toping
Radiostansiyalar oqimlarini toping

Keyingi, eng qiziqarli qismlardan biri! Siz xohlagan oqimlarni tanlash vaqti keldi.

Mening internetStations.json faylimda, asosan, yangiliklar va musiqa uchun mening oqim havolalarimni ko'rishingiz mumkin. Ammo u erda juda ko'p joylashtirilgan kontent bor. Bu erda kalit to'g'ridan -to'g'ri oqim URL manzilini topishdir. Masalan, BBC yangiliklar va musiqa stantsiyalarini bu blogda topish mumkin. Bu to'g'ridan -to'g'ri oqimlar hech qanday grafik interfeysga ega emas va avtomatik ravishda sizning brauzeringiz media pleer orqali oqimni ijro etadi. Bu bizga kerak bo'lgan URL manzillari, shuning uchun VLC ularni o'qishi mumkin! Siz har qanday havolani veb -brauzeringizda yoki oddiy kompyuteringizda VLC orqali tezda sinab ko'rishingiz mumkin, bu uning pi -da ishlashini ta'minlaydi.

Ushbu stantsiyalarni topish uchun, agar sizda xizmat mavjud bo'lsa, to'g'ridan -to'g'ri oqimni onlaynda qidirishingiz mumkin. Brauzerni o'ng tugmasini bosib, "elementni tekshirish" tugmachasini bosish, oqimni o'ynashning tezkor usuli bo'lishi mumkin. Tarmoq yorlig'iga o'ting va u oqimning "to'g'ridan -to'g'ri" URL manzilini ko'rsatishi kerak. Bu youtube videosi buni ko'rsatadi. Sahifani ochilgan oynani yangilash yordam berishi kerak.

Stantsiyalaringiz bo'lgandan so'ng, siz ularni Internetga joylashtirmoqchisiz, shunda sizning katta radio radio python dasturi ularni egallashi mumkin. Buning ko'p variantlari bor, siz Github, bitbucket yoki hatto sourceforge kabi saytlardan foydalanishingiz mumkin. Ushbu ro'yxatni Internetda joylashtirishning asosiy maqsadi shundaki, uni o'rnatgan foydalanuvchi oqim ro'yxatini masofadan turib o'zgartirishi mumkin.

Python dasturining boshida url deb nomlangan o'zgarmaydigan bor, uni stantsiya URL havolalari bilan json faylingizning URL manziliga o'zgartiring

Siz mening internetStation.json faylim bilan bir xil formatga amal qilishingiz mumkin. Agar siz github -dan foydalanishni xohlasangiz, oddiyiorRadio omborimni ajratib, o'zingizning internetStation.json faylingizni tahrir qilib, uni "xom" URL manziliga ko'rsatishingiz mumkin. Siz buni faylni bosganingizdan so'ng Github GUI -da topishingiz mumkin.

5 -qadam: sxemalarni yarating

O'chirish sxemalarini yaratish
O'chirish sxemalarini yaratish

Endi biz sxemani sozlashimiz kerak. Bu sizning uskunangizga qarab o'zgaradi, lekin quyida men o'zimni qanday o'rnatganimni ko'rsataman.

Qaysi pinlar haqida ma'lumot olish uchun https://pinout.xyz/. Biz gpiozero kutubxonasidan foydalanganimiz uchun, biz faqat BCM pin raqamlash bilan shug'ullanamiz. E'tibor bering, men ularni sinab ko'rish uchun bir nechta qo'shimcha KY040 aylanadigan kodlovchi - kadranlarni sotib oldim, chunki ularning hammasi bir xil aniqlikka ega emas. Ularning har birida "sakrash" yoki noto'g'ri chiqish bo'lishi mumkin edi, shuning uchun men o'zimdagi eng yaxshisini tanladim. Kodda siz buni qaytarishni cheklash uchun ba'zi qadamlar borligini ta'kidlaysiz.

Men tugmani BCM pin 17 va erga uladim

Mening LED 1k ohmli rezistorga, keyin BCM pin 27 va erga

Mening KY040 aylanadigan enkoderlarim + 5V ga, GND erga va SW uzilgan. Ular mini -plastinka orqali ulangan

BCM pin 21 ga ulangan dt pinli statsionar aylanma kodlovchi

BCM pin 20 ga ulangan statsionar aylanuvchi kodlovchi clk pin

BCM pin 19 ga ulangan dt pinli audio darajali aylanadigan kodlovchi

BCM pin 16 ga ulangan audio darajali aylanuvchi kodlovchi clk pin

Agar siz bu pinlarni o'zgartirsangiz, python dasturidagi raqamni yangilang, u erda ishlovchilar o'rnatiladi

Buni osonlashtirish uchun men mini -taxtadan foydalandim. Men interfeysni osonlashtirish uchun M/M va M/F o'tish simlarini ishlatardim. Men ilgari sotib olgan tugmachaning/pinning pinlariga bir nechta o'tish simlarini uladim. Lehimlamaslik uchun siz allaqachon o'tish simlari bo'lgan yoki ularga osongina ulanadigan tugmachalar va LEDlarni olishingiz mumkin.

6 -qadam: Sinab ko'ring

Endi sizda ishlaydigan tizim bo'lishi kerak! Keling, buni sinab ko'raylik. Python dasturi bilan papkaga o'ting, ehtimol:

CD katta radiosi

python3 kattaRadio.py

Hozirgi vaqtda bluetooth dinamikini yoqish vaqtini topish uchun dastur boshlanishida 45 soniya kechikish bor. Sinov paytida sizga bu chiziq kerak bo'lmasa, izoh berishingiz mumkin. Dastur sizga qo'shimcha paketlarni o'rnatishingiz kerakligini aytishi mumkin, agar shunday bo'lsa, davom eting. Python -ning yangi versiyasini o'rnatish kerak bo'lishi mumkin.

sudo apt-get install python3.7

Dastur ishlayotgan bo'lsa ham, ba'zi mumkin bo'lgan muammolar:

Men ovoz eshitmayman

Malinali pi -da karnay yoqilgan va tanlanganligiga ishonch hosil qiling. GUI orqali siz uni ulashingiz va keyin uni audio chiqish qurilmasi sifatida tanlashingiz kerak. Bundan tashqari, audio drayverlarni tekshiring. Umumiy muammo shundaki, sizga pulseaudio paketini qayta o'rnatish kerak bo'ladi

Ovoz buzilgan yoki kesilgan

Qurilmani Wi -Fi routeriga yaqinlashtirishga harakat qiling. Bunga qo'shimcha ravishda, bluetooth dinamikining yonida ekanligiga ishonch hosil qiling. Bundan tashqari, audio drayver bilan bog'liq muammolar bo'lishi mumkin

7 -qadam: Doimiy muhafazaga joylashtiring

Doimiy muhofazaga joylashtiring
Doimiy muhofazaga joylashtiring

Keyin uni doimiy yashash uchun qutiga yoki shunga o'xshash qurilmaga soling. Nosozliklarni tuzatish uchun keyinroq kirishingiz mumkin bo'lgan biriga ega bo'lishni tavsiya qilaman. Men kichkina yog'och qutini hunarmandchilik do'konida 2 dollarga oldim va uni materiallar sahifasida bog'ladim. Do'stlarimdan biri sigara qutisini tavsiya qildi.

Keyin old tomondan tugma va aylanadigan kalitlar uchun teshiklarni kesib oldim va qutining orqasida microUSB quvvat kabeli uchun teshik ochdim.

Men tog'ni sinab ko'rdim va uning ishlashiga ishonch hosil qildim va voila!

Nihoyat, men tugmachani ushlab turish uchun super elim ishlatdim. Mening non taxtamning pastki qismida yopishtiruvchi bor edi, men uni qutining bir qismiga uladim. Pining orqa qismini qutiga mahkamlash uchun men yopishqoq lentaning kichik tasmasini ishlatardim, shuning uchun agar kerak bo'lsa, uni keyinroq ko'chirish mumkin edi.

8 -qadam: Dasturni ishga tushirishda ishga tushirish

Va nihoyat, siz ushbu python dasturini malina pi ni ishga tushirishda ishlatishni xohlaysiz, shuning uchun uni qo'lda bajarishingiz shart emas. Buning ko'p usullari mavjud, uni Internetda topishingiz mumkin.

Shaxsan men uni SparkFun qo'llanmasining ikkinchi usuli yordamida o'rnatdim:

Bu erda, dasturni ishga tushirishdan oldin, tizim grafik ish stoliga kirishini kutadi. Keyin tizimga bluetooth karnayiga qayta ulanish uchun vaqt berish uchun python dasturi tomonidan 45 soniya kechiktiriladi. Agar siz o'rnatilgan dinamikdan foydalansangiz, bu kechikishni olib tashlashingiz mumkin. E'tibor bering, bluetooth dinamik birinchi navbatda bo'lishi kerak! (bluetooth yechimi uchun)

Endi siz pi-ni o'chirib, qayta yoqishga urinib ko'rishingiz mumkin! Taxminan 90 soniyadan so'ng, sizning radio to'lqinlaringiz yana eshitila boshlaydi. Tugmani bosganingizda u pauza qiladi/o'ynaydi. Shuni esda tutingki, bu qayta ishga tushirishda InternetStations json fayli qayta o'qiladi, shuning uchun agar siz stantsiyalaringizni o'zgartirsangiz, ular ishlashi uchun qurilmani qayta ishga tushirishingiz kerak bo'ladi. Tabriklaymiz!

Agar siz buni qilgan bo'lsangiz yoki loyihaga o'zgartirish kiritgan bo'lsangiz, menga xabar bering!

Github sahifasi:

Tavsiya: