Sadržaj:

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

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

Video: Radio prijenosna kutija s jednim gumbom: 7 koraka (sa slikama)
Video: Strašno! Sestra od Uki q brutalno pretučena od strane svog muža 2024, Novembar
Anonim
Radio Streaming Box sa jednim dugmetom
Radio Streaming Box sa jednim dugmetom

Napravio sam kutiju za bar mog prijatelja koja ima Raspberry Pi unutra i pritiskom na jedno dugme 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 naš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. U kutiju sam dodao i dugme za sigurno isključivanje i LED diodu za zaštitu Pi.

Trebat će vam:

Raspberry Pi

NOOBS paket na SD kartici

Prekidač za uključivanje/isključivanje (koristio sam ovakvo veliko crveno dugme za hitno zaustavljanje, ali to može biti bilo koji prekidač za klik)

Pritisnite dugme

1 LED

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

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

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

Korak 1: Postavite svoj server

Za stvarnu radio stanicu koju koristimo nisam radio ovaj dio jer nisam imao pristup serveru, a to je uradio moj prijatelj, ali na web stranici Icecast postoji osnovni vodič za postavljanje i uspio sam nabaviti radi od Pi na početku samo da vidi kako ide. Alternativno, možete dobiti račun na internet-radio.com i radi sa 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 update

sudo apt-get install darkice

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

Kada se završi, na upit unesite:

darkice

On će poslati poruku o greš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 pri upitu upišite:

sudo nano /etc/darkice.cfg

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

reboot

i kada se Pi ponovo pokrene, ponovo otvorite prozor terminala. Sada kada upišete 'Darkice', ona bi se trebala pokrenuti bez poruka o grešci. Ako idete na https:// YOURSERVERADDRESS: 8000/(8000 ili na bilo koji port kojem je dodijeljen vaš icecast server), 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: Dugme za prijenos i znak u eteru

Dugme za prijenos i znak u eteru
Dugme za prijenos i znak u eteru

Napravio sam hrpu različitih tutorijala za ovo 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 zamrzava 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 shvatiti. 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 kablove s matične ploče sve dok nisam ostao sa sljedećim postavkama:

GPIO16 na vanjski konektor s 3 točke.

GPIO7 do pozitivnog terminala LED polja za znak ON-Air.

GPIO25 na klik-prekidač.

Druga strana klika-prekidača pričvršćuje se na konektor sa 3 tačke.

Negativni priključak LED polja također se priključuje 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):

uvoz vremeimport os uvoz RPi. GPIO kao 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)

toggle = Netačno

def start_darkice ():

print ('pozivanje potprocesa') #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 True:

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 = False print ('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 samo preuzeti i slijediti korak 5 ako želite.

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

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

Samo radi sigurnosti i produženja vijeka Pi -a, 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 i to 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

Kada uređujete datoteku, jednostavno dodajte sljedeće redove:

# 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 odlično:

import timefrom gpiozero import Dugme iz potprocesa import check_call iz pauze uvoza signala

def shutdown ():

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

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

shutdown_btn.when_held = isključivanje

pauza ()

time.sleep (1)

Ova py datoteka je također priložena za preuzimanje ako želite. Moje dugme mora se držati 1 sekundu, ako želite promijeniti tu vrijednost 'hold-time =' vrijednost.

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

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

sudo nano /etc/rc.local

Ovdje morate dodati kompletnu 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 reda

izlaz 0

Znakovi '&' na kraju svakog retka važni su za osiguravanje petlji programa.

Korak 6: Izgradite kutiju

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

Ovo u potpunosti ovisi o vama. Zaista samo treba biti veličine Pi, ali u postavku sam stavio kompresor kako bi radio tok bio na prilično konzistentnoj razini tako da 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 dugmeta. Na bočnoj strani kutije nalazi se rupa za dugme, ACT LED i audio ulaz, plus umetnuta uputstva za osoblje bara o tome kako sigurno isključiti kutiju.

Korak 7: Instalacija

Instalacija
Instalacija
Instalacija
Instalacija
Instalacija
Instalacija
Instalacija
Instalacija

Učvrstite sve zasebne komponente u 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čuje se: