Sadržaj:
- Korak 1: Postavite svoj poslužitelj
- Korak 2: Postavite Pi i instalirajte Darkice
- Korak 3: Gumb za prijenos i znak u eteru
- Korak 4: Gumb za sigurno isključivanje i LED lampica aktivnosti
- Korak 5: Omogućite da se Python skripte pokreću iz sustava Boot
- Korak 6: Izgradite kutiju
- Korak 7: Instalacija
Video: Radio streaming kutija s jednim gumbom: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
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
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
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
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
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:
Zaključavanje servo ovjesa s jednim gumbom: 3 koraka
Zaključavanje ovjesa s jednim gumbom servo: Brdski bicikli s potpunim ovjesom omogućuju glatku vožnju, ali često zahtijevaju zaključavanje ovjesa pri pedaliranju uzbrdo. Inače, ovjes se sabija dok stojite na pedalama, trošeći taj trud. Proizvođači bicikla to znaju i pružaju
Ubrizgavanje tipkovnice/automatsko upisivanje lozinke jednim klikom!: 4 koraka (sa slikama)
Ubrizgavanje tipkovnice/automatsko unošenje lozinke jednim klikom !: Lozinke su teške … a sjećanje na sigurnu još je teže! Povrh toga, ako imate sa sobom zamršenu lozinku, bit će potrebno vrijeme za upisivanje.Ali ne bojte se prijatelji, imam rješenje za ovo! Napravio sam mali stroj za automatsko tipkanje koji će
RGB USB tipkovnica s jednim gumbom: 6 koraka (sa slikama)
RGB USB tipkovnica s jednim gumbom: Jeste li ikada osjetili potrebu za malom, ali funkcionalnom tipkovnicom s RGB pozadinskim osvjetljenjem, ne većom od veličine jedne tipke? Ne? Koga briga, neka ipak napravi jedan! Ova instrukcija će vas provesti kroz korake koje trebate učiniti da napravite vlastitu, pomalo beskorisnu, na
Prebacivanje 3 grupe LED dioda s jednim prekidačem i Visuinom: 9 koraka (sa slikama)
Prebacivanje 3 banke LED dioda s jednim prekidačem i Visuinom: Ovaj je projekt proizašao iz eksperimenta koji sam želio isprobati, želio sam vidjeti koliko je UV svjetla potrebno da vidim razne dijelove novčanica u dolarima i sigurnosne provjere. Imao sam veliku eksploziju u izgradnji ovoga i htio sam ovdje podijeliti ove upute
Presadite svoje klasične Mac miš miša s jednim gumbom: 5 koraka
Presadite svoje klasične Mac miš miša s jednim gumbom: dosadilo vam je od novih glupih miševa? umorni ste od svojih klasičnih Mac tipkovnica s jednim gumbom, nedostatka … svega osim jednog gumba? loše će vam pokazati kako presaditi nutrinu jeftinog miša dobre volje u vaš Mac miš kako biste postigli savršenu ravnotežu stila