Բովանդակություն:

Ռադիո հոսքի տուփ մեկ կոճակով ՝ 7 քայլ (նկարներով)
Ռադիո հոսքի տուփ մեկ կոճակով ՝ 7 քայլ (նկարներով)

Video: Ռադիո հոսքի տուփ մեկ կոճակով ՝ 7 քայլ (նկարներով)

Video: Ռադիո հոսքի տուփ մեկ կոճակով ՝ 7 քայլ (նկարներով)
Video: Եթե երազում տեսնում եք այս 10 բաները, ապա չպետք է անտեսեք 2024, Նոյեմբեր
Anonim
Ռադիո հոսքի տուփ մեկ կոճակով
Ռադիո հոսքի տուփ մեկ կոճակով

Ես ընկերոջս բարի համար արկղ կառուցեցի, որի ներսում կա Raspberry Pi և մեկ կոճակի սեղմումով ձայնը հոսում է դեպի կայք ՝ օգտագործելով Darkice և Icecast, միաժամանակ լուսավորելով «On-Air» նշանը: Ես կարծում էի, որ սա արդեն մի բան էր, ինչ անում էին մարդիկ, բայց երկար փնտրելուց հետո ես ոչինչ չգտա և որոշեցի ինքս դա պարզել և դարձնել այս Ուսուցիչը:

Ես օգտագործեցի Raspberry Pi 3+ B- ն, բայց որքանով կարող եմ ասել, որ այն կաշխատի ցանկացած Pi- ի վրա (գուցե GPIO- ի կապի համարները տարբերվեն, բայց ես դա չեմ կարող հաստատել): Ես օգտագործել եմ NOOBS փաթեթը OS- ի համար և մուտքի համար գնել եմ մի չափազանց պարզ ձայնային քարտ: Ես նաև տուփին ավելացրեցի անվտանգ փակման կոճակ և գործունեության LED ՝ Pi- ն պաշտպանելու համար:

Ձեզ հարկավոր կլինի.

Ազնվամորի Պի

NOOBS փաթեթ SD քարտի վրա

Միացման/անջատման անջատիչ (ես օգտագործել եմ նման կարմիր անհետաձգելի կանգառի մեծ կոճակ, բայց դա կարող է լինել ցանկացած տեսակի «սեղմման» անջատիչ)

Կտտացրեք կոճակը

1 LED

Որպես «On-Air» նշան ՝ ես ինքս պատրաստեցի LED զանգվածով

Sոդման երկաթ և փոքր միակցիչ-տախտակ (ես պարզապես կտրեցի դրանցից մեկի մի շերտը, որը շուրջս էր)

Ձայնային քարտ (ես օգտագործել եմ այսպիսի գերհասարակ մեկը)

Քայլ 1: Կարգավորեք ձեր սերվերը

Իրական օգտագործվող ռադիոկայանի համար ես այս հատվածը չեմ արել, քանի որ սերվերին մուտք չունեի, և դա արել էր իմ ընկերը, բայց Icecast- ի կայքում կա հիմնական տեղադրման ուղեցույց, և ինձ հաջողվեց ստանալ այն սկզբից աշխատում էր Pi- ից ՝ միայն տեսնելու համար, թե ինչպես է այն ընթանում: Այլապես կարող եք հաշիվ ձեռք բերել internet-radio.com կայքում և այն աշխատում է Darkice- ի հետ:

Քայլ 2: Կարգավորեք Pi- ն և տեղադրեք Darkice- ը

Ձեռք բերեք SD քարտ NOOBS փաթեթով: Երբ դուք բացեք Raspbian- ը և տեղադրեք բոլոր թարմացումները, բացեք տերմինալի պատուհան և մուտքագրեք.

sudo apt-get թարմացում

sudo apt-get install darkice

Darkice- ը Debian- ի մի մասն է, ուստի այն կտեղադրվի ինքնաբերաբար, դրա համար մի քանի պահ կպահանջվի:

Երբ այն ավարտվում է հուշման տիպով.

մթագնում

Այն կտա սխալի հաղորդագրություն և չի գործի, բայց դա նորմալ է: Հաղորդագրության մեջ այն կասի հետևյալը.

Օգտագործելով կազմաձևման ֆայլ ՝ /etc/darkice.cfg

Դուք պետք է խմբագրեք այդ ֆայլը, ուստի հուշման մեջ մուտքագրեք ՝

sudo nano /etc/darkice.cfg

Խմբագրեք բացվող ֆայլը ՝ օգտագործելով այս վիքիի տվյալները: Ռադիոհղում էջում, երբ ավարտեք, սեղմեք CTRL-X փակելու համար, Y- ը ՝ փրկելու համար և պետք է վերադառնաք Տերմինալի հուշմանը: Միշտ էլ լավ է նոր ծրագիր տեղադրելուց հետո վերագործարկվել, այնպես որ մուտքագրեք.

վերագործարկել

և երբ Pi- ն վերսկսվի, նորից բացեք տերմինալի պատուհանը: Այժմ, երբ մուտքագրում եք «Darkice», այն պետք է աշխատի առանց որևէ սխալի հաղորդագրության: Եթե գնում եք https:// YOURSERVERADDRESS: 8000/(8000 կամ որ պորտին է ձեր սառցաբեկորի սերվերը նշանակված), դուք պետք է ստանաք վիճակագրության էջ ՝ ասելով, որ միացված եք: Եթե ոչ, ապա շտկեք կազմաձևման ֆայլը (աուդիո մուտքագրման տողն ինձ որոշ խնդիրներ տվեց, բայց ես փորձեցի բոլոր տարբերակները և, ի վերջո, գտա իմ ձայնային քարտը): Երբ Darkice- ը ճիշտ է աշխատում, անցեք հաջորդ քայլին:

Քայլ 3: Հոսքի կոճակ և օդային նշան

Հոսքի կոճակ և օդային նշան
Հոսքի կոճակ և օդային նշան

Ես դրա համար մի քանի տարբեր ձեռնարկներ արեցի, քանի որ չկար հատուկ մեկը, որը կարող էր Python- ում կոճակին գործողություն նշանակել: Ամենամեծ խնդիրը, որին ես բախվեցի, այն էր, որ Darkice- ը աշխատի հետին պլանում (և, հետևաբար, չսառեցնի Python- ի սցենարը, երբ այն սկսի գործել), բայց ես խնդրեցի ծածկագրող ընկերոջը, որ գա և օգնի, և նա գտավ մի տարբերակ, որը դա անելու համար էր: մի ստացեք: Ըստ երևույթին, հնարավոր է նաև օգտագործել կոդում ինչ -որ տեղ «և», բայց ես կոդավորող չեմ, և այն, ինչ ունեմ, աշխատում է, ուստի ես որոշեցի չխառնվել դրա հետ: Երբ ես ամեն ինչ աշխատեցի, ես սկսեցի բոլոր մալուխները հանել տախտակից, մինչև որ ինձ մնաց հետևյալ կարգավորումը.

GPIO16 արտաքին 3 կետանոց միակցիչին:

GPIO7- ը LED զանգվածի դրական տերմինալին ON-Air նշանի համար:

GPIO25 դեպի սեղմման անջատիչ:

Սեղմման անջատիչի մյուս կողմը ամրացվում է 3 կետանոց միակցիչին:

LED զանգվածի բացասական տերմինալը կցվում է նաև 3 կետանոց միակցիչին:

(Դիագրամի մյուս բաղադրիչները բացատրվում են հաջորդ քայլին):

Python- ի սցենարը, որով մենք ավարտեցինք, հետևյալն է (խնդրում ենք նկատի ունենալ, որ սա հրահանգ է ամբողջ ծրագրի համար, ես իսկապես այնքան էլ չգիտեմ, որ կարող եմ բացատրել ծածկագիրը: Ես այն միացրել եմ տարբեր գործառույթների համար նախատեսված այլ ձեռնարկներից):

ներմուծման ժամանակ ներմուծում RPi. GPIO որպես GPIO GPIO.setwarnings (False) GPIO.setmode (GPIO. BOARD) ledPin = 12 buttonPin = 16 GPIO.setup (ledPin, GPIO. OUT) GPIO.setup (buttonPin, GPIO. IN, pull_up_down = GPIO. PUD_UP)

անջատում = Սխալ

def start_darkice ():

տպել («կանչում է ենթապրոցես») #result = subprocess.call ('sh screen -S darkice -d -m darkice') os.system ('screen -S darkice -d -m darkice') print ('resuming') def stop_darkice (): os.system ('screen -X -S darkice quit')

իսկ ճշմարիտ:

buttonState = GPIO.input (buttonPin), եթե buttonState ==:իշտ է, եթե ոչ միացնել: toggle = printշմարիտ տպագրություն ('մուգ գույնի միացում') start_darkice () #print ('BUTTON STATE TRUE') GPIO.output (ledPin, GPIO. HIGH)

այլ:

if toggle: toggle = Սխալ տպագրություն («խավարի դադարեցում») stop_darkice () #print («ԿՈUTՅԹԻ ՊԵՏԱԿԱՆ ԿԱALՈԹՅՈՆ») GPIO.output (ledPin, GPIO. LOW) time.sleep (1)

Py ֆայլը կցված է այս Instructible- ին, պարզապես կարող եք ներբեռնել այն և հետևել Քայլ 5 -ին, եթե ցանկանում եք:

Քայլ 4: Անվտանգ անջատման կոճակ և գործունեության LED

Անվտանգ անջատման կոճակ և գործունեության LED
Անվտանգ անջատման կոճակ և գործունեության LED

