Мазмуну:
- Жабдуулар
- 1 -кадам: Орнотуу (башы жок) Raspberry Pi W
- 2 -кадам: улук радио программалык камсыздоону орнотуу
- 3 -кадам: Кошумча Программаны орнотуңуз
- 4 -кадам: Радио станциялардын агымдарын табыңыз
- 5 -кадам: Микросхемаларды түзүү
- 6 -кадам: Сыноо
- 7 -кадам: Туруктуу корпуска салыңыз
- 8 -кадам: Программаны Стартта иштетүү үчүн
Video: Улук радио - Raspberry Pi: 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
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
Биз программалык камсыздоону иштете турган малина пи боюнча операциялык системаны орнотушубуз керек. Мунун эч бири бул долбоорго гана мүнөздүү эмес. Мүчүлүштүктөрдү оңдоо үчүн, мен аны башсыз режимде кирүү үчүн орнотууну сунуштайм. Бул сиз 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 баракчасы:
Сунушталууда:
Эски радио схемасын кайра иштетүү (Батареялар менен иштейт): 4 кадам
Эски радио схемасын алмаштыруу (Батарейкалар менен иштейт): Эч качан эски радиосу ACда гана иштейт жана ичинде батарейкасы жокпу? Бүгүн мен сизге эски радиону батарейка менен кантип кубаттоо керектигин көрсөтүп берем өчүрүү, жана сиздин радионун кубаты туташпай туруп батареяга көз каранды
AM Радио алуучу комплектин чогултуу: 9 кадам (Сүрөттөр менен)
AM радио алуучу комплектин чогултуу: Мен ар кандай электрондук комплекттерди чогултууну жакшы көрөм. Мени радиолор абдан кызыктырат. Бир нече ай мурун мен Интернеттен арзан AM радио алгычын таптым. Мен аны заказ кылдым жана стандарттык түрдө бир ай күткөндөн кийин келди. Бул комплект DIY жети транзистор суперхети
Реактивдүү радио көзөмөлдөгөн өрдөк: 10 кадам (сүрөттөр менен)
Jet Propelled Radio Controlle Duck: 40+ жыл мурун мен радиобашкаруучу кайыкты алып, аны жакынкы Парк көлүндө колдонууну каалачумун, бирок Парк Күзөтчүсү эч кандай кайыктарга тыюу салынарын ачык айткан. Ошентип, мен бул планды өрдөктүн кейпин кийүү үчүн жасадым. Бир аз жетишпеген жагы баасы болчу
Желе радио: 5 кадам (Сүрөттөр менен)
Желе радио: Бир нече ай мурун мен M5stickC өнүктүрүү тактасын Banggoodдан көрүп, аны ойнотуу үчүн сатып алдым. Сиз бул жерден ала аласыз. Мен көп эскиздерди сынап көрдүм, бирок акыры бул баракчаны карап чыктым жана веб -радио жасоону чечтим. Бул үчүн өнүктүрүү кеңеши
Улук алыстан башкаруу: 5 кадам (Сүрөттөр менен)
Senior Remote: Mod апаңыздын сыналгы пульту достук үчүн. Менин апам 1931 -жылы туулган. Ал радио жана Экинчи Дүйнөлүк Экинчи Дүйнөлүк муундан. Көзү начар көрөт жана электрондук нерселерди жакшы билбейт. Тел пульттары аны чаташтырат. Бул режим мага ал эс алгандан кийин келди