Obsah:
- Krok 1: Nastavení serveru
- Krok 2: Nastavte Pi a nainstalujte Darkice
- Krok 3: Tlačítko Stream a označení On-Air
- Krok 4: Tlačítko bezpečného vypnutí a kontrolka aktivity
- Krok 5: Nechte skripty Pythonu spouštět z bootování
- Krok 6: Postavte krabici
- Krok 7: Instalace
Video: Rádio Streaming Box s jedním tlačítkem: 7 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
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
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
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
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
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:
Blokování odpružení servomotoru jedním tlačítkem: 3 kroky
Blokování servo odpružení jedním tlačítkem: Horská kola s plným odpružením zajišťují hladkou jízdu, ale často vyžadují zablokování odpružení při šlapání do kopce. V opačném případě se odpružení stlačí, když stojíte na pedálech, a tím ztrácíte úsilí. Výrobci kol to vědí a poskytují
Bufet s jedním tlačítkem: 4 kroky
Bufet s jedním tlačítkem: POZNÁMKA: Pro jídelní systém Kang Chiao zbytečné, pokud nejste v naší škole. Zařízení mají dvě použití. Lze jej použít k přeskočení nudného procesu výběru jídel pouhým výběrem bufetu pro vás, což je opravdu užitečné pro lidi, kteří chtějí jíst pouze
Klávesnice USB s jedním tlačítkem RGB: 6 kroků (s obrázky)
Klávesnice USB s jedním tlačítkem RGB: Cítili jste někdy potřebu mít malou, ale funkční klávesnici s podsvícením RGB, která není větší než velikost jediné klávesy? Ne? Koho to zajímá, udělejte si jedno! Tento návod vás provede kroky, které potřebujete k tomu, abyste si vytvořili svůj vlastní, trochu zbytečný
Transplantace vašich klasických vnitřních myší s jedním tlačítkem Mac: 5 kroků
Transplantace vašeho klasického jednoho tlačítka Mac myší Inards: už vás nebaví hloupě vypadající nové myši? už vás nebaví vaše klasické myši s jedním tlačítkem a nedostatek … čehokoli kromě jednoho tlačítka? nemocně vám ukážu, jak transplantovat vnitřnosti laciné myši dobré vůle do vaší myši Mac, abyste dosáhli dokonalé rovnováhy stylu
Mini joystick s tlačítkem Fire: 9 kroků (s obrázky)
Mini joystick s tlačítkem Fire: Jedná se o miniaturní joystick vyrobený z několika spínačů a kuličkového pera. Pokud je vaše pero typem klikání, lze přidat volitelné tlačítko střelby. Akce je velmi plynulá a pohotová. Následuje trochu zpětný příběh, takže jej můžete přeskočit a získat r