Orodha ya maudhui:

Redio Mwandamizi - Raspberry Pi: Hatua 8
Redio Mwandamizi - Raspberry Pi: Hatua 8

Video: Redio Mwandamizi - Raspberry Pi: Hatua 8

Video: Redio Mwandamizi - Raspberry Pi: Hatua 8
Video: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, Novemba
Anonim
Redio Mwandamizi - Raspberry Pi
Redio Mwandamizi - Raspberry Pi

Mradi wa Redio Mwandamizi ni chanzo wazi kinachopatikana cha redio ya mtandao yenye vifaa vya vifaa na programu. Imekusudiwa kutumiwa kwa watumiaji wanaojua kudhibiti redio mfukoni ambapo piga kudhibiti sauti na kituo cha redio kilichochaguliwa. Mradi huo umetengenezwa na muundo unaozingatia mtumiaji, unaozingatia mtumiaji anayetaka saizi sawa na udhibiti kama redio ya kawaida ya mkono.

Ilijengwa kutosheleza mahitaji ya kuruhusu watu wenye ulemavu waweze kusikiliza maelfu ya bidhaa tofauti za utiririshaji wa mtandao ambazo kawaida hupatikana kupitia kivinjari cha wavuti. Watu wengi hawana uwezo wa kutumia kifaa kama hicho kwa urahisi, kwa hivyo muundo huu unakusudia kutengeneza kiolesura kinachojulikana kwa teknolojia ya kisasa.

Utendaji wa msingi uko kwenye Github, iliyohifadhiwa katika mpango wa python 3.7.3 iitwayo seniorRadio.py. Inasoma na kuandika faili ya json kuhifadhi hali ya redio, kwa hivyo ukizima itakumbuka kiwango cha sasa cha sauti na kituo kilichochaguliwa. Kwa kuongeza, inasoma faili ya json iliyohifadhiwa mkondoni ambayo unaweza kubadilisha! Hii hukuruhusu kusasisha vituo vya redio kwa mbali ikiwa unampa mtu mwingine hii.

Imeundwa kwa sasa kuungana na spika ya bluetooth, lakini inaweza kufanywa kwa urahisi kucheza spika ya ndani pia.

Muumba wa kifaa hiki labda sio mtumiaji, na anahitaji uzoefu kidogo na vifaa vya elektroniki na maarifa ya msingi ya programu. Uzoefu wa Linux pia ni muhimu sana.

Kwa mtumiaji, utendaji ni rahisi:

Ukiwasha umeme itacheza kituo cha mwisho kilichochaguliwa juu ya kifaa chaguomsingi cha sauti. Upigaji wa kushoto unadhibiti kituo, ambapo mibofyo michache ya kubonyeza hubadilika kuwa URL mpya. Itazunguka baada ya kuingia mwisho au ya kwanza. Upigaji wa kulia unadhibiti kiwango cha sauti. LED inaonyesha mpango umewashwa. Na kitufe cha kushinikiza kinasimama au "huzima" redio. Kwa hivyo ikiwa imewashwa, mtumiaji anaweza tu kugonga kitufe cha kusitisha / kucheza, au "kuzima / kuwasha", redio na kupiga mara mbili ili kuidhibiti.

Vifaa

Imeunganishwa kwenye kila kitu ni ile maalum niliyotumia. Gharama yangu kama $ 60 jumla na mengi ya vifaa vilivyobaki!

Ujuzi wa kimsingi wa elektroniki na linux - kwa kusanyiko na utatuzi

Raspberry Pi Zero W (Zero WH ina vichwa vilivyouzwa kabla na inawezekana kuwa muhimu)

Kadi ya MicroSD-8 GB + na uwezo o

Adapter ya umeme ya MicroUSB 5V - Kiungo pia kinajumuisha adapta ya microHDMI na microUSB OTG kwa USB Adapta ya usanidi ikiwa unahitaji

Spika ya Bluetooth

Kamba za kuruka za M / F na M / M

2 Encoder ya Rotary - kiunga sawa na hapo juu

Bodi ndogo ya mkate

Pushbutton

LED (hiari) - kununuliwa kifungo cha kushinikiza cha LED + hapo juu

Sanduku la ufungaji

Hatua ya 1: Kuweka (bila kichwa) Raspberry Pi W

Usanidi (bila kichwa) Raspberry Pi W
Usanidi (bila kichwa) Raspberry Pi W

Tunahitaji kuanzisha mfumo wa uendeshaji kwenye pi ya raspberry ambayo itaendesha programu. Hakuna hii ambayo ni ya kipekee kwa mradi huu. Kwa utatuzi, ningependekeza kuiweka ili uweze pia kuipata kwa hali isiyo na kichwa. Hii inamaanisha unapata pi juu ya mtandao wako wa WiFi kupitia GUI au kituo cha SSH na hauitaji kibodi, panya, na ufuatiliaji kuitumia kila wakati. Unaweza kufanya hivyo bila kuhitaji kuungana na mfuatiliaji / panya / kibodi wakati wowote ikiwa wewe ni mjuzi zaidi wa teknolojia. Baadhi ya maagizo ya mfano hapa. Walakini iko mbele moja kwa moja, na chini ni njia nyingine ya kuiweka.

Wakati huu wa kwanza utahitaji:

  • Raspberry Pi W
  • MicroSD kwa adapta ya kadi ya SD [kuandika OS kwenye kadi ya SD]
  • Kadi ya MicroSD (~ 8 GB +) [kuhifadhi OS na programu yetu]
  • Nguvu ya MicroUSB (5V)
  • MicroUSB kwa USB A [kwa panya / kibodi]
  • Mini HDMI kwa adapta ya HDMI [kwa pato la onyesho]
  • Kinanda
  • Panya
  • Kufuatilia

Kwanza, utahitaji kuangazia mfumo wa uendeshaji kwenye kadi ndogo ya rPi ya SD.

Nilitumia raspian buster, unapakua hii kwenye kompyuta na kadi ya kusoma ya SD / mwandishi na kisha kuwasha OS ya raspian kwenye kadi ya SD. BalenaEtcher ni programu rahisi ya kufanya hivyo

Ifuatayo weka kadi ya SD ndani ya pi pi, unganisha mfuatiliaji, kibodi na nguvu. Endelea kupitia hatua za usanidi ambazo raspian inakuchochea, ikiwa ni pamoja na kuiunganisha na mtandao wako wa WiFi na kuoanisha spika yako ya Bluetooth kupitia GUI. Mazoezi mazuri itakuwa kuisasisha kwa kutumia amri zifuatazo

Sudo apt-pata sasisho

sasisho la kupata apt

Ikiwa unataka kujumuisha kuashiria pi yako bila kichwa, tutahitaji kuchukua anwani ya ip ya kwanza. Kupitia terminal unaweza kuipata kupitia

ifconfig

amri. Kisha unahitaji kuwezesha SSH na VNC juu ya chaguzi za kuingiliana katika

Sudo raspi-config

Baada ya kuanza upya, sasa unaweza kujaribu kufikia pi juu ya SSH au VNC. SSH ni kiolesura cha wastaafu tu, na unaweza kupata rahisi kutumia GUI kuoanisha spika ya Bluetooth. Unaweza kutumia programu kama VNC unganisha kufikia pi yako kwa urahisi kwenye kompyuta tofauti kwenye mtandao wako. Unaweza kutumia programu kama putty kwa SSH ndani yake.

Kwa kuongezea, unaweza kusanidi akaunti ya wingu ya VNC ili uweze kufikia kifaa nje ya mtandao ikiwa inahitajika

Hatua ya 2: Sakinisha Programu Kuu ya Redio

Sakinisha Programu Kuu ya Redio
Sakinisha Programu Kuu ya Redio

Hii inaweza kufanywa kutoka kwa dirisha la terminal la pi ya raspberry. Kwanza hakikisha umeweka git

Sudo apt-get kufunga git

Kulingana na mfumo gani wa uendeshaji uliyoweka, hatua hizi zinaweza kuwa tofauti kwani unaweza kuhitaji kusanikisha vifurushi vya ziada, mfumo utakuambia ikiwa ni hivyo. Kwanza tunahitaji kupakua nambari kuu ya redio kutoka github. https://github.com/Bunborn/seniorRadio Kwa kweli, unafanya repo yetu mwenyewe ili uweze kufanya mabadiliko na kubadilisha vituo vya redio kwa urahisi kama vile mimi. Uma repo ikiwa ni hivyo

Walakini, unaweza kutumia sawa na yangu hakuna shida ikiwa unataka kuwa mwenyeji wa faili yako ya redio json mahali pengine

Kisha onyesha repo katika eneo lolote unalotaka liwe. Saraka chaguomsingi iko sawa. Pata URL ambayo github repo unayotaka kwa kugonga kitufe cha kijani au kitufe cha kupakua.

Rudi kwenye dirisha la terminal, clone ya git

Unapaswa sasa kuona saraka ya ziada inayoitwa seniorRadio wakati unatafuta kutumia ls. Ajabu!

Nambari hiyo inakusudiwa kujiandikisha mwenyewe, ukiangalia itakuwa muhimu. Hasa kwa madhumuni ya utatuaji na ikiwa unabadilisha mfumo.

Hatua ya 3: Sakinisha Programu ya Ziada

Sakinisha Programu ya Ziada
Sakinisha Programu ya Ziada

Kabla ya kuendelea na mzunguko na kuijaribu, tunahitaji pia kupakua VLC na api ya chatu. Unaweza kuwa tayari umeweka VLC. Amri mbili za kwanza zitasasisha pi, na amri mbili za mwisho hapo chini zitaweka VLC na kisha chatu api

Sudo apt-pata sasisho

sasisho la kupata apt

snap ya kufunga kufunga VLC

Sudo apt-get kufunga vlc-python

Kwa kuongeza, pia funga gpiozero, ambayo tutatumia kuunganishwa na pini za GPIO za pi. Huenda tayari umeiweka kulingana na mfumo wako wa uendeshaji.

Sudo apt-get kufunga gpiozero

Hatua ya 4: Pata Stesheni za Redio

Pata Stesheni za Redio
Pata Stesheni za Redio

Ifuatayo, moja ya sehemu za kufurahisha zaidi! Wakati wa kuchagua mito yoyote unayotaka.

Katika faili yangu ya internetStations.json unaweza kuona viungo vyangu vya mkondo, haswa kwa habari na muziki. Lakini kuna tani ya yaliyomo mwenyeji huko nje. Kitufe hapa ni kupata anwani ya URL ya mkondo wa moja kwa moja. Kwa mfano, vituo vya habari vya BBC na vituo vya muziki vinaweza kupatikana hapa kwenye blogi hii. Mito hii ya moja kwa moja haitakuwa na kielelezo chochote cha picha na itacheza moja kwa moja mtiririko kupitia kivinjari chako cha media cha kivinjari. Hizi ni URL ambazo tunahitaji ili VLC iweze kuzisoma! Unaweza kujaribu kiunga chochote haraka kwenye broswer yako ya wavuti, au kupitia VLC kwenye kompyuta yako ya kawaida kuhakikisha itafanya kazi kwenye pi.

Ili kupata vituo hivi, unaweza kutafuta mkondo wa moja kwa moja mkondoni ikiwa huduma inapeana huduma. Njia ya haraka pia inaweza kuwa kucheza mkondo, bonyeza kulia kwenye kivinjari na gonga "kukagua kipengee". Nenda kwenye kichupo cha mtandao na inapaswa kuonyesha URL ya mkondo 'moja kwa moja'. Video hii ya youtube inaonyesha hii. Kuburudisha ukurasa na kichupo kimefunguliwa inapaswa kusaidia.

Mara tu unapokuwa na vituo vyako, unataka kuziweka mkondoni ili programu yako ya mwandamizi wa redio iweze kuwanyakua. Kuna chaguzi nyingi za kufanya hivyo, unaweza kutumia tovuti kama Github, bitbucket, au hata chanzo cha maji. Kusudi kuu la kukaribisha orodha hii mkondoni ni kwa hivyo kuiweka kwa mtumiaji kubadilisha orodha ya mkondo mkondoni kwa mbali.

Mwanzoni mwa programu ya chatu kuna tofauti inayoitwa url, badilisha hii kuwa URL ya faili yako ya json na viungo vya kituo cha URL

Unaweza kufuata muundo sawa na faili yangu ya internetStation.json. Ikiwa ungetaka pia kutumia github, unaweza tu kupiga ghala langu kuu la Redio, na uhariri faili yako mwenyewe ya internetStation.json na uielekeze kwa URL hiyo "mbichi". Unaweza kupata hiyo hapa chini kwenye Github GUI mara tu ubofye faili.

Hatua ya 5: Unda Mizunguko

Unda Mizunguko
Unda Mizunguko

Sasa tunahitaji kuanzisha mzunguko. Hii itabadilika kulingana na vifaa vyako, lakini hapa chini ni jinsi ninavyoweka yangu.

pinout.xyz/ kwa kumbukumbu ni pini zipi ambazo ni. Kwa kuwa tunatumia maktaba ya gpiozero, tunahusika na pini ya BCM yenye nambari tu. Kumbuka kuwa nilinunua encoders chache za rotary za KY040 - dials - kuzijaribu kwani zote hazina usahihi sawa. Kila mmoja angekuwa na "bouncing" fulani, au pato lisilo sahihi tu, kwa hivyo nilichagua bora kati ya hizo mbili nilizokuwa nazo. Katika nambari utakumbuka kuna hatua kadhaa za kupunguza ubashiri huu pia.

Niliunganisha kitufe changu cha kushinikiza kwa siri ya BCM 17 na ardhi

LED yangu kwa 1k ohm resistor kisha BCM pin 27 na ardhi

Encoders zangu za rotary za KY040 zilikuwa na risasi ya 5V, GND chini na SW imekatwa. Hizi ziliunganishwa juu ya ubao mdogo wa mkate

Kituo cha rotary encoder dt siri iliyounganishwa na BCM pin 21

Kituo cha rotary encoder clk siri iliyounganishwa na BCM pin 20

Kiwango cha sauti cha kuzunguka kwa dt pini iliyounganishwa na pini ya BCM 19

Sauti ya sauti ya rotary encoder clk iliyounganishwa na pini ya BCM 16

Ukibadilisha pini hizi, sasisha nambari tu katika mpango wa chatu na pia mahali inapoweka washughulikiaji

Nilitumia ubao mdogo wa mkate ili kurahisisha hii. Nilitumia waya za kuruka za M / M na M / F pia kuwezesha kiolesura. Niliuza waya ya kuruka inaongoza kwenye pini za kitufe / LED nilinunua mapema. Ili usiwe solder, unaweza kupata vifungo vya kushinikiza na taa za LED ambazo tayari zina elekezi za waya za kuruka au zinaweza kuungana kwa urahisi na moja.

Hatua ya 6: Jaribu

Sasa, unapaswa kuwa na mfumo wa kufanya kazi! Wacha tuijaribu. Nenda kwenye folda na programu ya chatu, labda:

cd mwandamiziRadio

python3 mwandamiziRadio.py

Hivi sasa, kuna ucheleweshaji wa sekunde 45 mwanzoni mwa programu ili kuipatia wakati wa kupata spika ya Bluetooth ikiwa imewashwa. Unaweza kutoa maoni nje ya mstari huu ikiwa hauitaji wakati wa majaribio. Programu inaweza kukuambia kuwa unahitaji kusanikisha vifurushi vya ziada, endelea ikiwa ni hivyo. Inaweza pia kuhitaji kusanikisha toleo jipya la chatu.

Sudo apt-get kufunga python3.7

Masuala kadhaa yanayowezekana hata kama programu inaendesha:

Sisikii sauti

Hakikisha spika imewashwa na imechaguliwa kwenye pi yako ya raspberry. Kupitia GUI unapaswa kuoanisha na kisha uchague kama kifaa chako cha kutoa sauti. Kwa kuongezea, angalia madereva yako ya sauti. Suala la kawaida unaweza kuhitaji kusanikisha kifurushi cha pulseaudio

Sauti ya kukata sauti au kukata ndani na nje

Jaribu kusogeza kifaa karibu na router yako ya WiFi. Kwa kuongeza, hakikisha spika ya Bluetooth iko karibu. Inaweza pia kuwa suala la dereva wa sauti

Hatua ya 7: Weka ndani ya Hifadhi ya Kudumu

Weka ndani ya Banda la Kudumu
Weka ndani ya Banda la Kudumu

Ifuatayo, kuiweka kwenye sanduku au kifaa kama hicho ili iweze kuishi kabisa. Ninapendekeza kuwa na moja ambayo unaweza kufikia baadaye bado kwa utatuzi. Nilipata kisanduku hiki kidogo cha mbao kwenye duka la ufundi kwa $ 2, na kukiunganisha kwenye ukurasa wa vifaa. Rafiki yangu mmoja alipendekeza sanduku la sigara.

Kisha nikakata mashimo mbele kwa kitufe cha kushinikiza na swichi za rotary, na nikachimba shimo nyuma ya sanduku kwa kamba ya umeme ya microUSB.

Nilijaribu mlima na kuhakikisha inafanya kazi, na voilà!

Mwishowe, nilitumia gundi kubwa kushikilia kitufe cha kushinikiza. Bodi yangu ya mkate ilikuwa na wambiso chini ambayo niliunganisha na sehemu ya sanduku. Nilitumia mkanda mdogo wa mkanda kuhakikisha nyuma ya pi kwenye sanduku, kwa hivyo inaweza kuhamishwa baadaye ikiwa inahitajika.

Hatua ya 8: Mpangilio wa Kuanzisha Kuanza

Mwishowe, labda utataka mpango huu wa chatu uanze wakati wa kuanza kwa pi ya raspberry kwa hivyo hauitaji kuifanya kwa mikono. Kuna njia nyingi za kufanya hivi ambazo unaweza kupata mkondoni.

Binafsi, niliiweka kwa kutumia njia ya pili kwenye mafunzo haya ya SparkFun:

Hapa, inasubiri mfumo kuingiza eneo-kazi la picha kabla ya kuendesha programu. Halafu imecheleweshwa na mpango wa chatu kwa sekunde 45 ili kupeana mfumo wakati wa kuungana tena kwa spika ya Bluetooth. Ikiwa unatumia spika iliyojumuishwa, unaweza kuondoa ucheleweshaji huu. Kumbuka kuwa spika ya Bluetooth inapaswa kuwa ya kwanza! (kwa suluhisho la bluetooth)

Sasa unaweza kujaribu kuzima na kuwasha tena nguvu kwenye pi yako! Baada ya sekunde 90 pi yako inapaswa kuanza kucheza mito ya redio tena. Wakati wa kugonga kitufe cha kusukuma kitasimamisha / kucheza. Kumbuka kwenye reboots hizi inasoma tena faili ya internetStations json kwa hivyo ukibadilisha vituo vyako unahitaji kuanzisha tena kifaa ili wafanye kazi. Hongera!

Ikiwa umefanya hii, au umefanya marekebisho kwenye mradi huo, tafadhali nijulishe!

Ukurasa wa Github:

Ilipendekeza: