Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Pag-set up (walang ulo) Raspberry Pi W
- Hakbang 2: I-install ang Senior Radio Software
- Hakbang 3: Mag-install ng Karagdagang Software
- Hakbang 4: Maghanap ng Mga Stream ng Mga Istasyon ng Radyo
- Hakbang 5: Lumikha ng Mga Circuits
- Hakbang 6: Subukan Ito
- Hakbang 7: Ilagay sa isang Permanenteng Enclosure
- Hakbang 8: Program sa Pag-setup upang Patakbuhin sa Startup
Video: Senior Radio - Raspberry Pi: 8 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ang proyekto ng Senior Radio ay isang bukas na mapagkukunan na naa-access na dinisenyo aparato sa radyo sa internet na may parehong mga bahagi ng hardware at software. Ito ay inilaan upang magamit para sa mga gumagamit na pamilyar sa pagkontrol ng isang radio sa bulsa kung saan kinokontrol ng mga pagdayal ang dami at ang napiling istasyon ng radyo. Ang proyekto ay ginawa gamit ang isang disenyo na nakasentro sa gumagamit, nakatuon sa isang gumagamit na nais ang isang katulad na laki at mga kontrol bilang isang karaniwang radio na handheld.
Itinayo ito upang masiyahan ang mga pangangailangan ng pagpayag sa mga indibidwal na may kapansanan na makinig sa libu-libong iba't ibang nilalaman ng streaming sa internet na karaniwang magagamit lamang sa pamamagitan ng isang browser ng internet. Maraming tao ang walang kakayahang gumamit ng ganoong aparato nang madali, kaya nilalayon ng disenyo na ito na gumawa ng pamilyar na interface para sa isang modernong teknolohiya.
Ang pangunahing pag-andar ay nasa Github, nakaimbak sa isang python 3.7.3 na programa na tinatawag na seniorRadio.py. Nagbabasa ito at nagsusulat ng isang json file upang maiimbak ang estado ng radyo, kaya kapag na-on mo ito maaalala ang kasalukuyang antas ng audio at istasyon na napili. Bilang karagdagan, nagbabasa ito ng isang naka-host na json file sa online na maaari mong baguhin! Pinapayagan kang i-update ang mga istasyon ng radyo nang malayuan kung ibibigay mo ito sa iba.
Kasalukuyan itong nilikha upang kumonekta sa isang bluetooth speaker, ngunit madaling gawin upang mai-play ang isang onboard speaker din.
Ang tagalikha ng aparatong ito ay malamang na hindi ang gumagamit, at nangangailangan ng kahit kaunting karanasan sa electronics at pangunahing kaalaman sa programa. Napakainam din ng karanasan sa Linux.
Sa gumagamit, ang pagpapaandar ay simple:
Sa power up ay i-play nito ang huling istasyon na napili sa default na audio device. Kinokontrol ng kaliwang dial ang istasyon, kung saan ang ilang mga pag-click ng dial ay nagbabago sa isang bagong URL. Ito ay lulon pagkatapos ng huling o unang entry. Kinokontrol ng tamang dial ang antas ng audio. Ipinapahiwatig ng LED na nakabukas ang programa. At ang pushbutton ay naka-pause o "patayin" ang radyo. Kaya't sa sandaling napagana, ang isang gumagamit ay maaaring pindutin ang pindutan upang i-pause / i-play, o "i-off / on", ang radyo at ang dalawang pagdayal upang makontrol ito.
Mga gamit
Naka-link sa bawat item ang partikular na ginamit ko. Nagkakahalaga sa akin ng halos $ 60 na may maraming natitirang mga suplay!
Pangunahing kaalaman sa elektronik at linux - para sa pagpupulong at pag-debug
Raspberry Pi Zero W (Ang Zero WH ay may pre-solder na mga header at malamang na kapaki-pakinabang)
MicroSD card-8 GB + at kakayahan o
MicroUSB 5V power adapter - Kasama rin sa link ang microHDMI adapter at microUSB OTG sa USB Isang adapter para sa pag-setup kung kailangan mo sila
Bluetooth speaker
Mga kable ng M / F at M / M jumper
2 Rotary encoder - parehong link tulad ng nasa itaas
Maliit na breadboard
Pushbutton
LED (opsyonal) - bumili ng LED + push button sa itaas
Kahon para sa balot
Hakbang 1: Pag-set up (walang ulo) Raspberry Pi W
Kailangan naming i-setup ang operating system sa raspberry pi na tatakbo ang software. Wala sa ito ang natatangi sa proyektong ito. Para sa pag-debug, inirerekumenda kong i-set up ito upang ma-access mo rin ito sa mode na walang ulo. Nangangahulugan ito na ma-access mo ang pi sa iyong WiFi network sa pamamagitan ng GUI o isang SSH terminal at hindi mo kailangan ng isang keyboard, mouse, at monitor upang magamit ito sa bawat oras. Magagawa mo ito nang hindi nangangailangan na kumonekta sa isang monitor / mouse / keyboard kailanman kung ikaw ay mas matalino sa tech. Ang ilang mga halimbawa ng mga tagubilin dito. Gayunpaman ito ay hindi gaanong tuwid, at sa ibaba ay isa pang paraan upang i-set up ito.
Sa unang pagkakataong ito ay malamang na kakailanganin mo:
- Raspberry Pi W
- MicroSD sa SD card adapter [upang isulat ang OS papunta sa SD card]
- MicroSD card (~ 8 GB +) [upang maiimbak ang OS at aming programa]
- Lakas ng MicroUSB (5V)
- MicroUSB sa USB A [para sa mouse / keyboard]
- Mini HDMI to HDMI adapter [para sa display output]
- Keyboard
- Mouse
- Subaybayan
Una, kakailanganin mong i-flash ang operating system sa rPi micro SD card.
Gumamit ako ng raspian buster, i-download mo ito sa isang computer na may isang read card / manunulat ng SD at pagkatapos ay i-flash ang raspian OS sa SD card. Ang BalenaEtcher ay isang madaling software upang magawa ito
Susunod na ilagay ang SD card sa pi slot, ikonekta ang monitor, keyboard at lakas. Magpatuloy sa pamamagitan ng mga hakbang sa pag-set up na hinihikayat ka ng raspian, kabilang ang pagkonekta nito sa iyong WiFi network at pagpapares ng iyong bluetooth speaker sa pamamagitan ng GUI. Mahusay na kasanayan ay upang i-update ito gamit ang mga sumusunod na utos
sudo apt-get update
sudo apt-get upgrade
Kung nais mong isama ang pagmamarka ng iyong pi walang ulo, kakailanganin muna naming grab ang ip address ng pi. Sa pamamagitan ng isang terminal ay mahahanap mo ito sa pamamagitan ng
ifconfig
utos Kailangan mong paganahin ang SSH at VNC sa mga pagpipilian sa interface sa
sudo raspi-config
Pagkatapos ng isang restart, maaari mo na ngayong subukan ang pag-access sa pi over SSH o VNC. Ang SSH ay isang interface lamang ng terminal, at maaaring mas madali mong magamit ang GUI upang ipares ang isang bluetooth speaker. Maaari kang gumamit ng isang programa tulad ng VNC na kumonekta upang madaling ma-access ang iyong pi sa isang hiwalay na computer sa iyong network. Maaari mong gamitin ang isang programa tulad ng masilya sa SSH dito.
Bukod dito, maaari mong i-set up ang isang VNC cloud account upang ma-access mo ang aparato mula sa network kung kinakailangan
Hakbang 2: I-install ang Senior Radio Software
Maaari itong magawa mula sa isang terminal window ng raspberry pi. Siguraduhin muna na naka-install ka na git
sudo apt-get install git
Nakasalalay sa aling operating system ang na-install mo, maaaring magkakaiba ang mga hakbang na ito dahil maaaring kailanganin mong mag-install ng mga karagdagang pakete, sasabihin sa iyo ng system kung gayon. Una kailangan naming i-download ang nakatatandang radio code mula sa github. https://github.com/Bunborn/seniorRadio May perpektong, gumagawa ka ng aming sariling repo upang makagawa ka ng mga pagbabago at madaling baguhin ang mga istasyon ng radyo sa katulad na paraan ng ginagawa ko. Fork ang repo kung ganon
Gayunpaman, maaari mong gamitin ang kapareho ng minahan nang walang problema kung nais mong i-host ang iyong file ng radio json sa ibang lugar
Pagkatapos i-clone ang repo sa anumang lokasyon na nais mong maging. Mabuti ang default na direktoryo. Kunin ang URL kung aling github repo ang gusto mo sa pamamagitan ng pagpindot sa berdeng clone o pag-download na pindutan.
Bumalik sa window ng terminal, git clone
Dapat mo na ngayong makita ang isang labis na direktoryo na pinangalanang seniorRadio kapag tumitingin gamit ang ls. Kamangha-mangha!
Ang code ay sinadya upang maging self-document, kung titingnan ay magiging kapaki-pakinabang. Lalo na para sa mga layunin ng pag-debug at kung binabago mo ang system.
Hakbang 3: Mag-install ng Karagdagang Software
Bago kami magpatuloy sa circuit at subukan ito, kailangan din naming i-download ang VLC at ang python api para dito. Maaaring mayroon ka ng naka-install na VLC. Ang unang dalawang utos ay ia-update ang pi, at ang huling dalawang utos sa ibaba ay mai-install ang VLC at pagkatapos ang python api
sudo apt-get update
sudo apt-get upgrade
sudo snap i-install ang VLC
sudo apt-get install vlc-python
Bilang karagdagan, i-install din ang gpiozero, na gagamitin namin upang maiugnay sa mga pin ng GPIO ng pi. Maaari mo nang mai-install ito depende sa iyong operating system.
sudo apt-get install gpiozero
Hakbang 4: Maghanap ng Mga Stream ng Mga Istasyon ng Radyo
Susunod, isa sa mga pinaka kasiya-siyang bahagi! Oras upang piliin ang anumang mga stream na gusto mo.
Sa aking file ng InternetStations.json makikita mo ang aking mga link sa stream, pangunahin para sa balita at musika. Ngunit mayroong isang toneladang naka-host na nilalaman doon. Ang susi dito ay upang mahanap ang direktang stream URL address. Halimbawa, ang mga balita sa BBC at mga istasyon ng musika ay matatagpuan dito sa blog na ito. Ang mga direktang stream na ito ay walang anumang graphic na interface at awtomatikong i-play ang stream sa pamamagitan ng iyong browser media player. Ito ang mga URL na kailangan namin upang mabasa ito ng VLC! Maaari mong subukan ang anumang link nang mabilis sa iyong web broswer, o sa pamamagitan ng VLC sa iyong normal na computer upang matiyak na gagana ito sa pi.
Upang hanapin ang mga istasyong ito, maaari kang maghanap para sa direktang stream online kung i-host ito ng serbisyo. Ang isang mabilis na paraan ay maaari ding i-play ang stream, mag-right click sa browser at pindutin ang "inspect element". Mag-navigate sa tab ng network at dapat itong ipahiwatig ang stream na 'direktang' URL. Ipinapakita ito ng video sa youtube na ito. Ang pagre-refresh ng pahina na may bukas na tab ay dapat makatulong.
Sa sandaling mayroon ka ng iyong mga istasyon, nais mong ilagay ang mga ito sa online upang ang iyong seniorRadio python na programa ay maaaring makuha ang mga ito. Maraming mga pagpipilian upang magawa ito, maaari kang gumamit ng mga site tulad ng Github, bitbucket, o kahit na sourceforge. Ang pangunahing layunin ng pagho-host ng listahang ito sa online ay upang ang pag-set up ng gumagamit ay maaaring baguhin ang listahan ng stream online nang malayuan.
Sa pagsisimula ng programa ng sawa mayroong isang variable na tinatawag na url, baguhin lamang ito upang maging URL ng iyong json file kasama ang mga link ng istasyon ng URL
Maaari mong sundin ang parehong format sa aking file sa internetStation.json. Kung nais mong gumamit din ng github, maaari mo lang tinidor ang aking seniorRadio repository, at i-edit ang iyong sariling internetStation.json file at ituro ito sa "hilaw" na URL. Mahahanap mo iyan sa ibaba sa Github GUI sa sandaling na-click mo ang file.
Hakbang 5: Lumikha ng Mga Circuits
Ngayon kailangan naming i-setup ang circuit. Magbabago ito batay sa iyong kagamitan, ngunit sa ibaba ay kung paano ko nai-set up ang minahan.
pinout.xyz/ para sa sanggunian sa kung aling mga pin ang alin. Dahil ginagamit namin ang library ng gpiozero, nag-aalala kami sa pag-numero lamang ng BCM pin. Tandaan na bumili ako ng ilang dagdag na KY040 rotary encoder - ang mga pagdayal - upang subukan ang mga ito dahil lahat sila ay hindi pare-pareho ang kawastuhan. Ang bawat isa ay mayroong ilang "bouncing", o simpleng maling output, kaya't pinili ko ang pinakamahusay sa dalawa na mayroon ako. Sa code ay mapapansin mo na may ilang mga hakbang upang malimitahan ang talbog din na ito.
Ikinonekta ko ang aking pindutan sa BCM pin 17 at ground
Ang aking LED sa isang 1k ohm risistor pagkatapos BCM pin 27 at lupa
Ang aking KY040 rotary encoder ay nagkaroon ng + lead sa 5V, ang GND sa lupa at SW ay nakadiskonekta. Ang mga ito ay konektado sa isang mini breadboard
Ang rotary encoder dt pin na konektado sa BCM pin 21
Ang rotary encoder clk pin na konektado sa BCM pin 20
Ang antas ng audio rotary encoder dt pin na konektado sa BCM pin 19
Ang antas ng audio rotary encoder clk pin na konektado sa BCM pin 16
Kung binago mo ang mga pin na ito, i-update lamang ang numero sa programa ng sawa pati na rin kung saan itinatakda nito ang mga handler
Gumamit ako ng isang mini breadboard upang gawing mas madali ito. Gumamit ako ng mga wire ng jumper ng M / M at M / F din upang mapadali ang interface. Naghinang ako ng ilang mga lead ng jumper wire papunta sa mga pin ng pushbutton / LED na binili ko kanina. Upang hindi maghinang, maaari kang makakuha ng mga pindutan ng push at LED na mayroon nang mga lead ng jumper wire o madaling kumonekta sa isa.
Hakbang 6: Subukan Ito
Ngayon, dapat ay mayroon kang isang operating system! Subukan natin ito. Mag-navigate sa folder gamit ang python program, malamang:
cd seniorRadio
python3 seniorRadio.py
Sa kasalukuyan, mayroong isang 45 segundo na pagkaantala sa pagsisimula ng programa upang bigyan ito ng oras upang mahanap ang bluetooth speaker na nasa lakas. Maaari mong puna ang linyang ito kung hindi mo kailangan ito sa pagsubok. Maaaring sabihin sa iyo ng programa na kailangan mong mag-install ng mga karagdagang pakete, magpatuloy kung gayon. Maaaring kailanganin ding mag-install ng isang mas bagong bersyon ng Python.
sudo apt-get install python3.7
Ang ilang mga posibleng isyu kahit na tumatakbo ang programa:
Wala akong naririnig na tunog
Tiyaking naka-on ang speaker at napili sa iyong raspberry pi. Sa pamamagitan ng GUI dapat mong ipares ito at pagkatapos ay piliin ito bilang iyong audio output device. Bukod dito, suriin ang iyong mga audio driver. Ang isang karaniwang isyu ay maaaring kailanganin mong muling mai-install ang pulseaudio package
Audio choppy o paggupit at paglabas
Subukang ilipat ang aparato malapit sa iyong WiFi router. Bilang karagdagan, siguraduhing malapit ang Bluetooth speaker. Maaari ding maging isang isyu sa audio driver
Hakbang 7: Ilagay sa isang Permanenteng Enclosure
Susunod, ilagay ito sa isang kahon o katulad na aparato upang ito ay manirahan nang permanente. Inirerekumenda ko ang pagkakaroon ng isa na maaari mong ma-access sa paglaon din para sa pag-debug. Nakuha ko ang maliit na kahon na gawa sa kahoy sa isang tindahan ng bapor sa halagang $ 2, at maiugnay ito sa pahina ng mga suplay. Inirekomenda ng isa sa aking mga kaibigan ang isang kahon ng tabako.
Pagkatapos ay pinutol ko ang mga butas sa harap para sa pindutan ng itulak at paikot na mga switch, at nag-drill ng isang butas sa likod ng kahon para sa microUSB power cord.
Sinubukan ko ang bundok at tiyakin na gumana ito, at voilà!
Sa wakas, gumamit ako ng sobrang pandikit upang hawakan ang pindutan ng push. Ang aking breadboard ay may isang malagkit sa ilalim na kumonekta sa isang bahagi ng kahon. Gumamit ako ng isang maliit na strip ng duct tape upang ma-secure ang likod ng pi sa kahon, kaya maaari itong ilipat sa ibang pagkakataon kung kinakailangan.
Hakbang 8: Program sa Pag-setup upang Patakbuhin sa Startup
Sa wakas, malamang na gugustuhin mong ang programang sawa na ito ay tumakbo sa pagsisimula ng raspberry pi kaya hindi mo kailangang gawin ito nang manu-mano. Maraming mga paraan upang magawa ito na maaari mong makita sa online.
Personal, na-set up ko ito gamit ang pangalawang paraan sa tutorial na SparkFun na ito:
Dito, hinihintay nito ang system na ipasok ang grapikong desktop bago patakbuhin ang programa. Pagkatapos ay naantala ng programa ng sawa sa loob ng 45 segundo upang bigyan ang oras ng system upang kumonekta muli sa bluetooth speaker. Kung gumagamit ka ng isang integrated speaker, maaari mong alisin ang pagkaantala na ito. Tandaan na dapat ay nasa blueber muna ang speaker! (para sa solusyon ng bluetooth)
Ngayon ay maaari mong subukan ang pag-power off at muling pag-power sa iyong pi! Pagkatapos ng halos 90 segundo ang iyong pi ay dapat na magsimulang tumugtog muli sa mga stream ng radyo. Sa pagpindot sa pushbutton ito ay i-pause / maglaro. Tandaan sa mga reboot na ito binabasa muli nito ang internetStations json file kaya kung binago mo ang iyong mga istasyon kailangan mong i-restart ang aparato upang gumana ang mga ito. Binabati kita!
Kung nagawa mo ito, o gumawa ng mga pagbabago sa proyekto, mangyaring ipaalam sa akin!
Pahina ng Github:
Inirerekumendang:
BoseBerry Pi Internet Radio: 4 Mga Hakbang (na may Mga Larawan)
BOSEBerry Pi Internet Radio: Gustung-gusto kong makinig sa radyo! Gumagamit ako ng isang radio ng DAB sa aking bahay, ngunit natagpuan na ang pagtanggap ay medyo maselan at ang tunog ay patuloy na nasisira, kaya't nagpasya akong bumuo ng sarili kong radio sa internet. Mayroon akong isang malakas na signal ng wifi sa paligid ng aking bahay at ang digital bro
Repowering a Old Radio Circuit (Pinapagana ng Mga Baterya): 4 Hakbang
Repowering a Old Radio Circuit (Pinapagana ng Mga Baterya): Nagkaroon ka ba ng isang lumang radio na nagpapatakbo lamang sa AC at walang baterya sa loob? Ngayon, ipapakita ko sa iyo kung paano paandarin ang iyong dating radyo gamit ang isang baterya at kapaki-pakinabang kung mayroong isang Kapangyarihan outage, at ang lakas ng iyong radyo ay nakasalalay sa baterya nang hindi kumokonekta
FM Radio With RDS (Radio Text), BT Control and Charging Base: 5 Hakbang
FM Radio With RDS (Radio Text), BT Control and Charging Base: Bonjour, Ito ang aking pangalawa " Instructables ". Tulad ng nais kong gumawa ng hindi masyadong kapaki-pakinabang na mga bagay, narito ang aking huling proyekto: Ito ay isang FM radio na may Radio Text na may isang base ng singilin at kung saan maaaring masubaybayan sa pamamagitan ng Bluetooth at isang Android APPT Samakatuwid gagawin ko
THE CHEAP HAM - PAGBALIKIN ang isang HANDHELD RADIO SA isang MOBILE RADIO: 6 na Hakbang
THE MURA HAM - PAGBALIKIN ang isang HANDHELD RADIO SA isang MOBILE RADIO: Mobile ham radio sa isang masikip na badyet? Yep, Maaari itong gawin sa ilang pagkamalikhain. Mayroong isang kalabisan ng murang mga handheld radio ng China doon. Ang mga murang bagong radio na ito ay nagdala ng mga presyo sa kalidad na gamit na gear ng ham. Isa pang bagay na addin
Senior Remote: 5 Hakbang (na may Mga Larawan)
Senior Remote: Mod ang remote ng TV ng iyong ina upang gawin itong matulungin sa nakatatanda. Ipinanganak ang aking ina noong 1931. Siya ay mula sa henerasyon ng radyo at WWII. Ang kanyang paningin ay nabibigo at siya ay hindi mabuti sa anumang electronic. Ang TV Remotes ay nakalilito sa kanya. Ang mod na ito ay dumating sa akin pagkatapos niyang kal