Obsah:

Rádio Streaming Box s jedním tlačítkem: 7 kroků (s obrázky)
Rádio Streaming Box s jedním tlačítkem: 7 kroků (s obrázky)

Video: Rádio Streaming Box s jedním tlačítkem: 7 kroků (s obrázky)

Video: Rádio Streaming Box s jedním tlačítkem: 7 kroků (s obrázky)
Video: Tento Tvar Je NEMOŽNÝ Nakreslit!😱 2024, Listopad
Anonim
Rádio Streaming Box s jedním tlačítkem
Rádio Streaming Box s jedním tlačítkem

Postavil jsem krabici pro bar svého přítele, která má uvnitř Raspberry Pi a stisknutím jednoho tlačítka streamuje zvuk na webové stránky pomocí Darkice a Icecast a současně rozsvítí nápis 'On-Air'. Myslel jsem, že to bylo něco, co už lidé dělali, ale po rozsáhlém hledání jsem nic nenašel a rozhodl jsem se, že na to přijdu sám a vytvořím tento Instructable.

Použil jsem Raspberry Pi 3+ B, ale pokud mohu říci, že by to fungovalo na jakémkoli Pi (možná by se počet pinů GPIO lišil, nemohu to však potvrdit). Použil jsem balíček NOOBS pro OS a koupil jsem si super jednoduchou zvukovou kartu pro vstup. Do krabice jsem také přidal tlačítko bezpečného vypnutí a kontrolku LED pro ochranu Pi.

Budete potřebovat:

Raspberry Pi

Balíček NOOBS na SD kartě

Přepínač zapnutí/vypnutí (použil jsem velké červené tlačítko nouzového zastavení, ale může to být jakýkoli druh přepínače „kliknutí“)

Stiskněte tlačítko

1 LED

Nápis „On-Air“jsem si vyrobil vlastní pomocí pole LED

Páječka a malá spojovací deska (právě jsem odřízl jeden z nich, který jsem měl kolem sebe)

Zvuková karta (použil jsem super jednoduchou, jako je tato)

Krok 1: Nastavení serveru

U skutečné rozhlasové stanice, kterou používáme, jsem tuto část nedělal, protože jsem neměl přístup na server a můj přítel to udělal, ale na webu Icecast je základní průvodce nastavením a podařilo se mi získat na začátku funguje od Pi, jen aby viděl, jak to jde. Případně můžete získat účet na internet-radio.com a funguje to s Darkice.

Krok 2: Nastavte Pi a nainstalujte Darkice

Získejte kartu SD s balíčkem NOOBS. Jakmile otevřete Raspbian a nainstalujete všechny aktualizace, otevřete okno Terminál a zadejte:

sudo apt-get update

sudo apt-get install darkice

Darkice je součástí Debianu, takže se nainstaluje automaticky, chvilku to trvá.

Po dokončení na výzvu zadejte:

darkice

Zobrazí chybovou zprávu a nespustí se, ale to je v pořádku. Ve zprávě to řekne něco jako:

Pomocí konfiguračního souboru: /etc/darkice.cfg

Tento soubor musíte upravit, takže na výzvu zadejte:

sudo nano /etc/darkice.cfg

Upravte soubor, který se otevře, pomocí informací na této stránce wiki. Radioreference, když jste hotovi, stiskněte CTRL-X pro zavření, Y pro uložení a měli byste se vrátit na výzvu Terminal. Po instalaci nového programu je vždy dobré restartovat, takže zadejte:

restartovat

a když se Pi restartuje, znovu otevřete okno Terminál. Když nyní zadáte 'Darkice', mělo by se spustit bez chybových zpráv. Pokud přejdete na adresu https:// YOURSERVERADDRESS: 8000/(8000 nebo jakýkoli port, ke kterému je přiřazen server Icecast), měli byste získat stránku se statistikami, že jste připojeni. Pokud ne, upravte konfigurační soubor (vstupní zvukový řádek mi způsobil nějaké problémy, ale vyzkoušel jsem všechny možnosti a nakonec jsem našel svoji zvukovou kartu). Jakmile Darkice správně poběží, přejděte k dalšímu kroku.

Krok 3: Tlačítko Stream a označení On-Air

Tlačítko Stream a nápis On-Air
Tlačítko Stream a nápis On-Air

Udělal jsem na to spoustu různých návodů, protože neexistoval žádný konkrétní pro přiřazení akce tlačítku v Pythonu. Největší problém, kterému jsem čelil, bylo přimět Darkice, aby běžel na pozadí (a tedy nezamrzl skript Pythonu, když se spustil), ale požádal jsem kodéra, aby přišel pomoci a on přišel na způsob, jak to udělat, psát listy, něco, co jsem nechápu. Zjevně by to také mohlo být možné pomocí '&' někde v kódu, ale nejsem kodér a to, co mám, funguje, takže jsem se rozhodl s tím nemazat. Jakmile jsem měl vše funkční, začal jsem bičovat všechny kabely z prkénka, dokud mi nezbylo následující nastavení:

GPIO16 na externí 3bodový konektor.

GPIO7 na kladný terminál pole LED pro značku ON-Air.

GPIO25 na přepínač.

Druhá strana přepínače se připojuje ke 3bodovému konektoru.

Záporný pól pole LED se také připojuje ke 3bodovému konektoru.

(Další součásti diagramu jsou vysvětleny v dalším kroku).

Skript Pythonu, se kterým jsme skončili, je následující (vezměte prosím na vědomí, že se jedná o instruktáž pro celý projekt, opravdu nevím dost na to, abych kód vysvětlil. Sestavil jsem ho dohromady z různých dalších tutoriálů pro různé funkce):

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 = False

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')

zatímco 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)

jiný:

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

Soubor py je připojen k tomuto Instructible, stačí si jej stáhnout a podle potřeby provést krok 5.

Krok 4: Tlačítko bezpečného vypnutí a kontrolka aktivity

Tlačítko bezpečného vypnutí a kontrolka aktivity
Tlačítko bezpečného vypnutí a kontrolka aktivity

Jen kvůli bezpečnosti a prodloužení životnosti Pi jsem přidal tlačítko bezpečného vypnutí a LED pro externí aktivitu, aby lidé věděli, kdy je bezpečné krabici odpojit. Snadno jsem našel návody pro oba tyto, ale všiml jsem si, že Raspberry Pi 3 B+ má ACT LED přiřazený GPIO pin, zatímco dřívější modely ne a to může být problematické, pokud máte starší Pi.

Připojte kladný pól LED k GPIO13 a záporný k GPIO26. Aby LED ACT fungovala, musíte upravit soubor config.txt v adresáři BOOT. Najdete to v prohlížeči Raspbian nebo pomocí:

sudo nano /usr/boot/config.txt

Při úpravách souboru jednoduše přidejte následující řádky:

# Použijte externí LED jako SD ACT LED dtoverlay = pi3-akt-led, gpio = 19

Externí LED dioda nyní bliká s aktivitou karty SD.

Připojte svorky tlačného spínače k GPIO3 a GPIO8. Našel jsem následující kód z tutoriálu a funguje to dobře:

čas importu z importu gpiozero Tlačítko z podprocesu import check_call z pauzy importu signálu

def shutdown ():

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

shutdown_btn = Tlačítko (2, hold_time = 1)

shutdown_btn.when_held = vypnutí

pauza()

time.sleep (1)

Tento soubor py je také připojen, abyste si jej mohli stáhnout, pokud chcete. Moje tlačítko musí být podrženo po dobu 1 sekundy, pokud to chcete změnit, změňte hodnotu 'hold-time ='.

Krok 5: Nechte skripty Pythonu spouštět z bootování

Opět existuje mnoho tutoriálů na toto téma, použil jsem tento od Dexter Industries a následoval první krok úpravou souboru rc.local.

sudo nano /etc/rc.local

Zde je třeba přidat úplnou cestu k souboru na konec dokumentu doplněnou znakem & na konci každého řádku. Pro každý ze souborů byste měli přidat jeden řádek:

sudo python/home/pi/YOURFILENAME, py &

sudo python /home/pi/YOURFILENAME2.py &

těsně před řadou

výstup 0

'&' Na konci každého řádku je důležité pro zajištění smyček programu.

Krok 6: Postavte krabici

Postavte krabici
Postavte krabici
Postavte krabici
Postavte krabici
Postavte krabici
Postavte krabici

To je zcela na vás. Ve skutečnosti to musí být pouze velikost Pi, ale do svého nastavení jsem vložil kompresor, aby byl rádiový proud na poměrně konzistentní úrovni, takže krabice je o něco větší. Můj má na přední straně otvor pro nápis On-Air a jeden pro Big Red Button, plus jsem udělal malou instrukční kartu pro DJe a vložil ji pod tlačítko. Na boku boxu je otvor pro tlačítko, ACT LED a audio vstup, plus vykládané pokyny pro zaměstnance baru, jak bezpečně vypnout box.

Krok 7: Instalace

Instalace
Instalace
Instalace
Instalace
Instalace
Instalace
Instalace
Instalace

Upevněte všechny oddělené součásti do svého boxu, s ohledem na to, že je vždy dobré umožnit určitou cirkulaci vzduchu kolem Pi, aby se zabránilo přehřátí. Připojte zvukové kabely z mixu, stiskněte tlačítko a užívejte si vysílání!

Doporučuje: