Sadržaj:

Raspberry Pi audio Dac-pojačalo-streamer: 14 koraka
Raspberry Pi audio Dac-pojačalo-streamer: 14 koraka

Video: Raspberry Pi audio Dac-pojačalo-streamer: 14 koraka

Video: Raspberry Pi audio Dac-pojačalo-streamer: 14 koraka
Video: Build a Streamer or Dac 2024, Juli
Anonim
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer

Zamijenite datirani Google AIY glasovni šešir kao namjenski stereo audio uređaj bez glave.

Sada kada Google AIY glasovni kompleti napune dvije godine, možda ste otkrili da je novitet malo istrošen. Ili se možda pitate da li oglasi vašeg preglednika za najbliži renesansni festival imaju ikakve veze s pitanjem koje ste postavili o tome gdje biste mogli naći dobru ponudu za tenisice pod oklopom.

Ako već posjedujete jedan, ovaj će vam projekt pokazati kako uzeti svoj postojeći Google AIY glasovni komplet i ponovo ga namjeniti kao namjenski audio stream bez glave. Ako već nemate komplet, a živite u blizini Mikro centra; imate sreće - ima ih još dosta i sumnjam da će oni biti jeftiniji od trenutne cijene od 5 USD. (zapravo, oni su 3 USD od jula 2019.).

Ovaj projekt je posvećen zvuku i nema nikakve veze s AI. Radit ćemo na potpuno odvojenom operativnom sistemu pohranjenom na zasebnoj micro sd kartici, što će vam omogućiti da zadržite sve AI funkcije netaknutima. Nadalje, poboljšat ćemo korisničko iskustvo uvođenjem stereo zvuka (za nekoliko dolara više) dok gradimo skalabilni uređaj za streaming zvuka. Konačno, po završetku ovog projekta, ostavit ćemo glasovni šešir u stanju spremnom za buduće proširenje. Ograničenja proširenja bit će samo naša kreativnost.

Korak 1: Nabavka

Nabavka
Nabavka

Napisat ću ovo uputstvo iz perspektive da već nemate komplet Google Voicea u posjedu. Ako ste već postavili glasovni komplet - dodatne stavke su označene sa * ispod. Takođe, najnovija Raspberry Pi ponuda (Pi 3 A+) savršeno je prilagođena ovom projektu na osnovu njene forme, pa toplo preporučujem da je ipak kupite. Međutim, bilo koji Pi bi trebao učiniti sve dok u njega stanu šešir glasovnog kompleta i GPIO -i.

Sastojci:

  • Raspberry Pi (preporučuje se Pi 3 A +)
  • 5,25 V 2,4 amp mikro USB napajanje
  • Micro SD kartica (ovisno o veličini vaše muzičke kolekcije, 16 GB bi trebalo biti dovoljno)
  • Max98357A dac i pojačalo (iz Adafruit -a)*
  • Zvučnik*(i). Komplet dolazi s jednim, međutim za stereo će nam trebati dodatni zvučnik. (takođe Adafruit)
  • Google AIY Voice komplet
  • Zaglavlje - single band*
  • Zvučnik zvučnika*

Potrebni alati: lemilica, lem, odvijač Philips veličine 00 ili 000. skidači žica, maskirna traka ili traka za slikanje za privremeno pričvršćivanje zaglavlja tokom lemljenja, USB na mikro SD adapter.

Korak 2: Sastavite hardver

Sastavite hardver
Sastavite hardver

Iz kutije, glasovni šešir stiže u mono modu. Srećom, inženjeri u Googleu dizajnirali su ploču tako da omogući nadogradnju na stereo jednostavno dodavanjem još jedne ploče Max98357a koja će sjediti kao još jedan šešir. Čak su nam i ocrtali okvir.

Pogađate: Konstruiraćemo šešir na šeširu. Hardver na vrhu Hardver je već na vrhu.

Koristeći zaglavlje koje pruža Adafruit Max98357a čip set, započinjemo lemljenjem 7 -polnog zaglavlja na glasovni šešir neposredno ispod riječi „AIY Projects Voice Hat“. Komad maskirne trake pričvršćene na duže muške igle na ploču ploče može biti koristan da spriječi klizanje zaglavlja s mjesta jer ćemo u ovoj fazi lemljenja raditi s pločom naopako.

Takođe lemite dva igla unutar bijelog okvira sa glasovnim šeširom na kojem će sjediti plava ploča max98357a.

NE LETAJTE KONEKTOR ZVUČNIKA NA PLOČU MAX98357a!

Umjesto toga, priključite stezaljke zvučnika na glasovni šešir, poravnane direktno ispod mjesta gdje su dva pola upravo zalemljena. Priključak lijevog zvučnika i desnog zvučnika trebali bi biti poravnani jedan pored drugog, u jednom redu od četiri terminala.

Okrenite ploču desnom stranom prema gore.

Lemite kratkospojnik sa oznakom „JP4“zatvarajući ostavljajući kap lemljenja na kratkospojniku. Ne zaboravite ovaj dio ili nećemo imati stereo!

Pažljivo pričvrstite plavu ploču max98357a na duge muške igle koje strše iz kape. Ovo je bilo malo teško, pa pokušajte lemiti pinove što je moguće okomito na ploču. Uz malo manje previjanje dvopolnog zaglavlja, uspio sam to postići uz manji napor.

Dopunite lemljenje muških pinova na plavi čip max98357a - i sedmo -zaglavlje i dvo -zaglavlje trebaju čvrsto držati max98357a.

Gotovo sa lemljenjem!

Korak 3: Priključite na Pi i povežite zvučnike

Priključite na Pi i povežite zvučnike
Priključite na Pi i povežite zvučnike

Koristeći dva najlonska odstojnika koji ste dobili s kompletom, pažljivo spojite ženski ženski glas na vrhu muških zaglavlja na malini pi. Najlonski odstojnici trebali bi sjesti na svoje mjesto i osigurati njihovo sigurno postavljanje na suprotnim uglovima zaglavlja.

Koristeći mali Philips odvijač s glavom (000 ili 00), otpustite vijke na terminalu zvučnika dovoljno da žica zvučnika stane u otvore za kompresiju. Ne morate skidati vijke, već ih otvorite dovoljno tamo gdje se osjećaju labavo.

Umetnite žicu zvučnika vašeg malog promjera u otvor i pritegnite vijke da čvrsto držite žicu zvučnika.

Smatrao sam da je ovaj korak najveći izazov u cijelom projektu - nisam mogao pronaći odvijač dovoljno mali ili mi je krhka žica zvučnika bila previše fina da apsorbira kompresiju vijka i radije bi se slomila nego čvrsto držala. Napravio sam izmjenu tako što sam izgradio "žice" ili manje žice koje su bile dovoljno čvrste da izdrže kompresiju, i dovoljno dugačke da budu lemljene na gole krajeve žice zvučnika. Ružno, da- ali efikasno.

Završilo sa hardverom!

Korak 4: Preuzmite Raspbian Lite

Preuzmite Raspbian Lite
Preuzmite Raspbian Lite
Preuzmite Raspbian Lite
Preuzmite Raspbian Lite

Mnogi od vas su već dobro upoznati s procesom preuzimanja i snimanja slika na SD karticu, a sljedeći koraci su malo izvan opsega ovog projekta. Za svaki slučaj ću navesti dolje navedene korake, ali ako se i dalje zaglavite, postoje tone resursa za pomoć.

Zadnja izmjena: lipanj 2020. za preuzimanje Buster Lite.

· Preuzmite i instalirajte Etcher by Balena Software

· Preuzmite najnoviji Raspbian Lite OS sa raspberrypi.org

· Koristeći Etcher, zapišite Raspbian sliku na SD karticu

· Kada završite, osim ako ne koristite pi nulu w - prenesite novo snimljenu SD karticu na našu Raspberry Pi. Ako koristite pi zero w, moramo napraviti neke izmjene u datoteci WPA_Supplicant.conf na particiji za pokretanje kako bismo postavili vaš WiFi.

Korak 5: Konfigurirajte Pi

Konfigurirajte Pi
Konfigurirajte Pi

Pomoću naše novostvorene slike, pojačajmo pi. Ali prvo posudimo monitor i tastaturu za pomoć u konfiguraciji. Umetnite micro sd karticu i priključite mikro USB kabel za punjenje. Srećom, zeleno LED svjetlo će treperiti nekoliko puta dok se pokreće. Prvo pokretanje može potrajati nekoliko minuta, ali u roku od 5 minuta trebali bismo biti spremni za rad na našoj konfiguraciji. "Lite" Raspbian nema radnu površinu.

Jednom u komandnoj liniji: prijavite se kao pi, lozinka „malina“.

· Pristupite konfiguracijskoj ploči upisivanjem “sudo raspi-config” u naredbeni redak.

· Odmah promijenite lozinku.

· Podesite wifi pomoću mrežnih opcija na konfiguracijskoj ploči

· Promijenite opcije lokalizacije i postavite svoju vremensku zonu

· Omogućite SSH pomoću opcije panela interfejsa

· Pokrenite „sudo apt-get update“da ažurirate softver na najnoviju verziju

Trebat će nam IP adresa Pi -a. Preporučujem aplikaciju pod nazivom "FING" koja se može preuzeti na bilo koji Android uređaj i popisivat će sve uređaje povezane na vašu mrežu. Tražili bismo uređaj koji se zove “raspberrypi”. Zapišite IP adresu.

Od ovog trenutka nadalje nećemo zahtijevati monitor ili tastaturu. Sve daljnje konfiguracije bit će izvedene pomoću naredbenih redaka kroz SSH sesiju.

Korak 6: Koristite SSH za otvaranje sesije na udaljenoj mašini

Korištenje SSH -a prilično je osnovno. Otvorite prozor terminala sa bilo kojeg uređaja na mreži i upišite naredbu

ssh pi@myipaddress

Zamijenite “myipaddress” brojčanim vrijednostima dobivenim pomoću finga.

Po prvi put će vas možda dočekati zastrašujuće upozorenje koje ukazuje da niste na listi pozvanih, međutim postoji rečenica koja bi trebala glasiti "ukloniti ovo …" kopirati dugačak niz znakova i zalijepiti je u naredbu odziv, pritisnite enter. Zatim pomoću tipke sa strelicom prema gore ponovite naredbu ssh pi@myipaddress, odaberite da, a zatim unesite svoju lozinku. Čestitamo !, sada ste povezani sa svojim uređajem ako gledate naredbeni redak "pi@raspberrypi: ~ $".

Korak 7: Instalirajte Mopidy

Instalirajte Mopidy
Instalirajte Mopidy

Mopidy ćemo instalirati kao naš muzički server. Ovdje ima mnogo opcija, ali pokazat ću vam kako instalirati ekstenziju pod nazivom "Music Box" koja će vam omogućiti kontrolu muzike s web sučelja umjesto iz naredbenog retka.

Šta je Mopidy? Prema web stranici, Mopidy je niz velikih riječi zbog kojih se trenutno osjećam prilično inferiorno, ali recimo samo da je Mopidy platforma s koje će naša muzika svirati. To će biti muzički server, MPD (demon muzičkog playera) i web server. Dodatak PiMusic Box će ponuditi web stranicu do koje možemo doći i kontrolirati Mopidy. Shvatio sam da bi, budući da se odlično igra s hrpom popularnih servisa, kao što su Spotify ili Google Play muzika, bio prikladan za ovo uputstvo. Osim toga, super je.

Ispod su upute koje je besramno kopirano iz Mopidyja za instalaciju iz naredbenog retka:

1. Dodajte GPG ključ arhive:

sudo wget -q -O -https://apt.mopidy.com/mopidy.gpg | sudo apt -key add -

2. Dodajte APT repo u izvore paketa:

sudo wget -q -O /etc/apt/sources.list.d/mopidy.list

Konačno instalirajte mopidy:

sudo apt-get update

sudo apt-get install mopidy

Prekinite besramnu kopiju.

Korak 8: Upotrijebite Python Pip za instaliranje drugih… Instalacije (proširenja)

Upravo smo instalirali obični Mopidy od vanilije, ali tek počinjemo. Ekstenzije će biti naši gradivni elementi za dodavanje prilagodbi našem običnom vanilijevom Mopidyju. Budući da je većina ekstenzija koje ćemo postaviti na osnovni mopidy napisana u pythonu, koristit ćemo ekvivalent apt -a koji je specifičan za python.

Prije nego počnemo koristiti pip, prvo provjerimo imamo li sve dodatke za gstreamer koristeći apt:

sudo apt install

python3-gst-1.0 / gir1.2-gstreamer-1.0 / gir1.2-gst-plugins-base-1.0 / gstreamer1.0-plugins-dobro / gstreamer1.0-plugins-ružno / gstreamer1.0-plugins-bad / gstreamer1.0-tools

Instalacija može potrajati nekoliko minuta. Bez Gstreamera možda nećete moći emitirati glazbu.

A sada možemo instalirati python pip:

sudo apt install build-essential python3-dev python3-pip

Sada možemo koristiti pip za dodavanje još čistih grumena. Pip je python alat, sličan apt -u, ali smatram da radi malo brže od apt -a. Malo uspori blok, ali on počinje prilično brzo.

Ispod su četiri kako biste započeli:

Web prednji kraj. Koristimo Iris, ali ako želite, možete isprobati mopidy-musicbox-webclient:

sudo python3 -m pip install Mopidy -Iris

Središte internetskih radio stanica sa 30 kanala:

sudo python3 -m pip install mopidy -somafm

Još jedno čvorište internetskih radijskih servisa s još više kanala:

sudo python3 -m pip install mopidy -TuneIn

I još jedan prednji kraj za mobilni uređaj. Radio stanice i Iris ne sviraju lijepo zajedno, ali mobilni ima sve vrste internetskih stanica za slušanje:

sudo python3 -m pip instalirajte Mopidy -Mobile

Kada završite, trebali biste moći pristupiti Music Box -u koristeći:

myipaddress: 6680/iris/-or- https:// localhost: 6680/musicbox_webclient

Još uvijek nećemo imati ništa iz zvučnika ako pokušate pustiti muziku.

Za popis drugih funkcija i proširenja: Pomozite sebi:

sudo pip traži mopidy

Odavde možete nastaviti dodavati proširenja po svom izboru.

U privitku imam uzorak konfiguracijske datoteke mopidy. Slobodno koristite sadržaj u /etc/mopidy/mopidy.conf

sudo nano /etc/mopidy/mopidy.conf

Korak 9: Postavite Mopidy kao uslugu

Postavite Mopidy kao uslugu
Postavite Mopidy kao uslugu

Budući da ćemo htjeti pokrenuti mopidy pri pokretanju, dvije naredbe će omogućiti mopidy da se pokreće pri pokretanju:

sudo systemctl enable mopidy

sudo dpkg-ponovno konfigurirajte mopidy

Ponovo pokrenite sistem, a zatim pokrenite

sudo systemctl status mopidy - l

da proverite svoj status. Trebali biste vidjeti zeleni indikator. Mopidy ima vrlo korisnu web stranicu za podršku koja će vam pomoći s daljnjim opcijama konfiguracije. Za više detalja posjetite web stranicu Mopidy Documentation.

Korak 10: Dodajte svoju muziku

Dodajte svoju muziku
Dodajte svoju muziku

Prema zadanim postavkama, mopidy će htjeti lokalnu muziku pohraniti u mapu pod/var/lib/mopidy/media. Kopirajte svoju muzičku kolekciju tamo. Smatram da je najjednostavnije samo ukloniti sd karticu iz pi (nakon sigurnog isključivanja), a pomoću adaptera micro sd na usb priključiti adapter u svoju memorijsku jedinicu i tamo kopirati/zalijepiti. (ovo može potrajati ovisno o veličini vaše zbirke). Kada završite, vratite sd karticu u pi, pokrenite je, ponovo se povežite, a zatim upišite:

lokalno skeniranje sudo mopidyctl

Ovo će dodati vašu muziku u lokalnu medijsku biblioteku u Music Boxu. Možda ćete primijetiti.wma datoteke ne prepoznaju se kao audio, a čini se da se.ogg datoteke propuštaju tijekom skeniranja. Mp3 datoteke ne bi trebale predstavljati problem.

Korak 11: Datoteka za konfiguraciju zvučne kartice - Asound.conf

Još ne biste trebali imati ništa u /etc/asound.conf, ali ako to učinite, zamijenite sadržaj donjim ili ga stvorite koristeći:

sudo nano /etc/asound.conf

i zalijepite:

opcije snd_rpi_googlehat_soundcard index = 0

pcm.softvol {tip softvol slave.pcm dmix kontrola {naziv Glavna kartica 0}} pcm.! zadano {tip asym playback.pcm "plug: softvol"} ctl.! zadano {type hw card 0}

ctrl-x i Y za spremanje gore navedenog kao novu datoteku asound.conf.

Korak 12: Uvjerite se da koristimo ispravno prekrivanje za konfiguraciju.txt u /boot

tip

sudo nano /boot/config.txt

Posljednjih nekoliko redaka trebalo bi ličiti na nešto slično donjem. Želimo osigurati da se standardni komentar komentira, zajedno sa svim prethodnim preklapanjem, poput mog hifiberry dac -a, dok implementiramo google glasovni prekrivač. Na kraju, želimo uputiti pi da koristi i2s preslikavanje. Indikator # govori sistemu da zanemari liniju.

# Omogući zvuk (učitava snd_bcm2835)

#dtparam = audio = na #dtoverlay = hifiberry-dac dtoverlay = googlevoicehat-zvučna kartica dtoverlay = i2s-mmap

ponovno pokrenite ako sve izgleda slično gore navedenom. Sačekajte nekoliko minuta, otvorite pregledač na URL adresu muzičke kutije i pustite muziku.

Korak 13: Uživajte u muzici

Ako slušate stereo dobrotu, misija je ispunjena!

Jedna od lijepih stvari upotrebe maline pi kao muzičkog servera bez glave povezanog na wifi je ta što radi bez zauzimanja puno resursa. Istina, ispumpavamo samo 3 vata po kanalu, ali to je vjerojatno dovoljno za slušanje iz blizine. Baterija vašeg telefona će vam biti zahvalna.

Postoji i vrlo značajan zeleni faktor - ispijamo samo 5,25 volti energije. U usporedbi s Bluetoothom, možemo postaviti radio tok i ne biti usidreni na domet Bluetooth -a od 30 stopa. Što se tiče našeg telefona, možemo primiti poziv, igrati igru i malo slobodnije lutati bez prekida muzičkog toka. Samo smo zagrebali površinu. Postoji mnoštvo dostupnih mopidy ekstenzija za istraživanje, a mopidy ima sve veću bazu programera jer je otvorenog koda. Dopustit ću vam da sami istražite značajke koje vas zanimaju.

Korak 14: Zaključak

Zaključak
Zaključak

Jedna od najistaknutijih karakteristika ovog projekta je da ne ograničavamo svoj pi zaključavanjem pristupa GPIO -u. To nam omogućava pristup mnogim daljim opcijama jer je glasovni šešir tako dobro dizajniran. Na primjer, moj sljedeći projekt će biti dodavanje trenutnog prekidača kao dugmeta za isključivanje. Trebalo bi biti lako, a ja već znam gdje igle trebaju sletjeti: nisu blokirane. Odatle? Pa, za ovaj projekt smo potpuno zanemarili mikrofon - možda pi karaoke? Možda LED svjetlosna predstava, ili dodati motor za kotrljajući džuboks? Sve igle su i dalje dostupne i dostupne. Postavlja se pitanje zašto ne? A u slučaju da se želite vratiti AI -u, samo ubacite staru SD karticu i neka Google odgovori stereo.

Preporučuje se: