Sadržaj:
- Korak 1: Postavite svoj server
- Korak 2: Postavite Pi i instalirajte Darkice
- Korak 3: Dugme za prijenos i znak u eteru
- Korak 4: Dugme za sigurno isključivanje i LED lampica aktivnosti
- Korak 5: Omogućite da se Python skripte pokreću iz pokretanja
- Korak 6: Izgradite kutiju
- Korak 7: Instalacija
Video: Radio prijenosna kutija s jednim gumbom: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
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
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
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
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
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:
Zaključavanje servo suspenzije jednim gumbom: 3 koraka
Servo suspenzija ovjesa s jednim gumbom: Brzinski bicikli s potpunim ovjesom omogućuju glatku vožnju, ali često zahtijevaju zaključavanje ovjesa pri pedaliranju uzbrdo. U suprotnom, ovjes se komprimira dok stojite na pedalama, trošeći taj trud. Proizvođači bicikla to znaju i pružaju
Prijenosna kutija za napajanje: 4 koraka (sa slikama)
Prijenosna kutija za napajanje: Imala sam okolo nekoliko dodatnih dijelova koji su trebali svrhu i na sreću su se uklopili zajedno, kao i da sam ih kupila u tu svrhu. Ta je svrha pružiti korisnu količinu energije pretvaraču u kompaktnom prijenosnom pakiranju
Prijenosna MP3 AUX muzička kutija: 23 koraka (sa slikama)
Prijenosni MP3 AUX Music Box: Ova analiza procesa prikazuje kako izgraditi MP3 player s Arduino Nano, datoteke su 16-bitni MP3 i rade za razliku od tradicionalnih Arduino glazbenih playera koji su ograničeni na 8-bitni WAV.Drugi dio ovog vodiča demonstrira stvaranje laserskog c
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, RGB tastaturom sa pozadinskim osvjetljenjem, ne većom od veličine jednog ključa? Ne? Koga briga, neka ipak napravi jedan! Ova instrukcija će vas provesti kroz korake koje trebate učiniti da napravite vlastitu, pomalo beskorisnu, na
Prijenosna kutija za zvučnike - Skyflakes Edition: 10 koraka
Prijenosna kutija za zvučnike - Skyflakes Edition: Napravite pasivan, ali moćan prijenosni zvučnik! Trebat će vam: staro pojačalo za gitaru/bas, 3,5- 3,5 mm muški i muški kabel, mp3 player (preporučuje se Zen- glasan je!), Kutija Skyflakes ili neka vrsta kućišta u koje će se smjestiti vaš alat za stezanje zvučnika