Obsah:

Box na streamovanie rádia jedným tlačidlom: 7 krokov (s obrázkami)
Box na streamovanie rádia jedným tlačidlom: 7 krokov (s obrázkami)

Video: Box na streamovanie rádia jedným tlačidlom: 7 krokov (s obrázkami)

Video: Box na streamovanie rádia jedným tlačidlom: 7 krokov (s obrázkami)
Video: 8 инструментов в Excel, которыми каждый должен уметь пользоваться 2024, Jún
Anonim
Rádio Streaming Box s jedným tlačidlom
Rádio Streaming Box s jedným tlačidlom

Postavil som box pre bar svojho priateľa, ktorý má vo vnútri Raspberry Pi a stlačením jedného tlačidla streamuje zvuk na webové stránky pomocou Darkice a Icecast a súčasne rozsvieti nápis „On-Air“. Myslel som si, že je to niečo, čo ľudia už robia, ale po rozsiahlom hľadaní som nič nenašiel a rozhodol som sa, že na to prídem sám a vytvorím tento návod.

Použil som Raspberry Pi 3+ B, ale pokiaľ viem, bude fungovať na akomkoľvek Pi (možno sa budú líšiť čísla pinov GPIO, čo však nemôžem potvrdiť). Použil som balík NOOBS pre OS a kúpil som si pre vstup super jednoduchú zvukovú kartu. Do krabice som tiež pridal tlačidlo bezpečného vypnutia a kontrolku aktivity na ochranu Pi.

Budete potrebovať:

Malinový koláč

Balíček NOOBS na SD karte

Vypínač (Použil som veľké červené tlačidlo núdzového zastavenia, ako je toto, ale môže to byť akýkoľvek druh prepínača „kliknutia“)

Tlačidlo

1 LED dióda

Znak „On-Air“som vyrobil pomocou diódy LED

Spájkovačka a malá doska konektorov (práve som odrezal pásik z jedného z nich, ktorý som mal okolo)

Zvuková karta (použil som super jednoduchú, ako je táto)

Krok 1: Nastavte svoj server

Pokiaľ ide o skutočnú rozhlasovú stanicu, ktorú používame, túto časť som neurobil, pretože som nemal prístup na server a urobil to môj priateľ, ale na webovej stránke Icecast je základný sprievodca nastavením a podarilo sa mi získať na začiatku to funguje od Pi, aby ste videli, ako to pokračuje. Prípadne môžete získať účet na internet-radio.com a funguje to s Darkice.

Krok 2: Nastavte Pi a nainštalujte Darkice

Získajte kartu SD s balíkom NOOBS. Keď otvoríte Raspbian a nainštalujete všetky aktualizácie, otvorte okno Terminál a zadajte:

sudo apt-get aktualizácia

sudo apt-get install darkice

Darkice je súčasťou Debianu, takže sa nainštaluje automaticky, chvíľu to trvá.

Po dokončení na výzvu zadajte:

darkice

Zobrazí sa chybové hlásenie a nespustí sa, ale je to v poriadku. V správe bude uvedené niečo ako:

Použitie konfiguračného súboru: /etc/darkice.cfg

Tento súbor musíte upraviť, takže na výzvu zadajte:

sudo nano /etc/darkice.cfg

Upravte súbor, ktorý sa otvára, pomocou informácií na tejto wiki. Radioreferenčná stránka, keď skončíte, stlačením klávesov CTRL-X zatvorte, Y uložte a mali by ste sa vrátiť na výzvu Terminál. Po inštalácii nového programu je vždy dobré reštartovať počítač, takže zadajte:

reštartovať

a keď sa Pi reštartuje, znova otvorte okno Terminál. Teraz, keď zadáte „Darkice“, malo by sa spustiť bez akýchkoľvek chybových hlásení. Ak prejdete na stránku https:// YOURSERVERADDRESS: 8000/(8000 alebo na ľubovoľný port, ku ktorému je priradený server Icecast), mali by ste dostať stránku so štatistikami, že ste pripojení. Ak nie, upravte konfiguračný súbor (vstupný zvukový riadok mi spôsoboval problémy, ale vyskúšal som všetky možnosti a nakoniec som našiel zvukovú kartu). Akonáhle Darkice beží správne, prejdite na ďalší krok.

Krok 3: Tlačidlo streamovania a nápis On-Air

Tlačidlo streamovania a nápis On-Air
Tlačidlo streamovania a nápis On-Air

Na to som urobil veľa rôznych návodov, pretože neexistoval žiadny konkrétny na priradenie akcie tlačidlu v Pythone. Najväčším problémom, s ktorým som sa stretol, bolo prinútiť Darkice, aby bežal na pozadí (a teda aby nezamrzol skript Pythonu, keď sa spustil), ale požiadal som priateľa kodéra, aby mi prišiel pomôcť a on prišiel na spôsob, ako to napísať - listy. nechapem Zrejme to môže byť možné aj pomocou znaku „&“niekde v kóde, ale nie som kodér a to, čo mám, funguje, a tak som sa rozhodol s tým nemiešať. Akonáhle som mal všetko funkčné, začal som bičovať všetky káble z dosky, kým mi nezostalo nasledujúce nastavenie:

GPIO16 na externý 3-bodový konektor.

GPIO7 na kladný pól poľa LED pre značku ON-Air.

GPIO25 na prepínač kliknutí.

Druhá strana prepínača sa pripája k 3-bodovému konektoru.

Záporný pól sústavy LED sa tiež pripája k 3-bodovému konektoru.

(Ostatné komponenty na diagrame sú vysvetlené v nasledujúcom kroku).

Skript Python, s ktorým sme skončili, je nasledovný (upozorňujeme, že toto je návod pre celý projekt, v skutočnosti neviem dostatočne vysvetliť kód. Zostavil som ho z rôznych ďalších návodov na rôzne funkcie):

import timeimport os import RPi. GPIO as 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 = nepravda

def start_darkice ():

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

kým je pravda:

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

inak:

if toggle: toggle = False print ('stopping darkice') stop_darkice () #print ('BUTTON STATE FALSE') GPIO.output (ledPin, GPIO. LOW) time.sleep (1)

Súbor py je priložený k tomuto návodu, môžete si ho len stiahnuť a podľa potreby vykonať krok 5.

Krok 4: Tlačidlo bezpečného vypnutia a kontrolka aktivity

Tlačidlo bezpečného vypnutia a kontrolka aktivity
Tlačidlo bezpečného vypnutia a kontrolka aktivity

Len kvôli bezpečnosti a predĺženiu životnosti Pi som pridal tlačidlo bezpečného vypnutia a diódu LED pre externú aktivitu, aby ľudia vedeli, kedy je bezpečné škatuľu odpojiť. Ľahko som našiel návody pre oba tieto typy, ale všimol som si, že Raspberry Pi 3 B+ má pin GPIO priradený ACT LED, zatiaľ čo predchádzajúce modely nie a to môže byť problematické, ak máte starší Pi.

Pripojte kladný pól LED na GPIO13 a záporný na GPIO26. Aby ACT LED fungovala, musíte upraviť súbor config.txt v adresári BOOT. Nájdete to v prehliadači Raspbian alebo pomocou:

sudo nano /usr/boot/config.txt

Pri úprave súboru jednoducho pridajte nasledujúce riadky:

# Použite externú LED ako SD ACT LED dtoverlay = pi3-akt-led, gpio = 19

Teraz externá LED dióda bliká s aktivitou karty SD.

Pripojte svorky tlačidlového spínača k GPIO3 a GPIO8. Z tutoriálu som našiel nasledujúci kód a funguje to dobre:

čas importu z gpiozero import Tlačidlo z podprocesu import check_call z pozastavenia importu signálu

def shutdown ():

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

shutdown_btn = Tlačidlo (2, čas_držania = 1)

shutdown_btn.when_held = vypnutie

pauza()

time.sleep (1)

Tento súbor py je tiež priložený, aby ste si ho mohli stiahnuť, ak chcete. Moje tlačidlo musí byť podržané 1 sekundu, ak to chcete zmeniť, zmeňte hodnotu „hold-time =“.

Krok 5: Spustite skripty Pythonu zo zavedenia

Opäť existuje veľa návodov na túto tému, použil som tento od Dexter Industries a podľa prvého kroku som upravil súbor rc.local.

sudo nano /etc/rc.local

Tu musíte pridať úplnú cestu k súboru na koniec dokumentu doplnenú znakom „&“na konci každého riadka. Pre každý zo súborov by ste mali pridať jeden riadok:

sudo python/home/pi/YOURFILENAME, py &

sudo python /home/pi/YOURFILENAME2.py &

tesne pred radom

výjazd 0

„&“Na konci každého riadka je dôležité na zaistenie slučiek programu.

Krok 6: Zostavte krabicu

Postavte box
Postavte box
Postavte box
Postavte box
Postavte box
Postavte box

To je úplne na vás. Skutočne to musí byť iba veľkosť Pi, ale do zostavy som vložil kompresor, aby bol rádiový prúd na pomerne konzistentnej úrovni, takže krabica je o niečo väčšia. Ten môj má vpredu otvor na nápis On-Air a jeden na veľké červené tlačidlo, plus som vyrobil malú inštruktážnu kartu pre DJ-ov a vložil som ju pod tlačidlo. Na bočnej strane škatule je otvor pre tlačidlo, kontrolku ACT LED a zvukový vstup a vložené pokyny pre zamestnancov baru, ako box bezpečne vypnúť.

Krok 7: Inštalácia

Inštalácia
Inštalácia
Inštalácia
Inštalácia
Inštalácia
Inštalácia
Inštalácia
Inštalácia

Upevnite všetky oddelené komponenty do svojej škatule, pričom je potrebné mať na pamäti, že je vždy dobré umožniť určitú cirkuláciu vzduchu okolo Pi, aby sa zabránilo prehriatiu. Pripojte zvukové káble k mixážnemu pultu, stlačte tlačidlo a užívajte si vysielanie!

Odporúča: