Spisu treści:
- Krok 1: Skonfiguruj swój serwer
- Krok 2: Skonfiguruj Pi i zainstaluj Darkice
- Krok 3: Przycisk przesyłania strumieniowego i znak na żywo
- Krok 4: Przycisk bezpiecznego wyłączania i dioda LED aktywności
- Krok 5: Spraw, aby skrypty Pythona były uruchamiane z rozruchu
- Krok 6: Zbuduj pudełko
- Krok 7: Instalacja
Wideo: Jednoprzyciskowe Radio Streaming Box: 7 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Zbudowałem pudełko na pasek mojego przyjaciela, które ma w środku Raspberry Pi i za naciśnięciem jednego przycisku przesyła dźwięk do strony internetowej za pomocą Darkice i Icecast, jednocześnie podświetlając znak „On-Air”. Myślałem, że to jest coś, co ludzie już robią, ale po intensywnych poszukiwaniach nic nie znalazłem i postanowiłem to rozgryźć i uczynić to instruktażowym.
Użyłem Raspberry Pi 3+ B, ale o ile wiem, działałoby na każdym Pi (być może numery pinów GPIO będą się różnić, nie mogę tego jednak potwierdzić). Użyłem pakietu NOOBS dla systemu operacyjnego i kupiłem super prostą kartę dźwiękową do wejścia. Dodałem również przycisk bezpiecznego wyłączania i diodę LED aktywności, aby chronić Pi.
Będziesz potrzebować:
Malina Pi
Pakiet NOOBS na karcie SD
Włącznik/wyłącznik (użyłem takiego dużego czerwonego przycisku zatrzymania awaryjnego, ale może to być dowolny przełącznik „klik”)
Naciśnij przycisk
1 dioda LED
Znak „On-Air”, zrobiłem własny z tablicą LED
Lutownica i mała płytka przyłączeniowa (właśnie wyciąłem pasek z jednej z tych, które miałem w pobliżu)
Karta dźwiękowa (użyłem super prostej takiej jak ta)
Krok 1: Skonfiguruj swój serwer
W przypadku rzeczywistej stacji radiowej, której używamy, nie zrobiłem tej części, ponieważ nie miałem dostępu do serwera, a mój przyjaciel to zrobił, ale na stronie Icecast jest podstawowy przewodnik po konfiguracji i udało mi się uzyskać działa od Pi na początku tylko po to, aby zobaczyć, jak to działa. Alternatywnie możesz założyć konto na internet-radio.com i działa ono z Darkice.
Krok 2: Skonfiguruj Pi i zainstaluj Darkice
Uzyskaj kartę SD z pakietem NOOBS. Po otwarciu Raspbian i zainstalowaniu wszystkich aktualizacji otwórz okno Terminal i wpisz:
aktualizacja sudo apt-get
sudo apt-get zainstaluj darkice
Darkice jest częścią Debiana, więc zainstaluje się automatycznie, zajmie to kilka chwil.
Po zakończeniu w wierszu wpisz:
ciemność
Daje komunikat o błędzie i nie uruchamia się, ale to jest w porządku. W wiadomości powie coś takiego:
Używając pliku konfiguracyjnego: /etc/darkice.cfg
Musisz edytować ten plik, więc w monicie wpisz:
sudo nano /etc/darkice.cfg
Edytuj plik, który się otworzy, korzystając z informacji na tej stronie wiki. Radioreference, po zakończeniu naciśnij CTRL-X, aby zamknąć, Y, aby zapisać i powinieneś wrócić do monitu terminala. Zawsze dobrze jest zrestartować komputer po zainstalowaniu nowego programu, więc wpisz:
restart
a po ponownym uruchomieniu Pi ponownie otwórz okno terminala. Teraz po wpisaniu „Darkice” powinno działać bez żadnych komunikatów o błędach. Jeśli wejdziesz na https://TWÓJADRESSERWERA:8000/ (8000 lub inny port, do którego przypisany jest twój serwer icecast), powinieneś otrzymać stronę ze statystykami, informującą, że jesteś połączony. Jeśli nie, dostosuj plik konfiguracyjny (linia wejściowa audio sprawiała mi pewne problemy, ale wypróbowałem wszystkie opcje i ostatecznie znalazłem swoją kartę dźwiękową). Gdy Darkice działa poprawnie, przejdź do następnego kroku.
Krok 3: Przycisk przesyłania strumieniowego i znak na żywo
Zrobiłem w tym celu kilka różnych samouczków, ponieważ nie było konkretnego przypisywania akcji do przycisku w Pythonie. Największym problemem, z jakim się spotkałem, było sprawienie, aby Darkice działał w tle (a tym samym nie zamroził skryptu Pythona, gdy zaczął działać), ale poprosiłem przyjaciela kodera, aby przyszedł i pomógł, a on wymyślił sposób na to, aby to zrobić, pisząc arkusze, coś, co nie dostać. Najwyraźniej byłoby to możliwe, używając '&' gdzieś w kodzie, ale nie jestem programistą i to, co mam, działa, więc postanowiłem nie zadzierać z tym. Gdy wszystko działało, zacząłem zmniejszać wszystkie kable z płytki stykowej, aż zostałem z następującą konfiguracją:
GPIO16 do zewnętrznego złącza 3-punktowego.
GPIO7 do dodatniego zacisku tablicy LED dla znaku ON-Air.
GPIO25 do przełącznika typu click.
Druga strona przełącznika zatrzaskowego jest podłączana do złącza 3-punktowego.
Ujemny zacisk matrycy LED jest również podłączony do złącza 3-punktowego.
(Pozostałe elementy na schemacie są wyjaśnione w następnym kroku).
Skrypt Pythona, który otrzymaliśmy, jest następujący (proszę zauważyć, że jest to Instruktaż dla całego projektu, tak naprawdę nie wiem wystarczająco dużo, aby wyjaśnić kod. Połączyłem go z różnymi innymi samouczkami dla różnych funkcji):
import timeimport os import RPi. GPIO jako 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)
przełącz = Fałsz
def start_darkice():
print('wywołanie podprocesu') #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 zakończenie darkice')
podczas gdy prawda:
buttonState = GPIO.input(buttonPin) if buttonState == True: jeśli nie toggle: toggle = True print('włączanie darkice') start_darkice() #print ('BUTTON STATE TRUE') GPIO.output(ledPin, GPIO. HIGH)
w przeciwnym razie:
if toggle: toggle = False print('stopping darkice') stop_darkice() #print ('BUTTON STATE FALSE') GPIO.output(ledPin, GPIO. LOW) time.sleep(1)
Plik py jest dołączony do tej instrukcji, możesz go po prostu pobrać i wykonać krok 5, jeśli chcesz.
Krok 4: Przycisk bezpiecznego wyłączania i dioda LED aktywności
Tylko dla bezpieczeństwa i przedłużenia żywotności Pi dodałem przycisk bezpiecznego wyłączania i zewnętrzną diodę LED aktywności, aby ludzie wiedzieli, kiedy można bezpiecznie odłączyć urządzenie. Z łatwością znalazłem samouczki dla obu z nich, ale zauważyłem, że Raspberry Pi 3 B+ ma przypisany pin GPIO LED ACT, podczas gdy wcześniejsze modele nie, co może być problematyczne, jeśli masz starsze Pi.
Podłącz dodatni zacisk diody LED do GPIO13, a ujemny do GPIO26. Aby dioda ACT działała, musisz edytować plik config.txt w katalogu BOOT. Możesz to znaleźć w przeglądarce Raspbian lub za pomocą:
sudo nano /usr/boot/config.txt
Kiedy edytujesz plik, po prostu dodaj następujące wiersze:
# Użyj zewnętrznej diody LED jako diody SD ACT dtoverlay=pi3-act-led, gpio=19
Teraz zewnętrzna dioda LED będzie migotać wraz z aktywnością karty SD.
Podłącz zaciski przełącznika wciskanego do GPIO3 i GPIO8. Znalazłem następujący kod z samouczka i działa dobrze:
import timefrom gpiozero import Button z podprocesu import check_call z sygnału import pauza
def zamknięcie():
check_call(['sudo', 'wyłączanie'])
shutdown_btn = Przycisk (2, hold_time=1)
shutdown_btn.when_held = wyłączenie
pauza()
czas.sen(1)
Ten plik py jest również dołączony do pobrania, jeśli chcesz. Mój przycisk musi być przytrzymany przez 1 sekundę, jeśli chcesz to zmienić, zmień wartość 'hold-time='.
Krok 5: Spraw, aby skrypty Pythona były uruchamiane z rozruchu
Ponownie, istnieje wiele samouczków na ten temat, użyłem tego od Dexter Industries i wykonałem krok pierwszy, edytując plik rc.local.
sudo nano /etc/rc.local
W tym miejscu musisz dodać pełną ścieżkę do pliku na końcu dokumentu, dodając „&” na końcu każdej linii. Powinieneś dodać jedną linię dla każdego z plików:
sudo python /home/pi/NAZWAPLIKU, py &
sudo python /home/pi/NAZWAPLIKU2.py &
tuż przed linią
wyjście 0
Znak „&” na końcu każdej linii jest ważny, aby zapewnić pętle programu.
Krok 6: Zbuduj pudełko
To zależy wyłącznie od Ciebie. To naprawdę musi być tylko wielkości Pi, ale umieściłem kompresor w mojej konfiguracji, aby utrzymać strumień radiowy na dość stałym poziomie, dzięki czemu pudełko jest nieco większe. Mój ma z przodu otwór na znak On-Air i jeden na Big Red Button, dodatkowo zrobiłem małą kartę instruktażową dla DJ-ów i umieściłem ją pod przyciskiem. Z boku pudełka znajduje się otwór na przycisk, dioda ACT i wejście audio, a także inkrustowane instrukcje dla personelu baru, jak bezpiecznie zamknąć pudełko.
Krok 7: Instalacja
Zamocuj wszystkie oddzielne elementy w pudełku, pamiętając, że zawsze dobrze jest pozwolić na cyrkulację powietrza wokół Pi, aby zapobiec przegrzaniu. Podłącz kable audio do miksera, naciśnij przycisk i ciesz się transmisją!
Zalecana:
Smart Booy [GPS, radio (NRF24) i moduł karty SD]: 5 kroków (ze zdjęciami)
Smart Buoy [GPS, Radio (NRF24) i moduł karty SD]: Ta seria Smart Buoy przedstawia naszą (ambitną) próbę zbudowania naukowej boi, która może dokonywać znaczących pomiarów morza przy użyciu gotowych produktów. To jest samouczek dwa z czterech - upewnij się, że jesteś na bieżąco, a jeśli potrzebujesz szybkiego w
Radio FM z RDS (Radio Text), sterowaniem BT i bazą ładującą: 5 kroków
Radio FM z RDS (Radio Text), sterowaniem BT i bazą ładującą: Bonjour, to moja druga „instrukcja”. Ponieważ lubię robić niezbyt przydatne rzeczy, oto mój ostatni projekt: to radio FM z tekstem radiowym z podstawa ładująca, którą można monitorować przez Bluetooth i aplikację na AndroidaDlatego
TANIEJ SZYNKI – ZMIEŃ RADIO PODRĘCZNE W RADIO MOBILNE: 6 kroków
TANI SZYNKA - ZMIEŃ RADIO DORĘCZNE W RADIO MOBILNE: Przenośna krótkofalówka z ograniczonym budżetem? Tak, można to zrobić z pewną kreatywnością. Istnieje mnóstwo tanich chińskich radiotelefonów przenośnych. Te tanie nowe radia z kolei obniżyły ceny wysokiej jakości używanego sprzętu szynkowego. Kolejna rzecz, która dodaje
Radio internetowe/radio internetowe z Raspberry Pi 3 (bezgłowy): 8 kroków
Radio internetowe/radio internetowe Z Raspberry Pi 3 (bezgłowy): HI Chcesz hostować własne radio przez Internet, to jesteś we właściwym miejscu. Postaram się jak najwięcej rozwinąć. Próbowałem na kilka sposobów, większość z nich potrzebowała karty dźwiękowej, której nie chciałem kupić. ale udało się fi
Barbie Box: zakamuflowana obudowa/Boom Box do odtwarzacza MP3: 4 kroki (ze zdjęciami)
Barbie Box: Zakamuflowany futerał/Boom Box do odtwarzacza mp3: jest to wyściełany futerał ochronny do odtwarzacza mp3, który również przekształca gniazdo słuchawkowe na ćwierć cala, może działać jako boom box po naciśnięciu przełącznika i maskuje twój odtwarzacz mp3 jako magnetofon z początku lat dziewięćdziesiątych lub podobny niski poziom kradzieży i