Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Zawsze byłem zafascynowany Raspberry Pi, ale do tej pory nigdy nie miałem takiej potrzeby. W naszym domu mamy trzy komponenty Sonos: Play 5 w salonie, Play 3 w sypialni oraz Sonos CONNECT:AMP zasilający głośniki zewnętrzne na naszym patio. Dzięki nim możemy słuchać praktycznie wszystkiego oprócz naszej lokalnej stacji radiowej, która nie transmituje przez Internet. Mam na górze w moim biurze radio na biurko, które ma wyjście liniowe i chciałem móc słuchać go w całym domu, głównie do transmisji sportowych na żywo. Mogłem to osiągnąć, kupując kolejny Play 5 lub CONNECT i korzystając z jego wejścia liniowego, ale nie miałem wystarczająco dużo miejsca w moim małym biurze ani nie chciałem zainwestować o wiele więcej pieniędzy tylko po to, aby mieć taką możliwość. Postanowiłem nauczyć się programować Raspberry Pi, aby dodać zdalne wejście liniowe dla naszych głośników Sonos. Napisałem ten Instruktaż dla kompletnego Raspberry Pi NOOB, którym byłem zaledwie kilka dni temu, z tym, co uważam za najbardziej zwięzłe, najmniej kroków niezbędnych do tego, aby Raspberry Pi automatycznie zaczęło obsługiwać strumień mp3 stereo 320 kb/s na żywo do Sonos w ciągu kilku sekund od uruchomienia. Jest to również doskonały sposób na słuchanie gramofonu w całym domu na Sonos.
Krok 1:
Czego będziesz potrzebować:
64-bitowy czterordzeniowy procesor Raspberry PI 3 Model B 1,2 GHz ARMv8, 1 GB pamięci RAM
Komputer stacjonarny lub laptop z czytnikiem kart microSD
Monitor lub telewizor z wejściem HDMI (tylko do wstępnej konfiguracji)
Klawiatura i mysz USB lub Bluetooth (tylko do wstępnej konfiguracji)
BEHRINGER U-CONTROL UCA202 Zewnętrzna karta dźwiękowa USB (posiada wejścia stereo RCA)
lub
Tania stereofoniczna karta przechwytująca USB o wartości 10 USD
AKTUALIZACJA: Jeśli posiadasz gramofon z wyjściem USB, możesz po prostu podłączyć go do Pi i użyć jako „karty dźwiękowej” i całkowicie zrezygnować z kupowania Behringera
EDIT: Nie wiedziałem, że Behringer ma inny model w tej samej cenie o nazwie BEHRINGER U-PHONO UFO202, który ma wbudowany przedwzmacniacz Phono do gramofonów
Wbudowana karta dźwiękowa Raspberry Pi nie ma wejść audio i jest bardzo niewiele zewnętrznych kart dźwiękowych USB, które mają wejścia stereo. Moim drugim wyborem była „czapka” karty dźwiękowej stereo, którą podłącza się do pinów GPIO Raspberry, ale nie mogłem znaleźć dla niej obudowy i naprawdę podobał mi się wygląd i funkcjonalność obudowy Flirc Raspberry Pi.
Flirc Raspberry Pi Case Gen2 (nowy model) (aluminiowa obudowa pełni funkcję radiatora)
Mediabridge 3,5 mm męski na 2-męski adapter RCA (6 stóp) (jeśli twoje analogowe źródło dźwięku ma wyjścia RCA, nie potrzebujesz tego)
Karta pamięci flash Kingston 8 GB microSDHC klasy 4
Kabel USB Micro B - kąt lewy
Krok 2:
Przejdź do https://www.raspberrypi.org/downloads/noobs na zwykłym komputerze i pobierz NOOBS_v2_4_4.zip. Jest to dość duży plik (~1,4 GB). Wypakuj zawartość pliku zip na kartę microSD. Odkryłem, że szybsze jest zapisywanie na karcie SD, najpierw wyodrębniając pliki do folderu tymczasowego, a następnie kopiując je na kartę, zamiast wyodrębniać bezpośrednio na kartę.
Krok 3:
Włóż kartę microSD z wyodrębnionymi plikami do gniazda karty SD na spodzie Raspberry Pi. Podłącz kabel HDMI z Raspberry Pi do monitora lub telewizora. Podłącz klawiaturę USB, mysz, kabel Ethernet (lub możesz skonfigurować Wi-Fi później), kartę dźwiękową USB (karta Behringer nie wymaga żadnego dodatkowego oprogramowania ani sterowników) i wreszcie kabel zasilający Micro USB.
Krok 4:
Pi uruchomi się do ekranu instalacji systemu operacyjnego. Wybierz tylko Raspbian i kliknij Zainstaluj. Instalacja zajmie trochę czasu. Podczas mojej instalacji w prawym górnym rogu ekranu pojawiała się sporadycznie mała ikona błyskawicy. Badania online wykazały, że jeśli Pi często uzyskuje dostęp do karty microSD lub w inny sposób ciężko pracuje (i zasila zewnętrzną kartę dźwiękową USB w naszym przypadku) i zasilasz ją za pomocą kabla USB podłączonego do komputera (nie dedykowanego zasilacza USB) możesz zobaczyć tę ikonę, która wskazuje na niewielkie podnapięcie. To zupełnie normalne i nie powinno na nic wpływać. Po zakończeniu instalacji systemu operacyjnego pojawi się okno dialogowe potwierdzenia. Kliknij OK, a Pi uruchomi się ponownie.
Krok 5:
Po ponownym uruchomieniu pojawi się pulpit Raspbian. Pierwszą rzeczą, którą musimy zrobić, to ustawić hasło roota. Kliknij ikonę terminala w lewym górnym rogu ekranu i wpisz „sudo passwd root” (bez cudzysłowów) i naciśnij enter. Wpisz „malinowy” (bez cudzysłowów) jako hasło, naciśnij enter, a następnie wpisz je ponownie i naciśnij enter, aby potwierdzić. BTW, polecenie „sudo” oznacza „super użytkownik do” i pozwala na wykonywanie poleceń jako superużytkownik, czyli użytkownik root.
sudo passwd root
Krok 6:
Następnie włączymy wbudowany serwer VNC. To sprawia, że rzeczy są o wiele łatwiejsze, ponieważ możesz po prostu kopiować i wklejać polecenia za pomocą VNC, zamiast je wpisywać. Wybierz Menu GUI (mała malina na pasku zadań)> Preferencje> Konfiguracja Raspberry Pi> Interfejsy. Kliknij Włączone obok VNC, a następnie OK. Po kilku sekundach na pasku zadań pojawi się ikona VNC. Kliknij go, a następnie ikonę menu w prawym górnym rogu (pole z 3 poziomymi liniami), a następnie Opcje. W opcjach Zabezpieczenia ustaw Szyfrowanie na „Preferuj wyłączone”, a Uwierzytelnianie jako „Hasło VNC”. Pojawi się okno z hasłem. Wpisz „malina” (bez cudzysłowów) jako hasło w każdym polu i kliknij OK. Otrzymasz drugie okno ostrzeżenia, że musisz kliknąć OK, aby potwierdzić. Konfigurujemy streamer audio, nie przechowujemy kodów nuklearnych:)
Krok 7:
Zanim przejdziemy dalej, musimy przypisać statyczny adres IP. Jeśli adres IP twojego Pi jest losowo przypisywany przez serwer DHCP twojego routera, adres IP może się później zmienić i nie będziesz w stanie połączyć się przez VNC (lub Sonos w tym przypadku). Kliknij prawym przyciskiem myszy ikonę połączeń sieciowych na pasku zadań (mała ikona strzałki w górę iw dół) i wybierz "Ustawienia sieci bezprzewodowej i przewodowej". Kliknij lewym przyciskiem myszy w prawym górnym polu i wybierz „eth0”, aby skonfigurować połączenie Ethernet lub „wlan0” dla sieci bezprzewodowej. Radziłbym przypisać statyczny adres IP tylko jednemu lub drugiemu. Miałem problem, kiedy po raz pierwszy skonfigurowałem moje Pi, gdzie przypisałem ten sam statyczny adres IP do obu połączeń, a połączenie bezprzewodowe mojego Pi zostało zablokowane i nie mogłem przywrócić prawidłowego działania, więc musiałem zacząć od początku instalacji systemu operacyjnego. W każdym razie wprowadź żądany adres IP w polu adresu IP i wprowadź adres IP routera w polu Router i serwery DNS. Kliknij Zastosuj i zamknij.
UWAGA: Łatwiejsze może być przypisanie statycznego adresu IP za pomocą funkcji rezerwacji adresu IP DHCP routera, jeśli taki posiada. Możesz potrzebować adresu MAC Pi lub może po prostu pojawić się na liście podłączonych urządzeń na stronie administratora routera. Jeśli potrzebujesz adresu MAC, wpisz polecenie „ifconfig eth0” w oknie terminala dla sieci Ethernet lub „ifconfig wlan0” dla Wi-Fi. Co ciekawe, adres MAC Wi-Fi pojawi się na linii zaczynającej się od „ether”
Krok 8:
Następnie musimy ustawić domyślną rozdzielczość ekranu. Może się to wydawać głupie, ponieważ jesteśmy już podłączeni do monitora, ale później, gdy połączysz się przez VNC bez podłączonego monitora (bez głowy, jak mówią), powróci do domyślnej rozdzielczości 640x480 Pi, która jest bardzo małym ekranem do pracować z! Wybierz Menu GUI > Preferencje > Konfiguracja Raspberry Pi > Ustaw rozdzielczość. Ustaw ją na 1280x720 lub wyższą i kliknij OK i Tak, aby ponownie uruchomić.
Krok 9:
W tym momencie możesz zacząć używać VNC do sterowania Pi. Otwórz ponownie panel sterowania VNC na pulpicie Raspbian i poszukaj adresu IP w sekcji „Łączność”. Zainstaluj i uruchom przeglądarkę VNC na swoim zwykłym komputerze i użyj tego adresu IP, aby się połączyć, i wprowadź „malina” (bez cudzysłowów) jako hasło. Użyłem TightVNC dla Windows. Po połączeniu możesz zapisać połączenie VNC Pi jako skrót na pulpicie, aby szybko połączyć się w przyszłości z pominięciem ekranu logowania. Otrzymasz ostrzeżenie o zapisaniu hasła w ramach skrótu. Znowu kody. Aby skopiować i wkleić do okna terminala Pi, zaznacz lub zaznacz tekst lub polecenia na zwykłym komputerze, naciśnij Ctrl-C (dosłownie naciśnij jednocześnie klawisze Ctrl i C na klawiaturze) lub kliknij prawym przyciskiem myszy i wybierz „Kopiuj”, a następnie aktywuj okno przeglądarki VNC Pi i kliknij prawym przyciskiem myszy w oknie terminala na kursorze i wybierz Wklej.
Krok 10:
Następnie przetestujemy kartę dźwiękową, aby upewnić się, że działa poprawnie. Podłącz źródło dźwięku na żywo do wejść liniowych RCA karty dźwiękowej USB. Otwórz okno terminala i wpisz "arecord -l" (jest to małe "L") i naciśnij Enter. To wyświetli listę podłączonych urządzeń kart dźwiękowych. Liczba po słowie „karta” to numer Twojego urządzenia. Podstaw ten numer w następnym poleceniu po słowie „plughw:” W moim przypadku numer mojej karty to „1”, więc wpisałem (w rzeczywistości skopiowałem i wkleiłem za pomocą VNC) „arecord -D plughw:1, 0 -f cd temp. fala". Spowoduje to rozpoczęcie nagrywania pliku.wav o jakości CD z wejść karty dźwiękowej. Po kilku sekundach naciśnij Ctrl-C (dosłownie naciśnij jednocześnie klawisze Ctrl i C na klawiaturze), aby zatrzymać nagrywanie. Aby go odtworzyć, musisz podłączyć słuchawki do gniazda słuchawkowego znajdującego się na samej karcie Raspberry Pi lub gniazda słuchawkowego zewnętrznej karty dźwiękowej USB. Kliknij prawym przyciskiem myszy ikonę głośnika na pasku zadań i wybierz urządzenie, do którego właśnie podłączyłeś słuchawki, i zwiększ głośność (Analog = gniazdo słuchawkowe Raspberry Pi; KODEK AUDIO USB = gniazdo słuchawkowe zewnętrznej karty dźwiękowej USB). Wpisz „aplay temp.wav” i naciśnij enter, a powinieneś usłyszeć to, co właśnie nagrałeś. Karta dźwiękowa w Pi nie jest zbyt dobra, więc jeśli słuchasz przez wbudowane gniazdo słuchawkowe, nie przejmuj się, jeśli nie brzmi tak dobrze. Nasz strumień audio będzie w całości cyfrowy i będzie brzmiał świetnie na Sonos.
arecord -l
arecord -D plughw:1, 0 -f cd temp.wav
aplay temp.wav
Krok 11:
Następnie zainstalujemy dwa programy, Darkice i Icecast2. Darkice będzie kodować nasze źródło dźwięku na żywo do strumienia mp3, a Icecast2 będzie dostarczać je do Sonos jako strumień Shoutcast. Wpisz po kolei każdą z tych linii w oknie terminala, a następnie za każdym razem wciśnij klawisz Enter:
wget
mv darkice_1.0.1-999~mp3+1_armhf.deb?raw=true darkice_1.0.1-999~mp3+1_armhf.deb
sudo apt-get zainstaluj libmp3lame0 libtwolame0
sudo dpkg -i darkice_1.0.1-999~mp3+1_armhf.deb
Krok 12:
Teraz zainstaluj Icecast2. Wpisz „sudo apt-get install icecast2”, a następnie enter. Po zainstalowaniu pojawi się okno z pytaniem, czy chcesz skonfigurować Icecast2. Naciśnij klawisz strzałki w lewo i wprowadź, aby wybrać Tak. Na drugim ekranie naciśnij klawisz strzałki w dół i wprowadź, aby wybrać OK, aby użyć domyślnej nazwy hosta „localhost”. Na kolejnych trzech ekranach naciśnij strzałkę w dół i wprowadź klucz, aby wyrazić zgodę na użycie "hackme" jako domyślnego źródła, przekaźnika i hasła administracyjnego. Mimo że zgadzamy się na wszystkie ustawienia domyślne, te kroki muszą zostać wykonane, aby aktywować serwer Icecast2.
sudo apt-get zainstaluj icecast2
Krok 13:
Następnie musimy uruchomić menedżera plików GUI jako użytkownik root. Aby to zrobić, wybierz Menu GUI > Uruchom. Wpisz „sudo pcmanfm” i naciśnij enter. Spowoduje to otwarcie menedżera plików (odpowiednik eksploratora plików dla nas użytkowników systemu Windows) do katalogu domowego (/home/pi), a zobaczysz pozostały plik instalacyjny darkice, który wcześniej pobraliśmy wraz z plikiem temp.wav, który utworzyliśmy do przetestuj kartę dźwiękową. Kliknij prawym przyciskiem myszy puste miejsce w oknie eksploratora i wybierz Utwórz nowy, a następnie Opróżnij plik. Nazwij go "darkice.cfg" i kliknij OK. Następnie kliknij prawym przyciskiem myszy nowo utworzony plik i wybierz otwarcie go za pomocą Leafpad (odpowiednika notatnika Windows). Skopiuj poniższe linie i wklej je do Leafpad, a następnie kliknij Plik i Zapisz. Wybrane przeze mnie ustawienia zapewniają najlepszą jakość strumienia mp3, ale możesz chcieć je dostosować do niższych ustawień jakości, jeśli zamierzasz przesyłać strumieniowo poza swoją sieć, np. Internet. Upewnij się, że numer twojej karty dźwiękowej jest poprawny w wierszu "device = plughw:1, 0" Zauważysz, że wiersz "jakość" jest wykomentowany z # przed nim. Jest używany tylko wtedy, gdy ustawisz „bitrateMode = vbr” (zmienny bitrate). Nie możesz ustawić wartości jakości podczas korzystania z cbr (stała szybkość transmisji bitów), w przeciwnym razie strumień będzie się zacinał i przeskakiwał. Ten mały klejnot odkryłem dopiero po wielu godzinach frustracji. Założyłem, że wartość jakości zostanie zignorowana, jeśli użyjesz cbr, ale okazuje się, że tak nie jest i naprawdę rzuca się w wir pracy. I odwrotnie, jeśli zdecydujesz się użyć vbr, musisz skomentować linię "bitrate = 320" i odkomentować linię "jakość".
[ogólny]
duration = 0 # czas trwania w s, 0 zawsze bufferSecs = 1 # bufor, w sekundach reconnect = yes # reconnect jeśli rozłączony [input] device = plughw:1, 0 # Urządzenie karty dźwiękowej dla wejścia audio sampleRate = 44100 # częstotliwość próbkowania 11025, 22050 lub 44100 bitsPerSample = 16 # bits channel = 2 # 2 = stereo [icecast2-0] bitrateMode = cbr # stała przepływność (stała 'cbr', średnia 'abr') #quality = 1.0 # 1.0 to najlepsza jakość (używaj tylko z vbr) format = mp3 # format. Wybierz 'vorbis' dla OGG Vorbis bitrate = 320 # bitrate server = localhost # lub port IP = 8000 # port dla IceCast2 access password = hackme # source hasło dla IceCast2 server mountPoint = rapi.mp3 # punkt montowania na serwerze IceCast2.mp3 lub nazwa.ogg = Raspberry Pi
Krok 14:
Następnie musimy wykonać te same kroki, co poprzednio, aby utworzyć pusty plik o nazwie "darkice.sh". Plik.sh jest odpowiednikiem pliku.bat lub wsadowego dla systemu DOS lub Windows. Otwórz za pomocą Leafpad, skopiuj i wklej poniższe linie i zapisz.
#!/kosz/bash
sudo /usr/bin/darkice -c /home/pi/darkice.cfg
Krok 15:
Następnie musimy uruchomić polecenie, aby plik darkice.sh był wykonywalny. Otwórz okno terminala i wpisz „sudo chmod 777 /home/pi/darkice.sh” i naciśnij enter. Teraz nadszedł czas na uruchomienie usługi serwera Icecast2. Wpisz „sudo service icecast2 start” i naciśnij Enter.
sudo chmod 777 /home/pi/darkice.sh
usługa sudo icecast2 start
Krok 16:
Następnie musimy powiedzieć Darkice, aby uruchamiał się automatycznie po uruchomieniu Pi (serwer Icecast2 działa jako usługa i uruchamia się automatycznie po uruchomieniu). Najpierw musimy wybrać, którego edytora tekstu użyć. W oknie terminala wpisz „select-editor” i naciśnij enter. Wpisz „2”, aby wybrać edytor nano i naciśnij Enter. Następnie wpisz "crontab -e" i wejdź. Następnie przytrzymaj klawisz strzałki w dół, aby przewinąć do samego dołu wyświetlonego pliku tekstowego i dodaj ten wiersz „@reboot sleep 10 && sudo /home/pi/darkice.sh”. Następnie naciśnij Ctrl-X, aby wyjść, a pojawi się monit „Zapisać zmodyfikowany bufor?”. Naciśnij klawisz Y, aby wybrać Tak, a następnie wprowadź, aby potwierdzić, że nazwa pliku jest generowana automatycznie. Przełącznik uśpienia 10 mówi Pi, aby poczekał 10 sekund po uruchomieniu przed uruchomieniem strumienia audio. Daje to czas systemowi operacyjnemu na zainicjowanie karty dźwiękowej USB. Jeśli uruchomisz strumień przed aktywacją karty dźwiękowej USB, strumień nigdy się nie rozpocznie.
wybierz-edytor
crontab -e
@reboot sleep 10 && sudo /home/pi/darkice.sh
Krok 17:
Kliknij ikonę menu GUI i wybierz uruchom ponownie. Jeśli dokładnie wykonałeś wszystkie te kroki, strumień rozpocznie się automatycznie w dowolnym miejscu od 30 sekund do minuty po kliknięciu ponownego uruchomienia.
Krok 18:
AKTUALIZACJA: Nie mogę już odtwarzać strumienia bezpośrednio w Google Chrome. Myślę, że zepsuło się wraz z aktualizacją Chrome. Nadal działa dobrze na Sonos i innych moich aplikacjach do przesyłania strumieniowego.
Aby sprawdzić, czy strumień działa poprawnie, otwórz przeglądarkę internetową na zwykłym komputerze i przejdź do „https://192.168.1.146:8000” (oczywiście z prawidłowym adresem IP swojego Pi zamiast mojego), aby wyświetlić stan swojego Serwer Icecast2 firmy Pi. Aby słuchać, kliknij ikonę M3U w prawym górnym rogu lub możesz ręcznie wpisać „https://192.168.1.146:8000/rapi.mp3”, aby bezpośrednio otworzyć strumień i całkowicie pominąć pobieranie pliku listy odtwarzania.m3u. Jeśli słyszysz źródło na żywo, oznacza to, że Pi działa poprawnie i nadszedł czas, aby dodać je do Sonos.
Krok 19:
Aby dodać niestandardowy strumień do Sonos, musisz użyć aplikacji kontrolera komputerowego Sonos. Kliknij Zarządzaj > Dodaj stację radiową i wprowadź adres URL strumienia, który w moim przypadku brzmiał „https://192.168.1.146:8000/rapi.mp3”. Wprowadź również nazwę stacji i kliknij OK.
Krok 20:
Aby odtworzyć niestandardową stację radiową, którą właśnie dodaliśmy, wybierz „Radio by Tunein”, a następnie „Moje stacje radiowe”, a następnie zobaczysz swoje Raspberry Pi na liście. Kliknij dwukrotnie lewym przyciskiem myszy, aby odtworzyć, lub kliknij prawym przyciskiem myszy, aby edytować lub dodać stację do ulubionych Sonos.
Krok 21:
Po dodaniu niestandardowej stacji radiowej będzie ona natychmiast dostępna w Twojej aplikacji mobilnej Sonos. Firma Sonos niedawno zaktualizowała swoją aplikację do upiornie białego motywu, a także zmieniła nazwę „Ulubione Sonos” na „My Sonos” i używała do wszystkiego zbyt dużych miniatur. Na forach Sonos pojawiło się wiele reakcji, ponieważ stary format wyglądał i działał tak dobrze, a wszystko było łatwo dostępne, nie oślepiając Cię w ciemnym pokoju. Mam nadzieję, że wkrótce powrócą do starego stylu. W każdym razie w nowej aplikacji dotknij „Mój Sonos” u dołu, przewiń w dół do „Stacje” i dotknij „Zobacz wszystko”. Na następnym ekranie przewiń w dół, aż zobaczysz „Raspberry Pi”. Stuknij w nią, a rozpocznie się gra w wybranym pokoju (ach).
Krok 22:
Ostatnią rzeczą do zrobienia jest zainstalowanie Pi w obudowie. Wybrałem obudowę Flirc Raspberry Pi, ponieważ zarówno wygląda dobrze, jak i jest funkcjonalna. Cała aluminiowa obudowa działa jak radiator dla procesora Pi. Jeśli otrzymasz takie etui, odklej lepką stronę gąbczastej podkładki termicznej, która jest dołączona i przyklej ją do części obudowy, która sięga w dół, aby dotknąć procesora, a następnie odklej cienką folię z tworzywa sztucznego z drugiej, nieklejącej się folii stronę (strona, która dotyka procesora) przed zamknięciem obudowy.
Krok 23:
Tylko trochę sprzątania domu: jeśli planujesz pozostawić swoje Pi podłączone przez Ethernet, możesz wyłączyć radio Wi-Fi, aby zaoszczędzić trochę soku. Aby to zrobić, kliknij lewym przyciskiem myszy ikonę połączeń sieciowych (mała ikona strzałki w górę iw dół) i wybierz „Wyłącz Wi-Fi”. Możesz także wyłączyć radio bluetooth, klikając lewym przyciskiem myszy ikonę bluetooth. Ponadto program Darkice działa ukryty w tle, więc jeśli kiedykolwiek będziesz musiał go zatrzymać, otwórz okno terminala, wpisz „ps aux | grep darkice.cfg” i naciśnij enter, a następnie „sudo kill 976” (lub cokolwiek ID procesu to) i naciśnij Enter. Aby ponownie uruchomić strumień, wpisz „sudo darkice -c ~/darkice.cfg” i naciśnij enter lub po prostu uruchom ponownie. Byłem ciekaw, ile przepustowości używa Pi, gdy nie ma klientów podłączonych do serwera Icecast, więc zainstalowałem narzędzie do monitorowania przepustowości o nazwie vnstat i odpowiedź to 0 kbps. Jeśli nie ma podłączonych klientów, przepustowość nie jest w ogóle wykorzystywana. Powodzenia i dzięki za opiekę!
ps aux | grep darkice
sudo zabić 976
sudo darkice -c ~/darkice.cfg
Krok 24:
AKTUALIZACJA Listopad 2018: Niedawno wyprowadziłem się ze stanu i chciałem nadal słuchać transmisji meczów mojej drużyny sportowej na głośnikach Sonos. Napisałem scenariusz 17 lat temu, który każdego ranka czyta harmonogramy sportowe mojego zespołu, aby zobaczyć, czy tego dnia jest rozgrywany mecz. Jeśli tak, wysyła mi e-mail, ustawia kartę przechwytującą HDMI Hauppauge Colossus HDMI na nagrywanie gry z dekodera telewizji kablowej, a Total Recorder nagrywa transmisję radiową z radia podłączonego do wejścia liniowego mojego komputera. Ponieważ będę poza stanem, radio nie działa mi teraz dobrze, więc ustawiłem Raspberry Pi, aby automatycznie uruchamiał strumień transmisji gry w przeglądarce internetowej po uruchomieniu. Więc to, co się teraz dzieje, to kiedy przed grą uruchamia się mój komputer automatycznie włącza przełącznik Wemo podłączony do Pi, uruchamia się i zaczyna odtwarzać audycję radiową, a ja nagrywam z wyjścia słuchawkowego Pi za pomocą wejścia liniowego mojego komputera. Mój główny komputer uruchamiał stronę internetową i nagrywał ją wewnętrznie, ale nie podobało mi się, że mój komputer blokował całą grę. Chciałem również przesyłać dźwięk do moich głośników Sonos i pomyślałem, że byłoby to proste przy użyciu samego oprogramowania, ale okazuje się, że tak nie jest, ponieważ Darkice szuka sygnału wejściowego audio, a nie wyjścia. Najprostszym i najbardziej niezawodnym sposobem jest po prostu podłączenie jednego końca adaptera 3,5 mm do 2x RCA do wyjścia słuchawkowego Raspberry Pi, a drugiego końca do wejść RCA Behringer i wykonanie kroków w tej instrukcji, aby przesyłać strumieniowo wejście AUX z Behringer. FYI, aby automatycznie uruchomić stronę internetową przy starcie, musisz edytować plik autostartu w /etc/xdg/lxsession/LXDE-pi/autostart i dodać ten wiersz na końcu:
Działa świetnie!
Krok 25:
AKTUALIZACJA 4 czerwca 2019 r.: Przesyłanie strumieniowe dźwięku na żywo ze strony internetowej TuneIn mojego zespołu sportowego do Sonos działało świetnie, z wyjątkiem kilku ostatnich transmisji, których głośność była bardzo niska. Załadowałem kilka filmów z YouTube, które były głośne i wyraźne, więc ustawienie głośności gdzieś między stadionem a serwerami TuneIn musiało zostać obniżone. Nie jest to wielka sprawa, ponieważ jestem pewien, że zostanie to naprawione, ale skłoniło mnie to do wymyślenia sposobu na zwiększenie głośności wyjścia dźwiękowego Raspberry Pi do zewnętrznej karty dźwiękowej Behringer bez użycia oddzielnego wzmacniacza słuchawkowego. Zamówiłem tanią kartę dźwiękową USB za 10 USD z mocniejszym wyjściem i fizyczną regulacją głośności, ale musiałem wprowadzić kilka zmian, aby Raspberry Pi rozpoznało ją jako domyślną kartę dźwiękową. Aby wyłączyć wbudowaną kartę dźwiękową Pi, musisz kliknąć GUI Ikona menu na pulpicie (logo Raspberry), a następnie kliknij Uruchom i wpisz „sudo pcmanfm”, aby otworzyć Menedżera plików jako użytkownik root. Następnie przejdź do /etc/modprobe.d/ i otwórz plik „raspi-blacklist.conf” za pomocą leafpad i dodaj wiersz „blacklist snd_bcm2835” (bez cudzysłowów) i zapisz. Następnie przejdź do /lib/modprobe.d/ i otwórz plik „aliases.conf” i skomentuj wiersz „options snd-usb-audio index=-2”, wstawiając przed nim hashtag, aby wyglądał tak: "#options snd-usb-audio index=-2", a następnie zapisz. Uruchom ponownie, a następnie otwórz okno terminala i wpisz „arecord -l”, aby wyświetlić listę urządzeń przechwytujących, aby upewnić się, że karta dźwiękowa Behringer nadal ma ten sam numer urządzenia (numer po słowie „karta”), który jest wymieniony w pliku darkice.cfg on the line:device = plughw:1, 0 # Urządzenie karty dźwiękowej dla wejścia audio To wszystko. Te zmiany pozwolą, aby karta dźwiękowa USB była domyślnym dźwiękiem dla wszystkiego na Raspberry Pi. Możesz kliknąć prawym przyciskiem myszy ikonę głośnika na pulpicie i wybrać domyślną kartę dźwiękową USB.
Krok 26:
AKTUALIZACJA 5 czerwca 2019 r.: Kiedy zamówiłem kartę dźwiękową USB, o której mowa powyżej, zamówiłem również tanią kartę przechwytującą USB o wartości 15 USD, która ma wejścia stereo, aby sprawdzić, czy może być używana zarówno z Raspberry Pi jako tańszą alternatywą dla karty Behringer, jak i czy miał sterowanie przechwytywaniem oprogramowania, a odpowiedź na oba pytania brzmi: tak! Aby aktywować sterowanie przechwytywaniem, kliknij prawym przyciskiem myszy ikonę głośnika i kliknij „Ustawienia urządzenia USB…”, a następnie „Wybierz sterowanie…”, a następnie zaznacz pole mikrofonu i kliknij „Zamknij”. Mimo że ma tylko opcję „Mikrofon”, mogę potwierdzić, że rzeczywiście jest to wejście stereo, korzystające z wejść 3,5 mm lub RCA.
Drugie miejsce w konkursie Raspberry Pi 2017