Sadržaj:

Radio streaming kutija s jednim gumbom: 7 koraka (sa slikama)
Radio streaming kutija s jednim gumbom: 7 koraka (sa slikama)

Video: Radio streaming kutija s jednim gumbom: 7 koraka (sa slikama)

Video: Radio streaming kutija s jednim gumbom: 7 koraka (sa slikama)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Lipanj
Anonim
Radio Streaming Box s jednim gumbom
Radio Streaming Box s jednim gumbom

Napravio sam kutiju za bar svog prijatelja koja ima Raspberry Pi unutra i pritiskom na jednu tipku struji zvuk na web stranicu koristeći Darkice i Icecast, dok istovremeno pali natpis 'On-Air'. Mislio sam da je to nešto što ljudi već rade, ali nakon opsežnog pretraživanja nisam pronašao ništa i odlučio sam to shvatiti i napraviti ovaj Instructable.

Koristio sam Raspberry Pi 3+ B, ali koliko mogu reći, radio bi na bilo kojem Pi (možda bi se GPIO brojevi pinova razlikovali, ali to ne mogu potvrditi). Koristio sam paket NOOBS za OS i kupio super jednostavnu zvučnu karticu za ulaz. Također sam dodao okvir za sigurno isključivanje i LED diodu za aktivnost radi zaštite Pi.

Trebat će vam:

Malina Pi

NOOBS paket na SD kartici

Prekidač za uključivanje/isključivanje (koristio sam veliki crveni gumb za hitno zaustavljanje poput ovoga, ali to može biti bilo koji prekidač za "klik")

Pritisnite gumb

1 LED

Znak 'On-Air', napravio sam svoj sa LED nizom

Lemilica i mala ploča za povezivanje (samo sam odrezao traku s jedne od ovih koje sam imao oko sebe)

Zvučna kartica (koristio sam super-jednostavnu poput ove)

Korak 1: Postavite svoj poslužitelj

Za stvarnu radijsku postaju koju koristimo nisam napravio ovaj dio jer nisam imao pristup poslužitelju, a to je učinio moj prijatelj, ali postoji osnovni vodič za postavljanje na web stranici Icecast i uspio sam nabaviti radi od Pi na početku samo da vidim kako ide. Alternativno, možete dobiti račun na internet-radio.com i radi s Darkice.

Korak 2: Postavite Pi i instalirajte Darkice

Nabavite SD karticu s paketom NOOBS. Nakon što otvorite Raspbian i instalirate sva ažuriranja, otvorite prozor Terminala i upišite:

sudo apt-get ažuriranje

sudo apt-get install darkice

Darkice je dio Debiana pa će se instalirati automatski, potrebno je nekoliko trenutaka.

Nakon što završite, unesite upit:

darkice

Dati će poruku o pogrešci i neće se pokrenuti, ali to je u redu. U poruci će reći nešto poput:

Korištenje konfiguracijske datoteke: /etc/darkice.cfg

Morate urediti tu datoteku pa na upit unesite:

sudo nano /etc/darkice.cfg

Uredite datoteku koja se otvara pomoću informacija na ovoj stranici wiki. Radioreferencije, kada završite pritisnite CTRL-X za zatvaranje, Y za spremanje i trebali biste se vratiti na termin Terminal. Uvijek je dobro ponovno pokrenuti sustav nakon instaliranja novog programa pa upišite:

ponovno podizanje sustava

a kad se Pi ponovno pokrene, ponovno otvorite prozor terminala. Sada kad upišete 'Darkice', ona bi se trebala pokrenuti bez poruka o pogrešci. Ako idete na https:// YOURSERVERADDRESS: 8000/(8000 ili na bilo koji port kojem je dodijeljen vaš icecast poslužitelj), trebali biste dobiti stranicu sa statistikom koja kaže da ste povezani. Ako ne, prilagodite konfiguracijsku datoteku (linija za audio unos zadala mi je neke probleme, ali isprobala sam sve opcije i na kraju pronašla zvučnu karticu). Nakon što se Darkice pravilno pokrene, prijeđite na sljedeći korak.

Korak 3: Gumb za prijenos i znak u eteru

Gumb za prijenos i znak u eteru
Gumb za prijenos i znak u eteru

Napravio sam hrpu različitih vodiča za to jer nije bilo posebnog za dodjeljivanje radnje gumbu u Pythonu. Najveći problem s kojim sam se suočio bio je natjerati Darkice da radi u pozadini (i na taj način ne zamrzne Python skriptu kada se pokrenula), ali zamolio sam prijatelja kodera da dođe i pomogne, a on je smislio način kako to učiniti napisavši listove, nešto što nemoj dobiti. Očigledno bi to također moglo biti moguće pomoću '&' negdje u kodu, ali ja nisam koder i ono što imam radi pa sam odlučio ne petljati se s tim. Kad sam sve obavio, počeo sam uklanjati sve kabele s matične ploče dok mi nije preostalo sljedeće postavljanje:

GPIO16 na vanjski priključak s 3 točke.

GPIO7 na pozitivni terminal LED polja za znak ON-Air.

GPIO25 na klik-prekidač.

Druga strana klika-prekidača pričvršćuje se na priključak s 3 točke.

Negativni terminal LED polja također se spaja na konektor s 3 točke.

(Ostale komponente na dijagramu objašnjene su u sljedećem koraku).

Python skripta s kojom smo završili je sljedeća (imajte na umu da je ovo Instructable za cijeli projekt, ne znam dovoljno da objasnim kôd. Sastavio sam ga iz raznih drugih vodiča za različite funkcije):

vrijeme uvozaimport os uvoz RPi. GPIO kao GPIO GPIO.upozorenja (Netačno) GPIO.setmode (GPIO. BOARD) ledPin = 12 buttonPin = 16 GPIO.setup (ledPin, GPIO. OUT) GPIO.setup (buttonPin, GPIO. IN, pull_up_down = GPIO. PUD_UP)

toggle = Netačno

def start_darkice ():

print ('pozivanje podprocesa') #result = subprocess.call ('sh screen -S darkice -d -m darkice') os.system ('screen -S darkice -d -m darkice') print ('nastavljanje') def stop_darkice (): os.system ('screen -X -S darkice quit')

dok je istina:

buttonState = GPIO.input (buttonPin) if buttonState == True: if not toggle: toggle = True print ('uključivanje darkice') start_darkice () #print ('BUTTON STATE TRUE') GPIO.output (ledPin, GPIO. HIGH)

drugo:

if toggle: toggle = Netačan ispis ('zaustavljanje darkice') stop_darkice () #print ('BUTTON STATE FALSE') GPIO.output (ledPin, GPIO. LOW) time.sleep (1)

Py datoteka je priložena ovom uputstvu, možete je jednostavno preuzeti i slijediti korak 5 ako želite.

Korak 4: Gumb za sigurno isključivanje i LED lampica aktivnosti

Gumb za sigurno isključivanje i LED aktivnosti
Gumb za sigurno isključivanje i LED aktivnosti

Samo radi sigurnosti i kako bih produljio život Pi, dodao sam gumb za sigurno isključivanje i LED za vanjsku aktivnost kako bi ljudi znali kada je sigurno isključiti kutiju. Lako sam pronašao vodiče za oboje, ali primijetio sam da Raspberry Pi 3 B+ ima ACT LED dodijeljen GPIO pin dok stariji modeli nemaju te bi moglo biti problematično ako imate stariji Pi.

Priključite pozitivni terminal LED diode na GPIO13, a negativni na GPIO26. Da bi LED ACT radio, morate urediti datoteku config.txt u direktoriju BOOT. Ovo možete pronaći u pregledniku Raspbian ili sa:

sudo nano /usr/boot/config.txt

Prilikom uređivanja datoteke jednostavno dodajte sljedeće retke:

# Koristite vanjsku LED kao SD ACT LED dtoverlay = pi3-act-led, gpio = 19

Sada će vanjska LED lampica treperiti s aktivnošću SD kartice.

Priključite stezaljke prekidača na GPIO3 i GPIO8. Pronašao sam sljedeći kod iz vodiča i radi dobro:

import timefrom gpiozero gumb za uvoz iz potprocesa import check_call iz pauze uvoza signala

def shutdown ():

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

shutdown_btn = Gumb (2, vrijeme zadržavanja = 1)

shutdown_btn.when_held = isključivanje

pauza()

vrijeme.spavanje (1)

Ova py datoteka je također priložena za preuzimanje ako želite. Moj gumb treba držati 1 sekundu, ako želite promijeniti tu vrijednost "hold-time =" vrijednost.

Korak 5: Omogućite da se Python skripte pokreću iz sustava Boot

Opet, postoji mnogo vodiča na tu temu, koristio sam ovaj iz Dexter Industries i slijedio prvi korak uređivanjem datoteke rc.local.

sudo nano /etc/rc.local

Ovdje morate dodati potpunu putanju datoteke na kraj dokumenta, zajedno sa znakom '&' na kraju svakog retka. Za svaku datoteku trebate dodati jedan redak:

sudo python/home/pi/YOURFILENAME, py &

sudo python /home/pi/YOURFILENAME2.py &

neposredno prije linije

izlaz 0

Znakovi '&' na kraju svakog retka važni su kako bi se osigurale programske petlje.

Korak 6: Izgradite kutiju

Napravi kutiju
Napravi kutiju
Napravi kutiju
Napravi kutiju
Napravi kutiju
Napravi kutiju

Ovo u potpunosti ovisi o vama. Doista treba biti samo veličine Pi, ali u postavu sam stavio kompresor kako bi radijski tok bio na prilično konzistentnoj razini pa je kutija malo veća. Moj ima rupu na prednjoj strani za natpis On-Air i jednu za veliko crveno dugme, plus napravio sam malu karticu s uputama za DJ-eve i umetnuo je ispod gumba. Na bočnoj strani kutije nalazi se rupa za gumb, ACT LED i audio ulaz, plus umetnute upute za osoblje bara o tome kako sigurno zatvoriti kutiju.

Korak 7: Instalacija

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Učvrstite sve zasebne komponente u svoju kutiju, imajući na umu da je uvijek dobro omogućiti cirkulaciju zraka oko Pi kako bi se spriječilo pregrijavanje. Priključite audio kabele s miksera, pritisnite gumb i uživajte u emitiranju!

Preporučeni: