Spisu treści:
- Krok 1: Zaopatrzenie
- Krok 2: Złóż sprzęt
- Krok 3: Podłącz do Pi i podłącz głośniki
- Krok 4: Pobierz Raspbian Lite
- Krok 5: Skonfiguruj Pi
- Krok 6: Użyj SSH, aby otworzyć sesję na zdalnym komputerze
- Krok 7: Zainstaluj Mopidy
- Krok 8: Użyj Pythona Pip do zainstalowania innych… instalacji (rozszerzeń)
- Krok 9: Skonfiguruj Mopidy jako usługę
- Krok 10: Dodaj własną muzykę
- Krok 11: Plik konfiguracyjny karty dźwiękowej - Asound.conf
- Krok 12: Upewnij się, że używamy właściwej nakładki do pliku Configure.txt w /boot
- Krok 13: Ciesz się muzyką
- Krok 14: Wniosek
Wideo: Raspberry Pi Audio Dac-Amp-Streamer: 14 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Zmień przeznaczenie przestarzałego kapelusza głosowego Google AIY jako dedykowanego bezgłowego urządzenia do strumieniowego przesyłania dźwięku stereo.
Teraz, gdy zestawy głosowe Google AIY zbliżają się do wieku dwóch lat, być może zauważyłeś, że nowość nieco się wyczerpała. A może zastanawiasz się, czy reklamy Twojej przeglądarki dotyczące najbliższego renesansowego festiwalu mają coś wspólnego z pytaniem, które zadałeś, o to, gdzie możesz znaleźć dobrą ofertę na buty do biegania pod zbroją.
Jeśli już go posiadasz, ten projekt pokaże Ci, jak wykorzystać istniejący zestaw głosowy Google AIY i wykorzystać go jako dedykowany streamer audio bez głowy. Jeśli nie masz jeszcze zestawu, a mieszkasz w pobliżu mikrocentrum; masz szczęście – wciąż jest ich wiele i wątpię, czy wyjdą taniej niż obecna cena 5 USD. (w rzeczywistości są to 3 dolary od lipca 2019 r.).
Ten projekt dotyczy audio i nie ma nic wspólnego ze sztuczną inteligencją. Będziemy pracować nad zupełnie oddzielnym systemem operacyjnym, przechowywanym na osobnej karcie micro sd, co pozwoli zachować wszystkie funkcje AI w nienaruszonym stanie. Ponadto poprawimy wrażenia użytkownika, wprowadzając dźwięk stereo (za kilka dolarów więcej), ponieważ budujemy skalowalne urządzenie do strumieniowego przesyłania dźwięku. Wreszcie, po zakończeniu tego projektu, pozostawimy czapkę głosową w stanie gotowym do przyszłej rozbudowy. Ograniczeniem ekspansji będzie tylko nasza kreatywność.
Krok 1: Zaopatrzenie
Napiszę tę instrukcję z perspektywy, że nie masz jeszcze zestawu Google Voice w swoim posiadaniu. Jeśli masz już konfigurację zestawu głosowego - dodatkowe potrzebne elementy są oznaczone poniżej *. Ponadto najnowsza oferta Raspberry Pi (Pi 3 A+) doskonale nadaje się do tego projektu w oparciu o jego format, a i tak bardzo polecam zakup. Jednak każde Pi powinno działać tak długo, jak długo pomieści czapkę zestawu głosowego i GPIO.
Składniki:
- Raspberry Pi (polecamy Pi 3 A+)
- 5.25V 2.4-amperowy zasilacz micro usb
- Karta Micro SD (w zależności od rozmiaru kolekcji muzycznej, 16 GB powinno wystarczyć)
- Przetwornik i wzmacniacz Max98357A (od Adafruit)*
- Głośnik*(y). Do zestawu dołączony jest jeden, jednak do uzyskania stereo będziemy potrzebować dodatkowego głośnika. (także Adafruit)
- Zestaw głosowy Google AIY
- Nagłówek – pojedyncze pasmo*
- Przewód głośnikowy*
Potrzebne narzędzia: lutownica, lut, śrubokręt krzyżakowy rozmiar 00 lub 000. ściągacze izolacji, taśma maskująca lub malarska do tymczasowego zabezpieczenia główki podczas lutowania, przejściówka USB na micro SD.
Krok 2: Złóż sprzęt
Po wyjęciu z pudełka czapka głosowa pojawia się w trybie mono. Na szczęście inżynierowie z Google zaprojektowali płytę, aby umożliwić uaktualnienie do stereo, po prostu dodając kolejną płytę Max98357a, aby siedziała jako kolejny kapelusz. Nakreślili nam nawet pudełko.
Zgadłeś: będziemy konstruować kapelusz na kapeluszu. Sprzęt na wierzchu Sprzęt już na wierzchu.
Używając nagłówka dostarczonego przez zestaw układów Adafruit Max98357a, zaczynamy od przylutowania 7-pinowego nagłówka do czapki głosowej bezpośrednio pod słowami „AIY projects Voice Hat”. Kawałek taśmy maskującej przymocowany do dłuższych męskich pinów do czoła płytki może być przydatny, aby zapobiec wysuwaniu się nagłówków z miejsca, ponieważ podczas tego etapu lutowania będziemy pracować z płytą do góry nogami.
Przylutuj również dwa piny wewnątrz obrysowanego na biało pudełka do czapki głosowej, w której będzie znajdować się niebieska płytka max98357a.
NIE WŁĄCZAJ ZŁĄCZA GŁOŚNIKOWEGO DO PŁYTY MAX98357a!
Zamiast tego podłącz zaciski głośnikowe do czapki głosowej, wyrównane bezpośrednio pod miejscem, w którym właśnie przylutowano dwa bieguny. Połączenie lewego głośnika i połączenie prawego głośnika powinny być ustawione obok siebie w jednym rzędzie czterech zacisków.
Odwróć planszę prawą stroną do góry.
Przylutuj zworkę oznaczoną „JP4” zamkniętą pozostawiając na niej kroplę lutowia. Nie zapomnij o tej części, bo nie będziemy mieli stereo!
Ostrożnie przymocuj niebieską płytkę max98357a do długich męskich kołków wystających z czapki głosowej. To było trochę trudne, więc postaraj się przylutować piny tak prostopadle do płytki, jak to możliwe. Z niewielką sprzeczką z dwoma pinami udało mi się to osiągnąć przy niewielkim wysiłku.
Dokończ lutowanie męskich pinów do niebieskiego układu max98357a – zarówno siedmiopinowa główka, jak i dwupinowa główka powinny mocno trzymać max98357a na swoim miejscu.
Skończ z lutowaniem!
Krok 3: Podłącz do Pi i podłącz głośniki
Używając dwóch nylonowych podkładek dystansowych dostarczonych z zestawem, ostrożnie połącz żeński zestaw głosowy na męskich nagłówkach raspberry pi. Nylonowe elementy dystansowe powinny zatrzasnąć się na swoim miejscu, zapewniając bezpieczne dopasowanie do przeciwległych rogów głowicy.
Za pomocą małego śrubokręta Philips (000 lub 00) odkręć śruby na zacisku głośnikowym na tyle, aby przewód głośnikowy zmieścił się w otworach zaciskowych. Nie powinno być konieczne wykręcanie śrub, ale wystarczy je otworzyć w miejscu, w którym czują się poluzowane.
Włóż mały przewód głośnikowy do otworu i dokręć śruby, aby mocno przytrzymać przewód głośnikowy na miejscu.
Uznałem, że ten krok był najbardziej zniechęcającym wyzwaniem całego projektu – nie mogłem znaleźć wystarczająco małego śrubokręta lub mój cienki przewód głośnikowy był zbyt cienki, aby wchłonąć ściskanie śruby i wolałby się złamać niż mocno trzymać. Zrobiłem modyfikację, budując „końcówki” lub mniejsze druty, które były wystarczająco twarde, aby wytrzymać ściskanie i wystarczająco długie, aby można je było przylutować do gołych końców przewodu głośnikowego. Brzydkie, tak, ale skuteczne.
Gotowe ze sprzętem!
Krok 4: Pobierz Raspbian Lite
Wielu z Was dobrze zna już proces pobierania i nagrywania obrazów na kartę SD, a kolejne kroki nieco wykraczają poza zakres tego projektu. Na wszelki wypadek wypunktuję poniższe kroki, ale jeśli nadal utkniesz, jest mnóstwo zasobów, które mogą Ci pomóc.
Ostatnia edycja: czerwiec 2020 r. dla Buster Lite Download.
· Pobierz i zainstaluj Etcher firmy Balena Software
· Pobierz najnowszy system operacyjny Raspbian Lite ze strony raspberrypi.org
· Używając Etchera, zapisz obraz Raspbian na karcie SD
· Po zakończeniu, chyba że używasz pi zero w - przenieś nowo zobrazowaną kartę SD do naszego Raspberry Pi. Jeśli używasz pi zero w, musimy dokonać pewnych zmian w pliku WPA_Supplicant.conf na partycji rozruchowej, aby skonfigurować Wi-Fi.
Krok 5: Skonfiguruj Pi
Dzięki naszemu nowo utworzonemu obrazowi zwiększmy moc pi. Ale najpierw pożyczmy monitor i klawiaturę, aby pomóc w konfiguracji. Włóż kartę micro sd i podłącz kabel ładujący micro USB. Przy odrobinie szczęścia zielona dioda LED zamiga kilka razy podczas uruchamiania. Pierwsze uruchomienie może zająć kilka minut, ale w ciągu 5 minut powinniśmy być gotowi do pracy nad naszą konfiguracją. "Lite" Raspbian nie posiada pulpitu.
W wierszu polecenia: zaloguj się jako pi, hasło „malinowy”.
· Uzyskaj dostęp do panelu konfiguracji, wpisując „sudo raspi-config” w wierszu polecenia.
· Natychmiast zmień hasło.
· Skonfiguruj Wi-Fi za pomocą opcji sieciowych w panelu konfiguracyjnym
· Zmień opcje lokalizacji i ustaw strefę czasową
· Włącz SSH za pomocą opcji panelu interfejsów
· Uruchom „sudo apt-get update”, aby zaktualizować oprogramowanie do najnowszej wersji
Będziemy potrzebować adresu IP Pi. Polecam aplikację o nazwie „FING”, którą można pobrać na dowolne urządzenie z Androidem i wyświetli listę wszystkich urządzeń podłączonych do Twojej sieci. Szukalibyśmy urządzenia o nazwie „raspberrypi”. Zapisz adres IP.
Od tego momentu nie będziemy już potrzebować monitora ani klawiatury. Wszystkie dalsze konfiguracje będą wykonywane za pomocą linii poleceń poprzez sesję SSH.
Krok 6: Użyj SSH, aby otworzyć sesję na zdalnym komputerze
Korzystanie z SSH jest dość proste. Otwórz okno terminala z dowolnego urządzenia w sieci i wpisz polecenie
ssh pi@myipaddress
Zastąp „myipaddress” wartościami liczbowymi uzyskanymi za pomocą fing.
Po raz pierwszy możesz zostać powitany przerażającym ostrzeżeniem wskazującym, że nie jesteś na liście zaproszonych, jednak jest zdanie, które powinno brzmieć „aby usunąć to…”, skopiuj długi ciąg znaków i wklej go do polecenia monit, naciśnij Enter. Następnie za pomocą klawisza strzałki w górę powtórz polecenie ssh pi@myipaddress, wybierz tak, a teraz wprowadź hasło. Gratulacje!, masz teraz połączenie z urządzeniem, jeśli patrzysz na wiersz polecenia „pi@raspberrypi: ~ $”.
Krok 7: Zainstaluj Mopidy
Zainstalujemy Mopidy jako nasz serwer muzyczny. Jest tu mnóstwo opcji, ale pokażę ci, jak zainstalować rozszerzenie o nazwie „Music Box”, które pozwoli ci sterować muzyką z interfejsu internetowego zamiast wiersza poleceń.
Co to jest Mopidy? Według strony internetowej Mopidy to ciąg wielkich słów, które sprawiają, że w tej chwili czuję się gorszy, ale powiedzmy, że Mopidy to platforma, z której będzie odtwarzana nasza muzyka. Będzie to serwer muzyczny, MPD (demon odtwarzacza muzyki) i serwer WWW. Dodatek PiMusic Box będzie oferował stronę internetową, do której możemy nawigować i kontrolować Mopidy. Pomyślałem, że skoro dobrze współpracuje z wieloma popularnymi usługami, takimi jak Spotify czy Google Play Music, byłoby to odpowiednie dla tej instrukcji. Poza tym jest fajnie.
Poniżej znajdują się instrukcje bezwstydnie skopiowane z Mopidy do zainstalowania z wiersza poleceń:
1. Dodaj klucz GPG archiwum:
sudo wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
2. Dodaj repozytorium APT do źródeł pakietów:
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list
Na koniec zainstaluj mopidy:
aktualizacja sudo apt-get
sudo apt-get zainstaluj mopidy
Koniec bezwstydnej kopii.
Krok 8: Użyj Pythona Pip do zainstalowania innych… instalacji (rozszerzeń)
Właśnie zainstalowaliśmy zwykły waniliowy Mopidy, ale dopiero zaczynamy. Rozszerzenia będą naszymi blokami konstrukcyjnymi, które pozwolą dostosować nasze zwykłe waniliowe Mopidy. Ponieważ większość rozszerzeń, które dołączymy do podstawowego mopidy, jest napisana w Pythonie, użyjemy odpowiednika apt, który jest specyficzny dla Pythona.
Zanim zaczniemy używać pip, najpierw upewnijmy się, że mamy wszystkie wtyczki gstreamer używające apt:
sudo apt zainstalować
python3-gst-1.0 / gir1.2-gstreamer-1.0 / gir1.2-gst-plugins-base-1.0 / gstreamer1.0-plugins-good / gstreamer1.0-plugins-ugly / gstreamer1.0-plugins-bad / gstreamer1.0-narzędzia
Instalacja może potrwać kilka minut. Bez Gstreamera możesz nie być w stanie przesyłać muzyki.
A teraz możemy zainstalować python pip:
sudo apt install build-essential python3-dev python3-pip
Teraz możemy użyć pip, aby dodać więcej mopidych bryłek. Pip to narzędzie Pythona, podobne do apt, ale uważam, że działa trochę szybciej niż apt. Trochę wolno poza blokiem, ale zaczyna się dość szybko.
Poniżej znajdują się cztery, od których możemy zacząć:
Fronton internetowy. Użyjmy Iris, ale jeśli chcesz, możesz zamiast tego spróbować mopidy-musicbox-webclient:
sudo python3 -m pip zainstaluj Mopidy-Iris
Koncentrator internetowych stacji radiowych z 30 kanałami:
sudo python3 -m pip zainstaluj mopidy-somafm
Kolejne centrum usług radia internetowego z jeszcze większą liczbą kanałów:
sudo python3 -m pip zainstaluj mopidy-TuneIn
I kolejny frontend na urządzenia mobilne. Stacje radiowe i Iris nie grają razem dobrze, ale telefon komórkowy ma wszystkie rodzaje internetowych stacji racjonowania, których można słuchać:
sudo python3 -m pip zainstaluj Mopidy-Mobile
Po zakończeniu powinieneś mieć dostęp do Music Box za pomocą:
myipaddress:6680/iris/ -lub-
Nadal nic nie wyjdzie z głośników, jeśli spróbujesz odtworzyć muzykę.
Lista innych funkcji i rozszerzeń: Pomóż sobie:
sudo pip search mopidy
Tutaj możesz kontynuować dodawanie rozszerzeń według własnego uznania.
Mam załączony przykładowy plik konfiguracyjny mopidy. Zachęcamy do korzystania z zawartości w /etc/mopidy/mopidy.conf
sudo nano /etc/mopidy/mopidy.conf
Krok 9: Skonfiguruj Mopidy jako usługę
Ponieważ będziemy chcieli uruchomić mopidy przy starcie, dwa polecenia pozwolą uruchomić mopidy przy starcie:
sudo systemctl włącz mopidy
sudo dpkg-reconfigure mopidy
Uruchom ponownie, a następnie uruchom
sudo systemctl status mopidy – l
aby sprawdzić swój status. Powinieneś zobaczyć zielony wskaźnik. Mopidy ma bardzo przydatną stronę pomocy technicznej, która pomaga w dalszych opcjach konfiguracji. Sprawdź stronę dokumentacji Mopidy, aby uzyskać więcej informacji.
Krok 10: Dodaj własną muzykę
Domyślnie mopidy będzie chciał przechowywać lokalną muzykę w folderze /var/lib/mopidy/media. Skopiuj tam swoją kolekcję muzyki. Uważam, że najłatwiej jest po prostu wyjąć kartę SD z pi (po bezpiecznym wyłączeniu) i za pomocą adaptera micro SD do USB, podłączyć adapter do jednostki pamięci i tam skopiować/wkleić. (może to chwilę potrwać w zależności od wielkości kolekcji). Po zakończeniu zwróć kartę SD do pi, uruchom ją, podłącz ponownie, a następnie wpisz:
lokalne skanowanie sudo mopidyctl
Spowoduje to dodanie Twojej muzyki do lokalnej biblioteki multimediów w Music Box. Możesz zauważyć, że pliki.wma nie są rozpoznawane jako audio, a pliki.ogg wydają się być pomijane podczas skanowania. Pliki MP3 nie powinny jednak stanowić problemu.
Krok 11: Plik konfiguracyjny karty dźwiękowej - Asound.conf
Nie powinieneś mieć jeszcze niczego w /etc/asound.conf, ale jeśli to zrobisz, zamień zawartość na poniższe lub utwórz ją za pomocą:
sudo nano /etc/asound.conf
i wklej:
opcje snd_rpi_googlehat_soundcard index=0
pcm.softvol { type softvol slave.pcm dmix control { nazwa Master card 0 } } pcm.!default { type asym playback.pcm "plug:softvol" } ctl.!default { type hw card 0 }
ctrl-x i Y, aby zapisać powyższe jako nowy plik asound.conf.
Krok 12: Upewnij się, że używamy właściwej nakładki do pliku Configure.txt w /boot
rodzaj
sudo nano /boot/config.txt
Kilka ostatnich linijek powinno przypominać coś podobnego do poniższego. Chcemy mieć pewność, że standardowy dźwięk jest wykomentowany, wraz z każdą poprzednią nakładką, taką jak mój hifiberry dac, podczas implementacji nakładki kapelusza głosowego Google. Na koniec chcemy poinstruować pi, aby używało mapowania i2s. Wskaźnik # mówi systemowi, aby zignorował linię.
# Włącz dźwięk (ładuje snd_bcm2835)
#dtparam=audio=on #dtoverlay=hifiberry-dac dtoverlay=googlevoicehat-soundcard dtoverlay=i2s-mmap
uruchom ponownie, jeśli wszystko wygląda podobnie do powyższego. Poczekaj kilka minut, otwórz przeglądarkę z adresem URL pozytywki i odtwórz muzykę.
Krok 13: Ciesz się muzyką
Jeśli słuchasz dobroci stereo, misja wykonana!
Jedną z pięknych rzeczy związanych z używaniem Raspberry Pi jako bezgłowego serwera muzycznego podłączonego do Wi-Fi jest to, że działa bez zajmowania wielu zasobów. To prawda, że wypompowujemy tylko 3 waty na kanał, ale to prawdopodobnie wystarczy do słuchania z bliskiej odległości. Bateria Twojego telefonu Ci podziękuje.
Jest też bardzo istotny czynnik ekologiczny – popijamy tylko 5,25 wolta energii. W porównaniu do Bluetooth, możemy ustawić strumień radiowy i nie być zakotwiczonym w zasięgu Bluetooth o długości 30 stóp. Jeśli chodzi o nasz telefon, możemy odbierać połączenia, grać w grę i poruszać się nieco swobodniej, nie przerywając strumienia muzyki. Tylko zarysowaliśmy powierzchnię. Istnieje mnóstwo dostępnych rozszerzeń mopidy do zbadania, a mopidy ma rosnącą bazę programistów, ponieważ jest to oprogramowanie typu open source. Pozwolę Ci samodzielnie poznać interesujące Cię funkcje.
Krok 14: Wniosek
Jedną z najbardziej wyróżniających się cech tego projektu jest to, że nie ograniczamy naszego pi poprzez blokowanie dostępu do GPIO. Daje nam to dostęp do wielu dalszych opcji, ponieważ czapka głosowa została tak dobrze zaprojektowana. Na przykład, mój następny projekt będzie polegał na dodaniu chwilowego przełącznika przyciskowego jako przycisku zamykającego. Powinno być łatwe, a ja już wiem, gdzie szpilki mają trafić: nie są zatkane. Stamtąd? Cóż, w tym projekcie całkowicie zignorowaliśmy mikrofon – może pi karaoke? Może pokaz świetlny LED lub dodać silnik do toczącej się szafy grającej? Wszystkie piny są nadal dostępne i dostępne. Powstaje pytanie, dlaczego nie? I na wypadek, gdybyś chciał wrócić do AI, po prostu włóż starą kartę SD i pozwól google odpowiedzieć w stereo.
Zalecana:
USB Audio DAC: 12 kroków
USB Audio DAC: Wykorzystuje standardowe sterowniki, działa z systemami Windows, Mac i wieloma dystrybucjami Linuksa, ale ogranicza wydajność do 16 bitów, 48 kHz Zbalansowane (pro) wyjścia liniowe z tyłu (XLR / 6,35 mm) Poziom liniowy (pro) wyjście z przodu (RCA)Brak wyjścia s
Arduino i PCF8591 ADC DAC IC: 7 kroków
Arduino i PCF8591 ADC DAC IC: Czy kiedykolwiek chciałeś mieć więcej analogowych pinów wejściowych w swoim projekcie Arduino, ale nie chciałeś rozwidlać się na Mega? A może chcesz generować sygnały analogowe? Następnie sprawdź temat naszego samouczka – układ scalony NXP PCF8591. Rozwiązuje oba te problemy
Zrób to sam: Audio DAC - DSD, MP3 i Radio Volumio Player: 3 kroki
Zrób to sam: Audio DAC - DSD, MP3 i Radio Volumio Player: Testowane DSD: DSD64, DSD128 & DSD256
Odtwarzanie plików dźwiękowych audio (Wav) za pomocą Arduino i DAC: 9 kroków
Odtwarzanie plików dźwiękowych audio (Wav) za pomocą Arduino i DAC: Odtwarzaj dźwięk w formacie wav z karty SD Audino. Ta instrukcja pokaże Ci, jak plik wav na karcie SD można odtworzyć za pomocą prostego obwodu do głośnika. Plik wav musi być 8-bitowy w trybie mono. Nie miałem problemu z odtwarzaniem plików 44 KHz. Chociaż nie
Selektor audio Mint Box: Przełącznik audio 3,5 mm: 6 kroków
Mint Box Audio Selector: 3,5 mm przełącznik audio: Problem: Często na biurku muszę używać słuchawek do gier lub słuchania muzyki, gdy inne osoby są w pokoju, a następnie muszę przełączyć się na głośniki, jeśli chcę się pochwalić zabawnym wideo lub zadzwoń przez Internet do dalekiego krewnego. NS