Պարզապես անվտանգության և Pi- ի կյանքը երկարացնելու համար ես ավելացրեցի անվտանգ անջատման կոճակ և արտաքին գործունեության LED, որպեսզի մարդիկ իմանան, թե երբ է անվտանգ տուփը վարդակից անջատելը: Այս երկուսի համար ես հեշտությամբ գտա ձեռնարկներ, բայց ես նկատեցի, որ Raspberry Pi 3 B+ - ում կա ACT LED նշանակված GPIO կապ, մինչդեռ նախկին մոդելները դա չունեն, և դա կարող է խնդրահարույց լինել, եթե ունեք ավելի հին Pi:

LED- ի դրական տերմինալը կցեք GPIO13- ին, իսկ բացասականը ՝ GPIO26- ին: Որպեսզի ACT LED- ն աշխատի, դուք պետք է խմբագրեք config.txt ֆայլը BOOT գրացուցակում: Դուք կարող եք դա գտնել Raspbian դիտարկիչում կամ ՝

sudo nano /usr/boot/config.txt

Երբ ֆայլը խմբագրում եք, պարզապես ավելացրեք հետևյալ տողերը.

# Օգտագործեք արտաքին LED- ն որպես SD ACT LED dtoverlay = pi3-act-led, gpio = 19

Այժմ արտաքին LED- ը թարթում է SD քարտի ակտիվությամբ:

Կցեք սեղմիչ անջատիչի տերմինալները GPIO3- ին և GPIO8- ին: Ես գտա հետևյալ ծածկագիրը ձեռնարկից և այն լավ է աշխատում.

ներմուծման ժամանակ gpiozero ներմուծման կոճակ ենթածրագրից ներմուծման check_call ազդանշանի ներմուծման դադարից

def անջատում ():

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

shutdown_btn = Կոճակ (2, պահման ժամանակ = 1)

shutdown_btn.when_held = անջատում

դադար ()

ժամանակ. քուն (1)

Այս py ֆայլը կցված է նաև ձեզ, եթե ցանկանում եք: Իմ կոճակը պետք է պահվի 1 վայրկյան, եթե ցանկանում եք փոխել այդ փոփոխությունը 'պահում-ժամանակ =' արժեքը:

Քայլ 5. Ստեղծեք Python- ի սցենարները Boot- ից

Կրկին, այս առարկայի վերաբերյալ շատ ձեռնարկներ կան, ես օգտագործեցի այս մեկը Dexter Industries- ից և հետևեցի առաջին քայլին ՝ խմբագրելով rc.local ֆայլը:

sudo nano /etc/rc.local

Այստեղ դուք պետք է ավելացնեք ամբողջական ֆայլի ուղին փաստաթղթի վերջում ՝ յուրաքանչյուր տողի վերջում նշելով «&»: Ֆայլերից յուրաքանչյուրի համար պետք է ավելացնել մեկ տող.

sudo python/home/pi/YOURFILENAME, py &

sudo python /home/pi/YOURFILENAME2.py &

գծից անմիջապես առաջ

ելք 0

&Րագրի օղակները ապահովելու համար յուրաքանչյուր տողի վերջում '&' - ն կարևոր է:

Քայլ 6: Կառուցեք արկղը

Կառուցեք արկղը
Կառուցեք արկղը
Կառուցեք արկղը
Կառուցեք արկղը
Կառուցեք արկղը
Կառուցեք արկղը

Սա լիովին կախված է ձեզանից: Այն իսկապես պետք է լինի Pi- ի չափ, բայց ես կոմպրեսոր դրեցի իմ տեղադրման մեջ, որպեսզի ռադիոհաղորդումը բավականին հետևողական մակարդակի վրա պահեմ, որպեսզի տուփը մի փոքր ավելի մեծ լինի: Իմը առջևում ունի անցք On-Air նշանի համար և մեկը ՝ Մեծ կարմիր կոճակի համար, գումարած, որ ես դիջեյների համար պատրաստեցի մի փոքրիկ ցուցիչ և այն դրեցի կոճակի տակ: Տուփի կողքին կա սեղմիչ կոճակի, ACT LED- ի և աուդիո մուտքի համար անցք, ինչպես նաև բարերի անձնակազմի համար ներկառուցված հրահանգներ, թե ինչպես ապահով կերպով փակել տուփը:

Քայլ 7: Տեղադրում

Տեղադրում
Տեղադրում
Տեղադրում
Տեղադրում
Տեղադրում
Տեղադրում
Տեղադրում
Տեղադրում

Ամրագրեք բոլոր առանձին բաղադրիչները ձեր տուփի մեջ ՝ նկատի ունենալով, որ միշտ լավ է թույլ տալ, որ Pi- ի շուրջ օդի շրջանառությունը կանխի գերտաքացումը: Կցեք աուդիո մալուխները ձեր խառնիչից, սեղմեք կոճակը և վայելեք հեռարձակումը:

Խորհուրդ ենք տալիս: