Мазмуну:

Улук радио - Raspberry Pi: 8 кадам
Улук радио - Raspberry Pi: 8 кадам

Video: Улук радио - Raspberry Pi: 8 кадам

Video: Улук радио - Raspberry Pi: 8 кадам
Video: IDENTITY V NOOBS PLAY LIVE FROM START 2024, Ноябрь
Anonim
Улук радио - Raspberry Pi
Улук радио - Raspberry Pi

Senior Radio долбоору-булагы жабдык жана программалык камсыздоо компоненттери бар ачык булактан иштелип чыккан интернет радио түзмөгү. Бул чөнтөк радиону көзөмөлдөгөн колдонуучулар үчүн колдонулат, анда терүүлөр үн көлөмүн жана тандалган радиостанцияны көзөмөлдөйт. Долбоор колдонуучуга багытталган дизайн менен жасалган, окшош өлчөмдү каалаган колдонуучуга багытталган жана стандарттык радиоприемник катары башкарылат.

Ал бузулган адамдарга адатта интернет браузери аркылуу жеткиликтүү болгон миңдеген түрдүү интернет агымдарын угууга мүмкүнчүлүк берүү муктаждыгын канааттандыруу үчүн курулган. Көптөгөн адамдар мындай аппаратты оңой колдоно алышпайт, андыктан бул дизайн заманбап технологияга тааныш интерфейсти түзүүгө багытталган.

Негизги функция Githubда,ioritRadio.py деп аталган python 3.7.3 программасында сакталган. Ал радионун абалын сактоо үчүн json файлын окуйт жана жазат, андыктан аны өчүргөндө ал учурдагы аудио деңгээлин жана тандалган станцияны эстеп калат. Мындан тышкары, ал өзгөртө турган онлайнда жайгашкан json файлын окуйт! Бул башка бирөөгө берип жатсаңыз, радиостанцияларды алыстан жаңыртууга мүмкүндүк берет.

Учурда ал Bluetooth динамигине туташуу үчүн түзүлгөн, бирок борттогу динамикти ойнотуу үчүн оңой жасалышы мүмкүн.

Бул түзмөктүн жаратуучусу, кыязы, колдонуучу эмес, жана, жок эле дегенде, электроника жана негизги программалоо билимдери менен бир аз тажрыйбага муктаж. Linux тажрыйбасы да абдан пайдалуу.

Колдонуучу үчүн функционалдык жөнөкөй:

Күйгүзүлгөндө, демейки аудио түзмөктө тандалган акыркы станция ойнотулат. Сол терүү станцияны көзөмөлдөйт, ал жерде бир нече чыкылдатуу жаңы URLге өзгөрөт. Ал акыркы же биринчи жазуудан кийин оодарылат. Оң терүү аудио деңгээлин көзөмөлдөйт. Светодиод программа күйгүзүлгөнүн билдирет. Жана баскыч радиону токтотот же "өчүрөт". Ошентип, күйгүзүлгөндөн кийин, колдонуучу жөн эле тындыруу/ойнотуу же "өчүрүү/күйгүзүү" баскычын басса болот, аны башкаруу үчүн радио жана эки терүү.

Жабдуулар

Ар бир пунктка шилтеме берген мен колдонгон конкреттүү нерсе. Мага 60 доллардын тегерегиндеги каражат сарпталды!

Негизги электрондук жана Linux билимдери - монтаждоо жана мүчүлүштүктөрдү оңдоо үчүн

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

MicroSD карта-8 ГБ+ жана жөндөмдүүлүгү o

MicroUSB 5V күч адаптери - Шилтемеде microHDMI адаптери жана microUSB OTG USB A адаптери бар, эгер сизге керек болсо.

Bluetooth спикери

M/F жана M/M jumper кабелдери

2 Rotary encoder - жогорудагыдай шилтеме

Чакан нан

Pushbutton

LED (милдеттүү эмес) - жогоруда LED + баскычын сатып алды

Таңгактоо үчүн куту

1 -кадам: Орнотуу (башы жок) Raspberry Pi W

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

Биз программалык камсыздоону иштете турган малина пи боюнча операциялык системаны орнотушубуз керек. Мунун эч бири бул долбоорго гана мүнөздүү эмес. Мүчүлүштүктөрдү оңдоо үчүн, мен аны башсыз режимде кирүү үчүн орнотууну сунуштайм. Бул сиз GI же SSH терминалы аркылуу WiFi тармагыңыз аркылуу кире тургандыгыңызды билдирет жана аны дайыма колдонуу үчүн клавиатура, чычкан жана монитордун кереги жок. Эгер сиз технологияны жакшы билсеңиз, муну мониторго/чычканга/клавиатурага туташуунун кажети жок кыла аласыз. Кээ бир көрсөтмөлөр бул жерде. Бирок ал азыраак түз жана төмөндө аны орнотуунун башка жолу бар.

Бул биринчи жолу сизге керек болот:

  • Raspberry Pi W
  • MicroSDден SD картка адаптер [OS картасына OS жазуу үчүн]
  • MicroSD карта (~ 8 ГБ+) [OSти жана программаны сактоо үчүн]
  • MicroUSB күчү (5V)
  • MicroUSBден USB Aга [чычкан/клавиатура үчүн]
  • Mini HDMI to HDMI адаптери [дисплейдин чыгышы үчүн]
  • Баскычтоп
  • Чычкан
  • Monitor

Биринчиден, сиз иштеп жаткан системаны rPi micro SD картага жаркырашыңыз керек.

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

Андан кийин SD картаны пи уясына салып, мониторду, клавиатураны жана кубатты туташтырыңыз. Орнотуу кадамдарыңыздан өтүңүз. Жакшы практика аны төмөнкү буйруктарды колдонуу менен жаңыртуу болмок

sudo apt-get update

sudo apt-get жогорулатуу

Эгерде сиз өзүңүздүн пиңизди башсыз белгилөөнү кошкуңуз келсе, биз биринчи кезекте пи -дин IP дарегин алышыбыз керек. Терминал аркылуу аны

ifconfig

буйрук. Андан кийин SSH жана VNCти интерфейс параметрлерин иштетүүңүз керек

sudo raspi-config

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

Мындан тышкары, сиз VNC булут эсебин орнотсоңуз болот, керек болсо түзмөккө тармактан кире аласыз

2 -кадам: улук радио программалык камсыздоону орнотуу

Улук радио программалык камсыздоону орнотуу
Улук радио программалык камсыздоону орнотуу

Бул малинанын пи терминал терезесинен жасалышы мүмкүн. Биринчиден, git орнотулганын текшериңиз

sudo apt-get install орнотуу

Кайсы операциялык тутумду орнотконуңузга жараша, бул кадамдар башкача болушу мүмкүн, анткени кошумча пакеттерди орнотууңуз керек болот, система болсо сизге айтат. Биринчиден, биз githubдан улук радио кодун жүктөп алышыбыз керек. https://github.com/Bunborn/seniorRadio Идеалында, сиз өзүңүздүн репоңузду жасап жатасыз, андыктан мен сыяктуу радиостанцияларды оңдоп, оңой өзгөртө аласыз. Андай болсо, репону айрып коюңуз

Бирок, сиз менин json файлыңызды башка жерде жайгаштыргыңыз келсе, меники сыяктуу эле колдоно аласыз

Андан кийин репоңузду каалаган жерде клондоштуруңуз. Демейки каталог жакшы. Жашыл клонду же жүктөө баскычын басып, сиз каалаган github репо URLин алыңыз.

Кайра терминалдын терезесине, git клону

Эми lsти колдонуп жатканда,iorRadio аттуу кошумча каталогду көрүшүңүз керек. Фантастикалык!

Код өзүн өзү документтештирүү үчүн арналган, аны карап чыгуу пайдалуу болмок. Өзгөчө мүчүлүштүктөрдү оңдоо үчүн жана эгер сиз системаны өзгөртүп жатсаңыз.

3 -кадам: Кошумча Программаны орнотуңуз

Кошумча Программаны Орнотуу
Кошумча Программаны Орнотуу

Районго өтүүдөн жана аны сынап көрүүдөн мурун, биз ал үчүн VLC жана python api жүктөп алышыбыз керек. Сизде VLC орнотулган болушу мүмкүн. Биринчи эки буйрук пи жаңыртат, ал эми астындагы акыркы эки буйрук VLC, андан кийин python api орнотот

sudo apt-get update

sudo apt-get жогорулатуу

sudo snap VLC орнотуу

sudo apt-get vlc-python орнотуу

Мындан тышкары, gpiozero орнотуңуз, аны биз пионун GPIO казыктары менен иштөө үчүн колдонобуз. Иштетүү тутумуңузга жараша аны мурунтан эле орнотуп койгон болушуңуз мүмкүн.

sudo apt-get gpiozero орнотуу

4 -кадам: Радио станциялардын агымдарын табыңыз

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

Кийинки, эң кызыктуу бөлүктөрдүн бири! Каалаган агымдарды тандоо убактысы.

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

Бул станцияларды табуу үчүн, эгерде сервис аны тейлесе, түз онлайн агымын издей аласыз. Ыкчам ыкма агымды ойнотуу, браузерди оң басуу жана "элементтин текшерүүсүн" басуу болушу мүмкүн. Тармак өтмөгүнө өтүңүз, ал агымдын "түз" URLин көрсөтүшү керек. Бул youtube видеосу муну көрсөтүп турат. Баракты ачык өтмөк менен жаңыртуу жардам бериши керек.

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

Питон программасынын башталышында url деп аталган өзгөрмө бар, муну станциянын URL шилтемелери менен json файлыңыздын URLи кылып өзгөртүңүз

Сиз менин internetStation.json файлым менен бирдей форматта жүрө аласыз. Эгерде сиз дагы github колдонууну кааласаңыз, анда сенiorRadio репозиторийимди айрып, өзүңдүн интернетStation.json файлыңды түзөтүп, ошол "чийки" URLге көрсөтө аласың. Сиз муну Github GUIде файлды чыкылдаткандан кийин таба аласыз.

5 -кадам: Микросхемаларды түзүү

Райондорду түзүү
Райондорду түзүү

Эми биз схеманы орнотушубуз керек. Бул жабдууларыңызга жараша өзгөрөт, бирок мен кенди кантип орнотконум төмөндө.

pinout.xyz/ кайсы казыктар экени жөнүндө маалымат алуу үчүн. Биз gpiozero китепканасын колдонуп жаткандыктан, биз BCM пин номери менен гана алектенебиз. Көңүл бургула, мен аларды текшерүү үчүн бир нече кошумча KY040 ротационердик кодерлерди - тергичтерди сатып алдым, анткени алардын бардыгы бирдей тактыкка ээ эмес. Ар биринде "секирүү", же жөн эле туура эмес чыгаруу болмок, ошондуктан мен болгон экөөнүн эң жакшысын тандадым. Коддо бул секирүүнү чектөө үчүн кээ бир кадамдар бар экенин белгилейсиз.

Мен баскычты BCM пин 17ге жана жерге туташтырдым

Менин светодиодум 1к Ом резисторго, анда BCM пин 27 жана жерге

Менин KY040 ротационердик кодерлеримде + 5В, GND жерге жана SW ажыратылган. Булар кичинекей нан тактасы аркылуу туташкан

BCM пин 21ге туташкан станция ротациялык кодер dt pin

BCM пин 20га туташкан станция ротациялык кодер clk pin

BCM пин 19га туташкан аудио деңгээлдеги айлануучу кодер dt pin

BCM пин 16га туташкан аудио деңгээлдеги айлануучу кодер clk pin

Эгерде сиз бул казыктарды өзгөртсөңүз, жөн гана python программасындагы номерди жаңыртыңыз, ал жерде иштетүүчүлөр орнотулат

Мен муну жеңилдетүү үчүн мини -нан тактасын колдондум. Мен интерфейсти жеңилдетүү үчүн M/M жана M/F jumper зымдарын да колдондум. Мен мурда сатып алган баскычтын/светодиоддун казыктарына кээ бир секиргичтерди алып келдим. Лайк бербөө үчүн, буга чейин секиргичтүү зымдары бар же оңой туташтыра турган баскычтарды жана светодиоддорду алсаңыз болот.

6 -кадам: Сыноо

Эми сиз иштеп жаткан системага ээ болушуңуз керек! Кел, аны сынап көрөлү. Python программасы менен папкага өтүңүз, сыягы:

cdiorRadio

python3 seniorRadio.py

Азыркы учурда, программанын башталышында bluetooth динамикти иштетүүгө убакыт берүү үчүн 45 секунд кечигүү бар. Бул линияны сыноо учурунда кереги жок болсо, комментарий бере аласыз. Программа сизге кошумча пакеттерди орнотушуңуз керектигин айтат, эгер болсо, улантыңыз. Pythonдун жаңы версиясын да орнотушуңуз мүмкүн.

sudo apt-get install python3.7

Программа иштесе дагы кээ бир мүмкүн болгон маселелер:

Мен эч кандай үн укпайм

Динамик күйгүзүлгөнүн жана малина пиңизде тандалганын текшериңиз. GUI аркылуу сиз аны жупташтырып, анан аудио чыгаруу түзмөгүңүз катары тандап алышыңыз керек. Мындан тышкары, аудио драйверлериңизди текшериңиз. Жалпы маселе, сизге pulseaudio пакетин кайра орнотуу керек болушу мүмкүн

Аудио үзгүлтүккө учурап же кирип -чыгып жатат

Түзмөктү WiFi роутериңизге жакыныраак жылдырып көрүңүз. Мындан тышкары, bluetooth динамиги жакын экенин текшериңиз. Ошондой эле аудио драйверинин көйгөйү болушу мүмкүн

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

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

Андан кийин, аны түбөлүккө жашаш үчүн аны кутуга же окшош түзүлүшкө салып коюңуз. Мен мүчүлүштүктөрдү оңдоо үчүн кийинчерээк кире ала турган бирди сунуштайм. Мен бул кичинекей жыгач кутуну кол өнөрчүлүк дүкөнүнөн 2 долларга алдым жана аны керектөө барактарына байланыштырдым. Досторумдун бири сигара кутусун сунуштады.

Андан кийин мен баскычтын жана айлануучу өчүргүчтөрдүн алдыңкы тешиктерин кесип, кутунун арт жагында microUSB электр шнуруна тешик жасадым.

Мен тоону сынап көрдүм жана анын иштээрине ынандым жана voilà!

Акыры, баскычты кармоо үчүн супер клей колдондум. Менин нан тактайымдын түбүндө клей бар болчу, мен аны кутунун бир бөлүгүнө туташтырдым. Мен пинин арт жагын коробкага бекитүү үчүн кичинекей скотч лентасын колдондум, керек болсо кийинчерээк жылдырылышы мүмкүн.

8 -кадам: Программаны Стартта иштетүү үчүн

Акыр -аягы, сиз бул python программасынын малина пи башталганда иштешин каалашыңыз мүмкүн, андыктан аны кол менен жасоонун кажети жок. Мунун көптөгөн жолдору бар, аларды интернеттен таба аласыз.

Жеке мен бул SparkFun үйрөткүчүнүн экинчи жолун колдонуу менен орноттум:

Бул жерде, программаны иштетүүдөн мурун, системанын графикалык столго киришин күтөт. Андан кийин системага bluetooth динамигине кайра туташуу үчүн питон программасы 45 секундга кечигет. Эгерде сиз интеграцияланган динамикти колдонуп жатсаңыз, анда бул кечигүүнү алып салсаңыз болот. Bluetooth динамиги биринчи күйгүзүлүшү керек экенин эске алыңыз! (Bluetooth чечими үчүн)

Эми сиз пиңизди өчүрүп, кайра күйгүзүп көрүңүз! Болжол менен 90 секунддан кийин сиздин пи дагы бир жолу радио агымдарды ойноп башташы керек. Баскычты басканда ал тыным/ойнойт. Бул өчүрүүлөргө көңүл бургула, ал InternetStations json файлын кайра окуйт, андыктан станцияларыңызды алмаштырсаңыз, алар иштеши үчүн түзмөктү өчүрүп күйгүзүшүңүз керек. Куттуктайм!

Эгерде сиз муну же долбоорго өзгөртүүлөрдү киргизсеңиз, мага кабарлаңыз!

Github баракчасы:

Сунушталууда: