Kazalo:
- 1. korak: Nastavite strežnik
- 2. korak: Nastavite Pi in namestite Darkice
- 3. korak: Gumb za predvajanje in znak v zraku
- 4. korak: Gumb za varen izklop in LED za dejavnost
- 5. korak: Zaženite skripte Python iz zagona
- 6. korak: Zgradite škatlo
- 7. korak: Namestitev
Video: Radio pretočni okvir z enim gumbom: 7 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Zgradil sem škatlo za bar svojega prijatelja, ki ima v sebi Raspberry Pi in s pritiskom na en gumb pretaka zvok na spletno mesto z uporabo Darkice in Icecast, hkrati pa prižge znak "On-Air". Mislil sem, da je to nekaj, kar ljudje že počnejo, vendar po obsežnem iskanju nisem našel ničesar in se odločil, da bom sam ugotovil in naredil ta Instructable.
Uporabil sem Raspberry Pi 3+ B, vendar kolikor vem, bi deloval na katerem koli Pi (morda se bodo številke pin GPIO razlikovale, čeprav tega ne morem potrditi). Za OS sem uporabil paket NOOBS in za vhod kupil super preprosto zvočno kartico. V škatlo sem dodal tudi gumb za varen izklop in LED za aktivnost za zaščito Pi.
Boste potrebovali:
Malina Pi
Paket NOOBS na kartici SD
Stikalo za vklop/izklop (uporabil sem velik rdeč gumb za zaustavitev v sili, kot je ta, lahko pa je tudi kakršno koli stikalo »klik«)
Pritisni gumb
1 LED
Znak "On-Air" sem naredil sam z LED nizom
Spajkalnik in majhna priključna plošča (enemu sem le odrezal trak, ki sem ga imel okoli)
Zvočna kartica (uporabil sem tako preprosto)
1. korak: Nastavite strežnik
Za dejansko radijsko postajo, ki jo uporabljamo, tega dela nisem naredil, ker nisem imel dostopa do strežnika in to je storil moj prijatelj, vendar na spletnem mestu Icecast obstaja osnovni vodič za nastavitev in uspelo mi je od Pi -ja na začetku deluje samo zato, da bi videl, kako gre. Druga možnost je, da dobite račun na internet-radio.com in deluje z Darkice.
2. korak: Nastavite Pi in namestite Darkice
Pridobite kartico SD s paketom NOOBS. Ko odprete Raspbian in namestite vse posodobitve, odprite okno terminala in vnesite:
sudo apt-get posodobitev
sudo apt-get install darkice
Darkice je del Debiana, zato se bo samodejno namestil, traja nekaj trenutkov.
Ko končate, vnesite poziv:
darkice
Sporočil bo sporočilo o napaki in se ne bo zagnal, vendar je to v redu. V sporočilu bo zapisano nekaj takega:
Z uporabo konfiguracijske datoteke: /etc/darkice.cfg
To datoteko morate urediti, zato pri pozivu vnesite:
sudo nano /etc/darkice.cfg
Uredite datoteko, ki se odpre z informacijami na tem wiki-ju. Ko je končana, pritisnite CTRL-X, da zaprete, Y, da shranite, in se vrnite na poziv terminala. Po namestitvi novega programa je vedno dobro znova zagnati, zato vnesite:
znova zaženite
in ko se Pi znova zažene, znova odprite terminalsko okno. Zdaj, ko vnesete 'Darkice', bi morala delovati brez sporočil o napakah. Če greste na https:// YOURSERVERADDRESS: 8000/(8000 ali katero koli vrata, ki jim je dodeljen vaš strežnik icecast), bi morali dobiti statistično stran, ki pravi, da ste povezani. Če ne, prilagodite konfiguracijsko datoteko (vhodna vrstica za zvok mi je povzročila nekaj težav, vendar sem preizkusil vse možnosti in na koncu našel svojo zvočno kartico). Ko Darkice pravilno teče, pojdite na naslednji korak.
3. korak: Gumb za predvajanje in znak v zraku
Za to sem naredil kup različnih vadnic, saj ni bilo nobene posebne za dodelitev dejanja gumbu v Pythonu. Največja težava, s katero sem se soočal, je bila ta, da je Darkice tekel v ozadju (in s tem ne zamrznil skripta Python, ko se je začel izvajati), vendar sem prosil prijatelja koderja, naj pride in mi pomaga, on pa je ugotovil, kako to narediti, da napišem liste, kar sem ne dobi. Očitno bi bilo to mogoče tudi z uporabo '&' nekje v kodi, vendar nisem koder in to, kar imam, deluje, zato sem se odločil, da se s tem ne zapletam. Ko sem naredil vse, sem začel odstranjevati vse kable z mize, dokler nisem imel naslednje nastavitve:
GPIO16 na zunanji 3-točkovni priključek.
GPIO7 na pozitivni priključek matrike LED za znak ON-Air.
GPIO25 na stikalo s klikom.
Druga stran stikalnega stikala je pritrjena na 3-točkovni priključek.
Negativni priključek matrike LED je pritrjen tudi na 3-točkovni konektor.
(Druge komponente na diagramu so razložene v naslednjem koraku).
Skript Python, s katerim smo končali, je naslednji (upoštevajte, da je to Instructable za celoten projekt, res ne vem dovolj, da bi razložil kodo. Sestavil sem jo iz različnih drugih vadnic za različne funkcije):
čas uvozaimport os uvoz RPi. GPIO kot GPIO GPIO.opozorila (napačno) način GPIO.set (GPIO. BOARD) ledPin = 12 buttonPin = 16 GPIO.setup (ledPin, GPIO. OUT) GPIO.setup (buttonPin, GPIO. IN, pull_up_down = GPIO. PUD_UP)
toggle = False
def start_darkice ():
print ('kliče podproces') #result = subprocess.call ('sh screen -S darkice -d -m darkice') os.system ('screen -S darkice -d -m darkice') print ('nadaljevanje') def stop_darkice (): os.system ('screen -X -S darkice quit')
medtem ko je res:
buttonState = GPIO.input (buttonPin) if buttonState == True: če ne preklopite: toggle = True print ('vklop darkice') start_darkice () #print ('BUTTON STATE TRUE') GPIO.output (ledPin, GPIO. HIGH)
drugače:
if toggle: toggle = False print ('stopping darkice') stop_darkice () #print ('BUTTON STATE FALSE') GPIO.output (ledPin, GPIO. LOW) time.sleep (1)
Datoteka py je priložena temu navodilu, lahko jo preprosto prenesete in po želji sledite 5. koraku.
4. korak: Gumb za varen izklop in LED za dejavnost
Zaradi varnosti in podaljšanja življenjske dobe Pi sem dodal gumb za varen izklop in LED za zunanjo dejavnost, da ljudje vedo, kdaj je varno odklopiti škatlo. Z lahkoto sem našel vaje za oba, vendar sem opazil, da ima Raspberry Pi 3 B+ LED ACT LED, dodeljen pin GPIO, medtem ko starejši modeli tega nimajo, kar bi lahko bilo problematično, če imate starejši Pi.
Pozitivni priključek LED pritrdite na GPIO13, negativni pa na GPIO26. Če želite LED ACT delovati, morate urediti datoteko config.txt v imeniku BOOT. To lahko najdete v brskalniku Raspbian ali z:
sudo nano /usr/boot/config.txt
Ko urejate datoteko, preprosto dodajte naslednje vrstice:
# Uporabite zunanjo LED kot SD ACT LED dtoverlay = pi3-act-led, gpio = 19
Zdaj bo zunanja LED utripala z aktivnostjo kartice SD.
Sponke potisnega stikala pritrdite na GPIO3 in GPIO8. Naslednjo kodo sem našel v vadnici in dobro deluje:
čas uvoza iz gpiozero gumb za uvoz iz podprocesa uvoz check_call iz premora za uvoz signala
def shutdown ():
check_call (['sudo', 'poweroff'])
shutdown_btn = Gumb (2, hold_time = 1)
shutdown_btn.when_held = zaustavitev
pavza()
time.sleep (1)
Ta datoteka py je priložena tudi, če jo želite prenesti. Moj gumb morate držati 1 sekundo, če želite to spremeniti, spremenite vrednost 'hold-time ='.
5. korak: Zaženite skripte Python iz zagona
Spet je na to temo veliko vaj, uporabil sem to iz Dexter Industries in sledil prvemu koraku z urejanjem datoteke rc.local.
sudo nano /etc/rc.local
Tukaj morate na konec dokumenta dodati celotno pot do datoteke, skupaj z '&' na koncu vsake vrstice. Za vsako datoteko morate dodati eno vrstico:
sudo python/home/pi/YOURFILENAME, py &
sudo python /home/pi/YOURFILENAME2.py &
tik pred črto
izhod 0
Znaki '&' na koncu vsake vrstice so pomembni za zagotovitev programskih zank.
6. korak: Zgradite škatlo
To je v celoti odvisno od vas. Resnično mora biti le velikost Pi, vendar sem v svojo nastavitev vstavil kompresor, da je radijski tok na precej dosledni ravni, tako da je škatla nekoliko večja. Moj ima na sprednji strani luknjo za oznako On-Air in eno za Big Red Button, poleg tega sem naredil majhno kartico z navodili za DJ-e in jo vstavil pod gumb. Na strani škatle je luknja za potisni gumb, LED ACT in avdio vhod ter vložena navodila za osebje v baru, kako varno zapreti škatlo.
7. korak: Namestitev
Vse ločene komponente pritrdite v škatlo, pri čemer upoštevajte, da je vedno dobro omogočiti kroženje zraka okoli Pi, da preprečite pregrevanje. Priključite zvočne kable iz mešalnika, pritisnite gumb in uživajte v oddajanju!
Priporočena:
Zaklepanje vzmetenja z enim gumbom: 3 koraki
Zaklepanje vzmetenja z enim gumbom: gorska kolesa s polnim vzmetenjem zagotavljajo gladko vožnjo, vendar pogosto zahtevajo blokiranje vzmetenja pri pedaliranju navkreber. V nasprotnem primeru se vzmetenje stisne, ko stojite na pedalih in zapravljate ta trud. Proizvajalci koles to vedo in zagotavljajo
Vadnica za MIDI krmilnik z enim gumbom: 6 korakov
Vadnica za krmilnik MIDI za krmiljenje z enim gumbom: Obstaja veliko vadnic za krmilnike Arduino-MIDI, to je preprost opis, kako se premikati s preprostim gumbom in potenciometrom. Rada bi naletela na kaj takega, ko sem šele začela
USB tipkovnica z enim gumbom RGB: 6 korakov (s slikami)
USB tipkovnica z enim gumbom RGB: Ste kdaj čutili potrebo po majhni, a funkcionalni tipkovnici z osvetljenim ozadjem RGB, ki ni večja od velikosti ene same tipke? Ne? Koga briga, si ga vseeno naredite! Ta navodila vas bodo vodila skozi korake, ki jih potrebujete, da naredite svoje, rahlo neuporabno, na
Obvladajte svoj Micro: bit z gumbom Arduino IDE-gumbom in drugim GPIO: 3 koraki (s slikami)
Obvladajte svoj Micro: bit z gumbom Arduino IDE in drugim GPIO: V prejšnjem blogu Obvladajte svoj mikro: bit z Arduino IDE - - Light LED smo govorili o tem, kako namestiti knjižnico micro: bit v Arduino IDE in kako za pogon LED na micro: bit z Arduino IDE. V tem članku vam bomo povedali h
Presadite svoje klasične miške Mac miške z enim gumbom: 5 korakov
Presadite svoje klasične mišje mačje mišje klasične tipke z enim gumbom: ste naveličani neumnih novih miš? ste naveličani vaših klasičnih mišk z enim gumbom, mac mouses, pomanjkanje … česa drugega kot enega gumba? slabo vam pokažem, kako presaditi notranjost najcenejše miške dobre volje v vašo miško mac, da ustvarite popolno ravnovesje med slogom