Spisu treści:

Raspberry Pi Audio Dac-Amp-Streamer: 14 kroków
Raspberry Pi Audio Dac-Amp-Streamer: 14 kroków

Wideo: Raspberry Pi Audio Dac-Amp-Streamer: 14 kroków

Wideo: Raspberry Pi Audio Dac-Amp-Streamer: 14 kroków
Wideo: Build a Streamer or Dac 2024, Grudzień
Anonim
Wzmacniacz dac-strumieniowy Raspberry Pi Audio
Wzmacniacz dac-strumieniowy Raspberry Pi Audio
Wzmacniacz dac-strumieniowy Raspberry Pi Audio
Wzmacniacz dac-strumieniowy Raspberry Pi Audio

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

Nabywanie
Nabywanie

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

Złóż sprzęt
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

Podłącz do Pi i podłącz głośniki
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

Pobierz Raspbian Lite
Pobierz Raspbian Lite
Pobierz Raspbian Lite
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

Skonfiguruj Pi
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

Zainstaluj Mopidy
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ę

Skonfiguruj Mopidy jako usługę
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ę

Dodaj własną muzykę
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

Wniosek
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: