Мазмұны:

Аға радио - Raspberry Pi: 8 қадам
Аға радио - Raspberry Pi: 8 қадам

Бейне: Аға радио - Raspberry Pi: 8 қадам

Бейне: Аға радио - Raspberry Pi: 8 қадам
Бейне: БАРЛЫҒЫН еститін радио!!! RETEKESS TR105 #retekess #tr105 2024, Қараша
Anonim
Аға радио - Raspberry Pi
Аға радио - Raspberry Pi

Senior Radio жобасы-бұл ашық бастапқы коды бар, радио-аппараттық және бағдарламалық компоненттері бар интернет-радио құрылғысы. Ол қалталы радионы басқаруды жақсы білетін пайдаланушыларға арналған, онда теру дыбыс пен таңдалған радиостанцияны басқарады. Жоба стандартты портативті радио ретінде ұқсас өлшемді және басқаруды қалайтын пайдаланушыға бағытталған пайдаланушыға бағытталған дизайнмен жасалған.

Ол мүмкіндігі шектеулі адамдарға интернет -шолғыш арқылы әдетте қол жетімді мыңдаған түрлі ағынды мазмұнды тыңдауға мүмкіндік беру қажеттіліктерін қанағаттандыру үшін салынған. Көптеген адамдар мұндай құрылғыны оңай қолдана алмайды, сондықтан бұл дизайн заманауи технологияға таныс интерфейс жасауға бағытталған.

Негізгі функция Github -да орналасқан,ioritadad.py деп аталатын python 3.7.3 бағдарламасында сақталған. Ол радионың күйін сақтау үшін json файлын оқиды және жазады, сондықтан оны өшіргенде ол қазіргі дыбыс деңгейі мен таңдалған станцияны еске түсіреді. Сонымен қатар, ол сіз өзгерте алатын онлайн орналастырылған json файлын оқиды! Бұл сізге басқа біреуге берсеңіз, радиостанцияларды қашықтан жаңартуға мүмкіндік береді.

Қазіргі уақытта ол Bluetooth динамигіне қосылу үшін жасалған, бірақ оны борттық динамиктен ойнату үшін де оңай жасауға болады.

Бұл құрылғыны жасаушы, бәлкім, қолданушы емес, және электроника және бағдарламалау бойынша негізгі білім бойынша кем дегенде біраз тәжірибе қажет. Linux тәжірибесі де өте пайдалы.

Пайдаланушы үшін бұл функция қарапайым:

Қосылған кезде ол әдепкі аудио құрылғы арқылы таңдалған соңғы станцияны ойнатады. Сол жақ теру станцияны басқарады, онда бірнеше рет басу жаңа URL мекенжайына ауысады. Ол соңғы немесе бірінші жазбадан кейін айналады. Оң жақ теру дыбыс деңгейін басқарады. Жарық диодты бағдарлама қосылғанын көрсетеді. Ал түймешік радионы кідіртеді немесе «өшіреді». Қосылғаннан кейін, пайдаланушы кідірту/ойнату немесе «өшіру/қосу» түймесін, радионы және оны басқару үшін екі теруді басуы мүмкін.

Жабдықтар

Әр элементке сілтеме - мен қолданған нақты нәрсе. Маған 60 долларға жуық қаражат қалды!

Негізгі электронды және линукс білімі - құрастыру мен күйін келтіру үшін

Raspberry Pi Zero W (Zero WH-тақырыптары алдын ала дәнекерленген және пайдалы болуы мүмкін)

MicroSD картасы-8 ГБ+ және мүмкіндігі o

MicroUSB 5V қуат адаптері - сілтемеде microHDMI адаптері мен қажет болған жағдайда орнату үшін USB A адаптеріне арналған microUSB OTG бар.

Bluetooth динамигі

M/F және M/M қосқыш кабельдері

2 Айналмалы кодер - жоғарыдағы сілтеме

Кішкене нан тақтасы

Батырмаға басу

Жарықдиодты (міндетті емес) - жоғарыда LED + түймесін сатып алды

Қаптауға арналған қорап

1 -қадам: Raspberry Pi W орнату (бассыз)

Орнату (бассыз) Raspberry Pi W
Орнату (бассыз) Raspberry Pi W

Біз бағдарламалық жасақтаманы іске қосатын таңқурай pi -де операциялық жүйені орнатуымыз керек. Бұлардың ешқайсысы бұл жобаға ғана тән емес. Отладка жасау үшін мен оны бассыз режимде қол жеткізе алатындай етіп орнатуды ұсынамын. Бұл WiFi желісіне GUI немесе SSH терминалы арқылы кіруге болатынын білдіреді және оны үнемі пайдалану үшін пернетақта, тінтуір мен монитор қажет емес. Егер сіз технологияны жақсы білсеңіз, мұны мониторға/тінтуірге/пернетақтаға қосудың қажеті жоқ. Нұсқаулықтардың кейбір мысалдары осында. Дегенмен, ол тура емес, төменде оны орнатудың басқа әдісі бар.

Бұл бірінші рет сізге қажет болуы мүмкін:

  • Raspberry Pi W
  • MicroSD to SD карт адаптері [ОЖ -ны SD картасына жазу үшін]
  • MicroSD картасы (~ 8 ГБ+) [ОЖ мен біздің бағдарламаны сақтау үшін]
  • MicroUSB қуаты (5В)
  • MicroUSB - USB A [тышқан/пернетақта үшін]
  • Mini HDMI -HDMI адаптері [дисплей шығысы үшін]
  • Пернетақта
  • Тышқан
  • Монитор

Алдымен сізге операциялық жүйені rPi micro SD картасына қосу керек.

Мен raspian buster қолдандым, сіз оны SD картаны оқу/жазу құрылғысы бар компьютерге жүктейсіз, содан кейін raspian OS жүйесін SD картасына қосасыз. BalenaEtcher - бұл қарапайым бағдарлама

Содан кейін SD картасын пи ұясына салыңыз, мониторды, пернетақтаны және қуатты қосыңыз. Сізге raspian ұсынатын орнату қадамдарын орындаңыз, оның ішінде WiFi желісіне қосылу және Bluetooth динамигін GUI арқылы жұптастыру. Жақсы тәжірибе оны келесі пәрмендерді қолдану арқылы жаңарту болады

sudo apt-get жаңартуы

sudo apt-get жаңарту

Егер сіз өзіңіздің басыңызды бассыз деп белгілеуді қаласаңыз, біз алдымен pi -дің IP -адресін алуымыз керек. Терминал арқылы оны

ifconfig

команда Содан кейін интерфейс опциялары арқылы SSH және VNC қосу керек

sudo raspi-config

Қайта жүктеуден кейін сіз енді SSH немесе VNC арқылы pi -ге кіруді тексере аласыз. SSH - бұл тек терминалды интерфейс, сондықтан сізге Bluetooth динамигін жұптастыру үшін GUI -ді пайдалану оңайырақ болуы мүмкін. Желіңіздегі бөлек компьютерде pi -ге оңай қол жеткізу үшін VNC connect сияқты бағдарламаны қолдануға болады. Сіз оған SSH үшін putty сияқты бағдарламаны қолдана аласыз.

Сонымен қатар, VNC бұлтты есептік жазбасын орнатуға болады, осылайша қажет болған жағдайда құрылғыға желіден кіруге болады

2 -қадам: Аға радио бағдарламалық жасақтаманы орнатыңыз

Аға радио бағдарламалық жасақтаманы орнатыңыз
Аға радио бағдарламалық жасақтаманы орнатыңыз

Мұны таңқурай пи терминал терезесінен жасауға болады. Алдымен git орнатылғанына көз жеткізіңіз

sudo apt-get install git

Сіз орнатқан операциялық жүйеге байланысты, бұл қадамдар басқаша болуы мүмкін, себебі сізге қосымша пакеттерді орнату қажет болуы мүмкін, жүйе сізге бұл туралы хабарлайды. Алдымен бізге аға радио кодын github -дан жүктеу керек. https://github.com/Bunborn/seniorRadio Ең дұрысы, сіз өзіңіздің репоңызды жасайсыз, сондықтан сіз мен сияқты радиостанцияларды өзгерте аласыз және оңай өзгерте аласыз. Олай болса, репоға айырылыңыз

Алайда, егер сіз өзіңіздің json файлыңызды басқа жерде орналастырғыңыз келсе, менікіндей еш қиындықсыз қолдана аласыз

Содан кейін репо қалаған жеріңізде клондаңыз. Әдепкі каталог жақсы. Жасыл клонды немесе жүктеу түймесін басу арқылы сізге қажет github репо URL мекенжайын алыңыз.

Терминал терезесіне қайта оралыңыз, git клоны

Енді ls -ді іздеген кездеiorRadio деп аталатын қосымша каталогты көру керек. Ғажайып!

Код өзін-өзі құжаттауға арналған, оны қарау пайдалы болар еді. Әсіресе отладтау мақсатында және егер сіз жүйені өзгертсеңіз.

3 -қадам: Қосымша бағдарламалық жасақтаманы орнатыңыз

Қосымша бағдарламалық жасақтаманы орнатыңыз
Қосымша бағдарламалық жасақтаманы орнатыңыз

Біз схемаға көшпес бұрын және оны тексермес бұрын, оған VLC мен python api жүктеуіміз керек. Сізде VLC орнатылған болуы мүмкін. Алғашқы екі команда пиді жаңартады, ал төмендегі соңғы екі команда VLC, содан кейін python api орнатады.

sudo apt-get жаңартуы

sudo apt-get жаңарту

sudo snap VLC орнатыңыз

sudo apt-get vlc-python орнатыңыз

Сонымен қатар, біз GPO түйреуіштерімен интерфейс үшін қолданылатын gpiozero орнатамыз. Сіз оны операциялық жүйеге байланысты орнатып қойған боларсыз.

sudo apt-get gpiozero орнатыңыз

4 -қадам: радиостанциялардың ағындарын табыңыз

Радиостанциялардың ағындарын табыңыз
Радиостанциялардың ағындарын табыңыз

Келесі, ең қызықты бөліктердің бірі! Қажетті ағындарды таңдауға уақыт келді.

Менің internetStations.json файлымда сіз менің ағындық сілтемелерімді көре аласыз, негізінен жаңалықтар мен музыкаға арналған. Бірақ бұл жерде көптеген тонна мазмұн бар. Мұнда кілт - тікелей ағынның URL мекенжайын табу. Мысалы, BBC жаңалықтары мен музыкалық станцияларын осы блогтан табуға болады. Бұл тікелей ағындардың графикалық интерфейсі болмайды және шолуды медиа ойнатқыш арқылы автоматты түрде ойнайды. Бұл бізге қажет URL мекенжайлары, сондықтан VLC оларды оқи алады! Кез келген сілтемені веб -браузерде немесе VLC арқылы қарапайым компьютерде тексеруге болады, бұл оның pi -де жұмыс істейтініне көз жеткізу үшін.

Бұл станцияларды табу үшін, егер сізде қызмет болса, тікелей ағынды желіден іздеуге болады. Ағынды ойнату, шолғышты тінтуірдің оң жақ түймесімен нұқу және «элементті тексеру» түймесін басудың жылдам әдісі де болуы мүмкін. Желі қойындысына өтіңіз, ол ағынның 'тікелей' URL мекенжайын көрсетуі керек. Бұл youtube видеосы мұны көрсетеді. Қойынды ашық болғанда бетті жаңарту көмектеседі.

Сізде станциялар болғаннан кейін, сіз оларды онлайн режиміне қойғыңыз келеді, сондықтан сіздің жоғары радионың python бағдарламасы оларды қабылдай алады. Мұны істеудің көптеген нұсқалары бар, сіз Github, bitbucket немесе тіпті sourceforge сияқты сайттарды пайдалана аласыз. Бұл тізімді желіде орналастырудың басты мақсаты - оны орнатқан пайдаланушы ағындар тізімін қашықтан онлайн режимінде өзгерте алады.

Python бағдарламасының басында url деп аталатын айнымалы болады, оны станцияның URL сілтемелері бар json файлының URL мекенжайы етіп өзгертіңіз

Сіз менің internetStation.json файлыммен бірдей форматта жүре аласыз. Егер сіз github -ды қолданғыңыз келсе, онда сіз меніңiorRadio репозиторийін ашып, өзіңіздің internetStation.json файлыңызды өңдеп, оны «шикі» URL -ге көрсете аласыз. Сіз мұны файлды басқаннан кейін Github GUI -де таба аласыз.

5 -қадам: тізбектерді құру

Схемалар құру
Схемалар құру

Енді біз тізбекті реттеуіміз керек. Бұл сіздің жабдыққа байланысты өзгереді, бірақ мен кенішті қалай орнатқаным төменде.

pinout.xyz/ сілтеме үшін қандай түйреуіштер бар. Біз gpiozero кітапханасын қолданатындықтан, біз тек BCM пин нөмірлеуіне қатысты боламыз. Назар аударыңыз, мен оларды тексеру үшін бірнеше қосымша KY040 айналмалы кодерлерін - теру құралдарын сатып алдым, өйткені олардың барлығы бірдей дәлдікке ие емес. Олардың әрқайсысында «секіру» немесе дұрыс емес нәтиже болады, сондықтан мен өзімдегі екеуінің ең жақсысын таңдадым. Кодта сіз бұл секіруді шектеу үшін бірнеше қадамдар бар екенін байқайсыз.

Мен түймені BCM түйреуіші 17 мен жерге жалғадым

Менің светодиод 1к Ом резисторға, содан кейін BCM PIN 27 және жерге қосылады

Менің KY040 айналмалы кодерлерімде + 5В дейін, GND жерге және SW ажыратылды. Олар шағын тақта арқылы қосылды

BCM түйреуіші 21 -ге қосылған dt -pin стансасының айналмалы кодері

BCM түйреуіші 20 -ға қосылған станцияның айналмалы кодер клк -пині

BCM түйреуішіне қосылған dt -pin аудио деңгейінің айналмалы кодері

BCM штыры 16 -ға қосылған дыбыс деңгейінің айналмалы кодерінің түйреуіш штыры

Егер сіз бұл түйреуіштерді өзгертсеңіз, python бағдарламасындағы нөмірді және өңдегіштерді орнататын жерді жаңартыңыз

Мен мұны жеңілдету үшін шағын тақтаны қолдандым. Мен интерфейсті жеңілдету үшін M/M және M/F қосқыш сымдарын қолдандым. Мен бұрын сатып алған түйме/жарық диодының түйреуіштеріне бірнеше секіргіш сымдарын дәнекерледім. Дәнекерлемеу үшін сізде сым өткізгіштері бар немесе оған оңай қосылатын түймелер мен светодиодтар алуға болады.

6 -қадам: тестілеу

Енді сізде жұмыс істейтін жүйе болуы керек! Оны сынап көрейік. Python бағдарламасы бар қалтаға өтіңіз, мүмкін:

CD жоғары радиосы

python3 калониRadio.py

Қазіргі уақытта бағдарламаның басында bluetooth динамигін қосуға уақыт беру үшін 45 секундтық кідіріс бар. Егер сіз тестілеу кезінде қажет болмаса, сіз бұл жолға түсініктеме бере аласыз. Бағдарлама сізге қосымша пакеттерді орнату керектігін айтуы мүмкін, егер болса, жалғастырыңыз. Сонымен қатар Python жаңа нұсқасын орнату қажет болуы мүмкін.

sudo apt-get install python3.7

Бағдарлама жұмыс істесе де мүмкін болатын кейбір мәселелер:

Мен дыбыс естімеймін

Таңқурай пи -де динамик қосулы екеніне және таңдалғанына көз жеткізіңіз. GUI арқылы сіз оны жұптастырып, содан кейін оны аудио шығыс құрылғысы ретінде таңдауыңыз керек. Сонымен қатар, аудио драйверлерді тексеріңіз. Жалпы мәселе - сізге pulseaudio пакетін қайта орнату қажет болуы мүмкін

Дыбыс үзіліп кетуі немесе кіруі мен шығуы

Құрылғыны WiFi маршрутизаторына жақындатып көріңіз. Сонымен қатар, bluetooth динамигі жақын жерде екеніне көз жеткізіңіз. Аудио драйвердің ақауы болуы мүмкін

7 -қадам: Тұрақты корпусқа салыңыз

Тұрақты корпусқа салыңыз
Тұрақты корпусқа салыңыз

Содан кейін оны тұрақты өмір сүру үшін қорапқа немесе ұқсас құрылғыға салыңыз. Мен кейінірек отладтау үшін қол жеткізуге болатын біреуді алуды ұсынамын. Мен бұл кішкентай ағаш қорапты қолөнер дүкенінен 2 долларға алдым және оны керек -жарақтар бетінде байланыстырдым. Менің достарымның бірі темекі қорабын ұсынды.

Содан кейін мен батырманың және айналмалы қосқыштардың алдыңғы жағындағы тесіктерді кесіп алдым және қораптың артқы жағында microUSB қуат сымы үшін тесік жасадым.

Мен тауды сынап көрдім және оның жұмыс істейтініне көз жеткіздім, және voilà!

Ақырында мен батырманы басу үшін супер желім қолдандым. Менің тақтайшамның түбінде желім болды, мен оны қораптың бір бөлігіне жалғадым. Пидің артқы жағын қорапқа бекіту үшін мен кішкене таспалы таспаны қолдандым, сондықтан қажет болған жағдайда оны кейін жылжытуға болады.

8 -қадам: Бағдарламаны іске қосу кезінде іске қосу

Ақырында, сіз бұл python бағдарламасын таңқурай pi іске қосылған кезде іске қосқыңыз келеді, сондықтан оны қолмен жасаудың қажеті жоқ. Мұны істеудің көптеген жолдары бар, оны Интернеттен табуға болады.

Мен оны SparkFun оқулығында екінші жолмен орнаттым:

Мұнда ол бағдарламаны іске қоспас бұрын жүйенің графикалық жұмыс үстеліне енуін күтеді. Содан кейін жүйенің bluetooth динамигіне қайта қосылу уақытын беру үшін питон бағдарламасы 45 секундқа кешіктіріледі. Егер сіз біріктірілген динамикті қолдансаңыз, бұл кідірісті жоюға болады. Назар аударыңыз, бірінші кезекте Bluetooth динамигі болуы керек! (Bluetooth шешімі үшін)

Енді сіз пионды өшіріп, қайта қосып көріңіз! Шамамен 90 секундтан кейін сіздің пи радио ағындарын қайтадан ойнай бастайды. Түймені басқан кезде ол кідіртеді/ойнайды. Бұл қайта жүктеу кезінде ол InternetStations json файлын қайта оқиды, сондықтан сіз станцияларыңызды өзгертсеңіз, олардың жұмыс істеуі үшін құрылғыны қайта қосуыңыз қажет. Құттықтаймын!

Егер сіз мұны жасаған болсаңыз немесе жобаға өзгерістер енгізсеңіз, маған хабарлаңыз!

Github беті:

Ұсынылған: