Orodha ya maudhui:

Kisanduku kimoja cha Utiririshaji wa Redio: Hatua 7 (na Picha)
Kisanduku kimoja cha Utiririshaji wa Redio: Hatua 7 (na Picha)

Video: Kisanduku kimoja cha Utiririshaji wa Redio: Hatua 7 (na Picha)

Video: Kisanduku kimoja cha Utiririshaji wa Redio: Hatua 7 (na Picha)
Video: Cheki jama alivyo paa na ndege ya kichawi utashangaa 2024, Novemba
Anonim
Kitufe cha Kutiririsha Redio
Kitufe cha Kutiririsha Redio

Niliunda sanduku la baa ya rafiki yangu ambayo ina Raspberry Pi ndani na kwa kushinikiza kwa kitufe kimoja hutiririsha sauti kwenye wavuti inayotumia Darkice na Icecast, wakati huo huo ikiwasha ishara ya 'On-Air'. Nilidhani hii ilikuwa kitu ambacho watu walikuwa wakifanya tayari lakini baada ya kutafuta kwa kina sikupata chochote na niliamua kujitambua na kufanya hii iweze kufundishwa.

Nilitumia Raspberry Pi 3+ B lakini kwa kadiri ninavyoweza kusema ingefanya kazi kwa Pi yoyote (labda nambari za siri za GPIO zitatofautiana, siwezi kuthibitisha hilo ingawa). Nilitumia kifurushi cha NOOBS cha OS na nilinunua kadi rahisi ya sauti kwa uingizaji. Niliongeza pia kifungo salama cha kufunga na shughuli ya LED kwenye sanduku kulinda Pi.

Utahitaji:

Pi ya Raspberry

Kifurushi cha NOOBS kwenye kadi ya SD

Washa / Zima swichi (nilitumia kitufe kikubwa nyekundu cha kuacha dharura kama hii, lakini inaweza kuwa aina yoyote ya kitufe cha 'bonyeza')

Kitufe cha kushinikiza

1 LED

Ishara ya 'On-Air', nilijifanya mwenyewe na safu ya LED

Chuma cha kulehemu na bodi ndogo ya kiunganishi (nilikata kipande moja ya hizi ambazo nilikuwa nazo karibu)

Kadi ya sauti (nilitumia laini rahisi kama hii)

Hatua ya 1: Sanidi Seva yako

Kwa kituo halisi cha redio tunachotumia sikufanya sehemu hii kwani sikuwa na ufikiaji wa seva na rafiki yangu alifanya hivyo, lakini kuna mwongozo wa msingi wa kuanzisha kwenye wavuti ya Icecast na niliweza kupata inafanya kazi kutoka kwa Pi mwanzoni tu kuona inaendaje. Vinginevyo unaweza kupata akaunti kwenye internet-radio.com na inafanya kazi na Darkice.

Hatua ya 2: Sanidi Pi na Sakinisha Giza

Pata Kadi ya SD na kifurushi cha NOOBS. Mara baada ya kufungua Raspbian na kusanidi sasisho zote kufungua dirisha la Kituo na andika:

Sudo apt-pata sasisho

Sudo apt-get kufunga giza

Darkice ni sehemu ya Debian kwa hivyo itaweka kiotomatiki, inachukua muda mfupi.

Mara tu ikiwa imekamilika kwa aina ya haraka:

giza

Itatoa ujumbe wa makosa na sio kukimbia, lakini hiyo ni sawa. Katika ujumbe huo itasema kitu kama:

Kutumia faili ya usanidi: /etc/darkice.cfg

Unahitaji kuhariri faili hiyo, kwa hivyo kwa aina ya haraka:

Sudo nano /etc/darkice.cfg

Hariri faili inayofungua kwa kutumia habari kwenye wiki hii. Ukurasa wa Radioreference, ukimaliza bonyeza CTRL-X kufunga, Y kuokoa na unapaswa kurudi kwa haraka ya Kituo. Daima ni vizuri kuwasha tena baada ya kusanikisha programu mpya kwa hivyo chapa:

reboot

na wakati Pi imeanza tena kufungua tena dirisha la Kituo. Sasa unapoandika 'Darkice' inapaswa kukimbia bila ujumbe wowote wa hitilafu. Ukienda kwa https:// YOURSERVERADDRESS: 8000 / (8000 au bandari yoyote ambayo seva yako ya barafu imepewa) unapaswa kupata ukurasa wa takwimu ukisema umeunganishwa. Ikiwa sio hivyo, badilisha faili ya usanidi (laini ya kuingiza sauti ilinipa shida lakini nilijaribu chaguzi zote na mwishowe nikapata kadi yangu ya sauti). Mara Darkice inapoendesha vizuri endelea kwa hatua inayofuata.

Hatua ya 3: Kitufe cha Mkondo na Ishara ya Hewa

Kitufe cha Mkondo na Ishara ya Hewa
Kitufe cha Mkondo na Ishara ya Hewa

Nilifanya rundo la mafunzo anuwai kwa hii kwani hakukuwa na moja maalum ya kupeana kitendo kwa kitufe katika Python. Shida kubwa niliyokabiliana nayo ilikuwa kupata Darkice kukimbia nyuma (na kwa hivyo sio kugandisha hati ya Python ilipoanza kufanya kazi) lakini nilimwuliza rafiki wa kificho aje akusaidie akapata njia ya kuifanya karatasi za kuandika, kitu ambacho usipate. Inavyoonekana inaweza pia kuwa inawezekana kutumia '&' mahali pengine kwenye nambari lakini mimi sio kificho na kile ninacho hufanya kazi kwa hivyo nilichagua kutokuchanganya nayo. Mara baada ya kufanya kila kitu kufanya kazi nilianza kupunguza nyaya zote kutoka kwenye ubao wa mkate hadi nikabaki na usanidi ufuatao:

GPIO16 kwa kiunganishi cha nje chenye alama tatu.

GPIO7 kwa terminal nzuri ya safu ya LED kwa ishara ya ON-Air.

GPIO25 kwa bonyeza-kubadili.

Upande wa pili wa kitufe cha kubofya huambatisha kontakt-point-3.

Kituo hasi cha safu ya LED pia inaambatanisha na kontakt-point-3.

(Vipengele vingine kwenye mchoro vimeelezewa katika hatua inayofuata).

Hati ya Python ambayo tuliishia nayo ni kama ifuatavyo (tafadhali kumbuka hii ni ya Agizo kwa mradi wote, sijui ya kutosha kuelezea nambari hiyo. Niliiunganisha pamoja kutoka kwa mafunzo mengine anuwai kwa kazi tofauti):

ingiza wakati wa kuingiza nje kuagiza RPi. GPIO kama GPIO GPIO.tahadhari (Uongo) = GPIO. PUD_UP)

kugeuza = Uongo

def start_darkice ():

chapa ('mchakato mdogo wa kuita') # matokeo = subprocess. simu ('sh screen -S darkice -d -m darkice') os. mfumo stop_darkice (): mfumo wa os. ('screen -X -S darkice leave')

wakati Kweli:

buttonState = GPIO.input (buttonPin) ikiwa buttonState == True: if not toggle: toggle = True print ('kuwasha giza') start_darkice () #print ('BUTTON STATE TRUE') GPIO.output (ledPin, GPIO. HIGH)

mwingine:

ikiwa toggle: toggle = Uchapishaji wa uwongo ('kuacha giza') stop_darkice () #print ('BUTTON STATE FALSE') GPIO.output (ledPin, GPIO. LOW) muda wa kulala (1)

Faili ya py imeambatanishwa na hii inayoweza kufundishwa, unaweza kuipakua na kufuata Hatua ya 5 ukipenda.

Hatua ya 4: Kitufe cha Kuzima Salama na LED ya Shughuli

Kitufe cha Kuzima Salama na LED ya Shughuli
Kitufe cha Kuzima Salama na LED ya Shughuli

Kwa usalama tu na kuongeza muda wa maisha ya Pi niliongeza kitufe salama cha kuzima na LED ya shughuli za nje ili watu wajue wakati ni salama kufungua sanduku. Nilipata mafunzo kwa urahisi kwa hizi mbili, lakini niligundua kuwa Raspberry Pi 3 B + ina ACT LED iliyopewa pini ya GPIO wakati mifano ya mapema haina na ambayo inaweza kuwa shida ikiwa una Pi ya zamani.

Ambatisha terminal nzuri ya LED kwa GPIO13 na hasi kwa GPIO26. Ili ACT ya LED ifanye kazi unahitaji kuhariri faili ya config.txt kwenye saraka ya BOOT. Unaweza kupata hii kwenye kivinjari cha Raspbian au na:

Sudo nano /usr/boot/config.txt

Wakati unahariri faili ongeza tu mistari ifuatayo:

# Tumia LED ya nje kama SD ACT LED dtoverlay = pi3-act-led, gpio = 19

Sasa taa ya nje ya LED itabadilika na shughuli za kadi ya SD.

Ambatisha vituo vya kubadili kushinikiza kwa GPIO3 na GPIO8. Nilipata nambari ifuatayo kutoka kwa mafunzo na inafanya kazi vizuri:

kuagiza muda kutoka gpiozero kuagiza Button kutoka kwa subprocess kuagiza check_call kutoka kwa pause ya kuingiza ishara

shut shut ():

check_call (['sudo', 'poweroff'])

shutdown_btn = Kifungo (2, hold_time = 1)

shutdown_btn.when_held = kuzima

pumzika ()

saa. kulala (1)

Faili hii ya py pia imeambatishwa kwako kupakua ikiwa unataka. Kitufe changu kinapaswa kushikiliwa kwa sekunde 1, ikiwa unataka kubadilisha hiyo badilisha thamani ya 'hold-time ='.

Hatua ya 5: Fanya Hati za Python Kuanzia Boot

Tena, kuna mafunzo mengi juu ya mada hii, nilitumia hii kutoka kwa Viwanda vya Dexter na kufuata hatua ya kwanza kwa kuhariri faili ya rc.local.

Sudo nano /etc/rc.local

Hapa unahitaji kuongeza njia kamili ya faili hadi mwisho wa waraka, kamili na '&' mwisho wa kila mstari. Unapaswa kuongeza laini moja kwa kila faili:

sudo chatu / nyumbani / pi / YAKO

sudo python / nyumba/pi/YOURFILENAME2.py &

kabla tu ya mstari

toka 0

'&' Mwisho wa kila mstari ni muhimu kuhakikisha matanzi ya programu.

Hatua ya 6: Jenga Sanduku

Jenga Sanduku
Jenga Sanduku
Jenga Sanduku
Jenga Sanduku
Jenga Sanduku
Jenga Sanduku

Hii ni juu yako kabisa. Kwa kweli inahitaji tu kuwa saizi ya Pi, lakini ninaweka kontakt katika usanidi wangu kuweka mkondo wa redio kwa kiwango thabiti kwa hivyo sanduku ni kubwa kidogo. Yangu ina shimo mbele kwa ishara ya Hewani na moja ya Kitufe Kubwa Nyekundu, pamoja na nilitengeneza kadi ndogo ya maagizo kwa ma-DJ na kuipachika chini ya kitufe. Kwa upande wa sanduku kuna shimo la kitufe cha kushinikiza, ACT ya LED na pembejeo ya sauti, pamoja na maagizo yaliyowekwa kwa wafanyikazi wa baa juu ya jinsi ya kufunga sanduku kwa usalama.

Hatua ya 7: Ufungaji

Ufungaji
Ufungaji
Ufungaji
Ufungaji
Ufungaji
Ufungaji
Ufungaji
Ufungaji

Rekebisha vifaa vyote tofauti kwenye sanduku lako, ukizingatia kila wakati ni vizuri kuruhusu mzunguko wa hewa karibu na Pi kuzuia joto kali. Ambatisha nyaya za sauti kutoka kwa mchanganyiko wako, bonyeza kitufe na ufurahie utangazaji!

Ilipendekeza: