Përmbajtje:

Radio e Lartë - Raspberry Pi: 8 Hapa
Radio e Lartë - Raspberry Pi: 8 Hapa

Video: Radio e Lartë - Raspberry Pi: 8 Hapa

Video: Radio e Lartë - Raspberry Pi: 8 Hapa
Video: BTT - Manta E3EZ - CB1 with EMMc install 2024, Nëntor
Anonim
Radio e lartë - Raspberry Pi
Radio e lartë - Raspberry Pi

Projekti Senior Radio është një pajisje radio e dizajnuar në internet me burim të hapur, e pajisur me komponentë harduerikë dhe softuerikë. Intendedshtë menduar të përdoret për përdoruesit e njohur me kontrollin e një radio xhepi ku numrat kontrollojnë volumin dhe stacionin e zgjedhur të radios. Projekti është bërë me një dizajn të përqendruar te përdoruesi, i fokusuar në një përdorues që dëshiron një madhësi të ngjashme dhe kontrollon si një radio standarde të dorës.

Ajo u krijua për të kënaqur nevojat e lejimit të individëve të dëmtuar të jenë në gjendje të dëgjojnë mijëra përmbajtje të ndryshme të transmetimit të internetit që zakonisht janë normalisht të disponueshme vetëm përmes një shfletuesi të internetit. Shumë njerëz nuk kanë aftësinë për të përdorur një pajisje të tillë me lehtësi, kështu që ky dizajn synon të bëjë një ndërfaqe të njohur për një teknologji moderne.

Funksionaliteti kryesor është në Github, i ruajtur në një program python 3.7.3 të quajtur seniorRadio.py. Lexon dhe shkruan një skedar json për të ruajtur gjendjen e radios, kështu që kur ta fikni do të mbajë mend nivelin aktual audio dhe stacionin e zgjedhur. Për më tepër, lexon një skedar json të pritur në internet që mund ta ndryshoni! Kjo ju lejon të azhurnoni stacionet e radios në distancë nëse ia jepni dikujt tjetër.

Aktualisht është krijuar për t'u lidhur me një altoparlant bluetooth, por lehtë mund të krijohet për të luajtur edhe me një altoparlant në bord.

Krijuesi i kësaj pajisje nuk ka të ngjarë të jetë përdoruesi, dhe ka nevojë për të paktën një përvojë me elektronikën dhe njohuritë themelore të programimit. Përvoja Linux është gjithashtu shumë e dobishme.

Për përdoruesit, funksionaliteti është i thjeshtë:

Me ndezjen do të luajë stacionin e fundit të zgjedhur mbi pajisjen e paracaktuar audio. Çelësi i majtë kontrollon stacionin, ku disa klikime të numrit ndryshojnë në një URL të re. Do të rrokulliset pas hyrjes së fundit ose të parë. Çelësi i djathtë kontrollon nivelin e zërit. LED tregon se programi është i ndezur. Dhe butoni i pushimit ndalon ose "fik" radion. Pra, pasi të jetë ndezur, një përdorues mund të godasë butonin për të ndaluar/luajtur, ose "fikur/ndezur", radio dhe dy numrat për ta kontrolluar atë.

Furnizimet

Lidhur në secilin artikull është ai specifik që kam përdorur. Më kushtoi rreth 60 dollarë gjithsej me shumë furnizime të tepërta!

Njohuri bazë elektronike dhe linux - për montim dhe korrigjim

Raspberry Pi Zero W (Zero WH ka tituj të para-bashkuar dhe ka të ngjarë të jenë të dobishëm)

Kartë MicroSD-8 GB+ dhe aftësi o

Përshtatës energjie MicroUSB 5V - Lidhja gjithashtu përfshin përshtatës microHDMI dhe përshtatës microUSB OTG në USB A për konfigurim nëse keni nevojë për to

Altoparlant Bluetooth

M/F dhe M/M kabllo kërcyes

2 Kodifikues rrotullues - e njëjta lidhje si më sipër

Dërrasë e vogël buke

Butoni i butonit

LED (opsionale) - bleu LED + butonin e shtypjes më lart

Kuti për paketim

Hapi 1: Konfigurimi (pa kokë) Raspberry Pi W

Konfigurimi (pa kokë) Raspberry Pi W
Konfigurimi (pa kokë) Raspberry Pi W

Ne duhet të konfigurojmë sistemin operativ në mjedër pi që do të ekzekutojë softuerin. Asnjë nga këto nuk është unike për këtë projekt. Për korrigjimin, unë do të rekomandoja vendosjen e tij në mënyrë që të mund të përdorni edhe në modalitetin pa kokë. Kjo do të thotë që ju hyni në pi përmes rrjetit tuaj WiFi përmes GUI ose një terminali SSH dhe nuk keni nevojë për tastierë, miun dhe monitor për ta përdorur atë çdo herë. Ju mund ta bëni këtë pa pasur nevojë të lidheni me një monitor/miun/tastierën ndonjëherë nëse jeni më shumë teknikë. Disa udhëzime shembull këtu. Sidoqoftë, është më pak e drejtë përpara, dhe më poshtë është një mënyrë tjetër për ta vendosur atë.

Këtë herë të parë ka të ngjarë të keni nevojë për:

  • Mjedër Pi W
  • Përshtatës MicroSD në kartën SD [për të shkruar OS në kartë SD]
  • Kartë MicroSD (~ 8 GB+) [për të ruajtur sistemin operativ dhe programin tonë]
  • Fuqia MicroUSB (5V)
  • MicroUSB në USB A [për miun/tastierën]
  • Mini përshtatës HDMI në HDMI [për daljen e ekranit]
  • Tastierë
  • Miu
  • Monitor

Së pari, do t'ju duhet të ndizni sistemin operativ në kartën rPi micro SD.

Kam përdorur raspian buster, ju e shkarkoni këtë në një kompjuter me një kartë SD lexuese/shkrimtare dhe më pas ndizni sistemin operativ raspian në kartën SD. BalenaEtcher është një program i lehtë për ta bërë këtë

Më pas vendoseni kartën SD në folenë pi, lidhni monitorin, tastierën dhe fuqinë. Vazhdoni përmes hapave të konfigurimit që ju kërkon raspian, duke përfshirë lidhjen me rrjetin tuaj WiFi dhe çiftimin e altoparlantit tuaj bluetooth përmes GUI. Praktikë e mirë do të ishte ta përditësoni atë duke përdorur komandat e mëposhtme

përditësim sudo apt-get

sudo apt-get upgrade

Nëse doni të përfshini shënimin e pi -së tuaj pa kokë, ne do të duhet të marrim së pari adresën IP të pi -së. Përmes një terminali mund ta gjeni përmes

ifconfig

komanda. Atëherë duhet të aktivizoni SSH dhe VNC mbi opsionet e ndërlidhjes në

sudo raspi-config

Pas një rifillimi, tani mund të provoni qasjen në pi mbi SSH ose VNC. SSH është vetëm një ndërfaqe terminale dhe mund ta keni më të lehtë të përdorni GUI për të çiftuar një altoparlant bluetooth. Ju mund të përdorni një program si lidhja VNC për të hyrë me lehtësi në pajisjen tuaj pi në një kompjuter të veçantë në rrjetin tuaj. Ju mund të përdorni një program si stuko për SSH në të.

Për më tepër, mund të konfiguroni një llogari cloud VNC në mënyrë që të keni qasje në pajisjen jashtë rrjetit nëse është e nevojshme

Hapi 2: Instaloni Softuerë të Lartë të Radios

Instaloni Softuerë të Lartë të Radios
Instaloni Softuerë të Lartë të Radios

Kjo mund të bëhet nga një dritare terminale e mjedrës pi. Së pari sigurohuni që keni instaluar git

sudo apt-get install git

Në varësi të sistemit operativ që keni instaluar, këto hapa mund të jenë të ndryshëm pasi mund t'ju duhet të instaloni paketa shtesë, sistemi do t'ju tregojë nëse është kështu. Së pari na duhet të shkarkojmë kodin e lartë të radios nga github. https://github.com/Bunborn/seniorRadio Në mënyrë ideale, ju po bëni repon tonë në mënyrë që të bëni ndryshime dhe të ndryshoni lehtësisht stacionet radio në të njëjtën mënyrë si unë. Forkoni repon nëse është kështu

Sidoqoftë, mund të përdorni të njëjtën gjë si e imja pa problem nëse doni të mbani skedarin tuaj radio json në një vend tjetër

Pastaj klononi repon në çdo vend që dëshironi të jetë. Drejtoria e paracaktuar është mirë. Merrni URL -në për të cilën repo github dëshironi duke shtypur butonin e klonit të gjelbër ose shkarkimin.

Kthehu në dritaren e terminalit, git klon

Tani duhet të shihni një drejtori shtesë të quajtur seniorRadio kur shikoni duke përdorur ls. Fantastike!

Kodi ka për qëllim të jetë vetë-dokumentues, të hedhësh një vështrim përmes tij do të ishte i dobishëm. Sidomos për qëllime të korrigjimit dhe nëse po ndryshoni sistemin.

Hapi 3: Instaloni softuer shtesë

Instaloni Softuer shtesë
Instaloni Softuer shtesë

Para se të kalojmë në qark dhe ta testojmë atë, ne gjithashtu duhet të shkarkojmë VLC dhe apth python për të. Mund të keni tashmë të instaluar VLC. Dy komandat e para do të azhurnojnë pi, dhe dy komandat e fundit më poshtë do të instalojnë VLC dhe më pas api python

përditësim sudo apt-get

sudo apt-get upgrade

sudo snap instaloni VLC

sudo apt-get install vlc-python

Përveç kësaj, instaloni edhe gpiozero, të cilin do ta përdorim për t'u ndërlidhur me kunjat GPIO të pi. Mund ta keni tashmë të instaluar në varësi të sistemit tuaj operativ.

sudo apt-get instaloni gpiozero

Hapi 4: Gjeni transmetimet e stacioneve të radios

Gjeni transmetimet e stacioneve të radios
Gjeni transmetimet e stacioneve të radios

Tjetra, një nga pjesët më argëtuese! Koha për të zgjedhur çfarëdo transmetimi që dëshironi.

Në skedarin tim internetStations.json mund të shihni lidhjet e mia të transmetimit, kryesisht për lajme dhe muzikë. Por ka një ton përmbajtje të pritur atje. Çelësi këtu është të gjesh adresën e drejtpërdrejtë të URL -së së transmetimit. Për shembull, lajmet dhe stacionet muzikore të BBC -së mund të gjenden këtu në këtë blog. Këto transmetime direkte nuk do të kenë asnjë ndërfaqe grafike dhe do të luajnë automatikisht transmetimin përmes media player -it të shfletuesit tuaj. Këto janë URL -të që na duhen në mënyrë që VLC t'i lexojë ato! Ju mund të provoni çdo lidhje shpejt në shfletuesin tuaj të internetit, ose përmes VLC në kompjuterin tuaj normal për të siguruar që do të funksionojë në pi.

Për të gjetur këto stacione, mund të kërkoni transmetimin direkt në internet nëse shërbimi e pret atë. Një mënyrë e shpejtë mund të jetë gjithashtu të luani transmetimin, klikoni me të djathtën në shfletuesin dhe goditni "inspekto elementin". Shkoni te skeda e rrjetit dhe duhet të tregojë URL -në e drejtpërdrejtë të transmetimit. Kjo video në youtube e demonstron këtë. Rifreskimi i faqes me skedën e hapur duhet të ndihmojë.

Pasi të keni stacionet tuaja, ju doni t'i vendosni ato në internet në mënyrë që programi juaj i Python të lartëRadio t'i kapë ato. Ka shumë mundësi për ta bërë këtë, mund të përdorni faqe si Github, bitbucket, apo edhe sourceforge. Qëllimi kryesor i mbajtjes së kësaj liste në internet është që përdoruesi që e vendos atë të mund të ndryshojë listën e transmetimeve në internet nga distanca.

Në fillim të programit python ekziston një ndryshore e quajtur url, thjesht ndryshoni që kjo të jetë URL e skedarit tuaj json me lidhjet e URL -së së stacionit

Ju mund të ndiqni të njëjtin format si skedari im internetStation.json. Nëse dëshironi të përdorni edhe github, thjesht mund të vendosni depon time të lartëRadio, dhe të redaktoni skedarin tuaj internetStation.json dhe ta tregoni atë në atë URL "të papërpunuar". Ju mund ta gjeni më poshtë në GUI Github pasi të keni klikuar në skedar.

Hapi 5: Krijoni qarqe

Krijo Qarqe
Krijo Qarqe

Tani duhet të konfigurojmë qarkun. Kjo do të ndryshojë bazuar në pajisjet tuaja, por më poshtë është mënyra se si e vendosa timen.

pinout.xyz/ për referencë se cilat kunja janë cilat. Meqenëse po përdorim bibliotekën gpiozero, ne jemi të shqetësuar vetëm me numërimin e kunjave BCM. Vini re se kam blerë disa kodues shtesë KY040 rrotullues - numrat - për t'i testuar ato pasi të gjithë nuk kanë të njëjtën saktësi. Secili do të kishte një "kërcim", ose thjesht dalje të pasaktë, kështu që unë zgjodha më të mirën nga dy që kisha. Në kodin që do të vini re ka disa hapa për të kufizuar edhe këtë kërcim.

Unë e lidha butonin tim me kunjin BCM 17 dhe tokëzimin

LED -i im në një rezistencë 1k ohm pastaj kunj BCM 27 dhe tokë

Kodifikuesit e mi rrotullues KY040 kishin kalimin + në 5V, GND në tokë dhe SW të shkyçur. Këto ishin të lidhura mbi një miniboard

Kodi kodues rrotullues i stacionit dt i lidhur me kunjin BCM 21

Kodi kodifikues rrotullues i stacionit clk i lidhur me kunjin BCM 20

Kodi kodifikues rrotullues i nivelit audio dt i lidhur me kunjin BCM 19

Kodi kodues i koduesit rrotullues të nivelit audio i lidhur me kunjin BCM 16

Nëse i ndryshoni këto kunja, thjesht azhurnoni numrin në programin python, gjithashtu aty ku vendos konfiguruesit

Kam përdorur një miniboard për ta bërë këtë më të lehtë. Kam përdorur telat e kërcyesit M/M dhe M/F për të lehtësuar ndërfaqen. Kam bashkuar disa tela me bluzë në kunjat e butonit/LED që kam blerë më herët. Për të mos ngjitur, mund të merrni butona shtytës dhe LED që tashmë kanë tela të kërcyesit ose mund të lidhen lehtësisht me një.

Hapi 6: Provojeni

Tani, ju duhet të keni një sistem funksional! Le ta testojmë. Shkoni te dosja me programin python, ka të ngjarë:

cd seniorRadio

python3 seniorRadio.py

Aktualisht, ka një vonesë prej 45 sekondash në fillimin e programit për t'i dhënë asaj kohë për të gjetur altoparlantin bluetooth të ndezur. Ju mund të komentoni këtë rresht nëse nuk keni nevojë për të gjatë testimit. Programi mund t'ju tregojë se keni nevojë të instaloni paketa shtesë, vazhdoni nëse është kështu. Gjithashtu mund të ketë nevojë të instaloni një version më të ri të Python.

sudo apt-get install python3.7

Disa çështje të mundshme edhe nëse programi funksionon:

Nuk dëgjoj asnjë zë

Sigurohuni që altoparlanti është i ndezur dhe i zgjedhur në pi mjedrën tuaj. Përmes GUI ju duhet të jeni në gjendje ta çiftoni atë dhe më pas ta zgjidhni atë si pajisjen tuaj të daljes audio. Për më tepër, kontrolloni drejtuesit tuaj audio. Një çështje e zakonshme është se mund t'ju duhet të instaloni përsëri paketën pulseaudio

Audio e prishur ose prerje brenda dhe jashtë

Provoni ta lëvizni pajisjen më afër ruterit tuaj WiFi. Përveç kësaj, sigurohuni që altoparlanti bluetooth të jetë afër. Mund të jetë gjithashtu një çështje e shoferit audio

Hapi 7: Vendoseni në një Shtojcë të Përhershme

Vendoseni në një Shtojcë të Përhershme
Vendoseni në një Shtojcë të Përhershme

Më pas, vendoseni në një kuti ose pajisje të ngjashme që të jetojë përgjithmonë. Unë rekomandoj që të keni një në të cilin mund të hyni më vonë akoma për korrigjim. E mora këtë kuti të vogël prej druri në një dyqan artizanal për 2 dollarë dhe e lidha në faqen e furnizimeve. Një nga miqtë e mi rekomandoi një kuti cigare.

Më pas kam prerë vrimat në pjesën e përparme për butonin dhe çelsat rrotullues, dhe kam shpuar një vrimë në pjesën e pasme të kutisë për kordonin e rrymës microUSB.

E testova malin dhe u sigurova që funksionoi, dhe voilà!

Më në fund, kam përdorur super zam për të mbajtur butonin e shtypjes. Dërrasa ime e bukës kishte një ngjitës në pjesën e poshtme që e lidha me një pjesë të kutisë. Kam përdorur një shirit të vogël të shiritit për të siguruar pjesën e pasme të pi në kuti, kështu që mund të zhvendoset më vonë nëse është e nevojshme.

Hapi 8: Programi i konfigurimit për tu ekzekutuar gjatë fillimit

Më në fund, ka të ngjarë që ju të dëshironi që ky program python të funksionojë gjatë fillimit të mjedrës pi, kështu që nuk keni nevojë ta bëni atë me dorë. Ka shumë mënyra për ta bërë këtë që mund t'i gjeni në internet.

Personalisht, e vendosa duke përdorur mënyrën e dytë në këtë tutorial SparkFun:

Këtu, ai pret që sistemi të hyjë në desktopin grafik para se të ekzekutojë programin. Pastaj vonohet nga programi python për 45 sekonda për t'i dhënë sistemit kohë që të lidhet përsëri me altoparlantin bluetooth. Nëse jeni duke përdorur një altoparlant të integruar, mund ta hiqni këtë vonesë. Vini re se altoparlanti bluetooth duhet të jetë i pari! (për zgjidhjen bluetooth)

Tani mund të provoni të fikni dhe rindizni pi-në tuaj! Pas rreth 90 sekondash, pi juaj duhet të fillojë të luajë edhe një herë transmetimet e radios. Me të shtypur butonin, ai do të ndalojë/luajë. Shënim në këto rindezje ai rilexon atë skedar internetStations json kështu që nëse ndryshoni stacionet tuaja ju duhet të rinisni pajisjen që ata të funksionojnë. Urime!

Nëse e keni bërë këtë, ose keni bërë modifikime në projekt, ju lutem më tregoni!

Faqja e Github:

Recommended: