Innholdsfortegnelse:

Raspberry Pi Audio Dac-Amp-Streamer: 14 trinn
Raspberry Pi Audio Dac-Amp-Streamer: 14 trinn

Video: Raspberry Pi Audio Dac-Amp-Streamer: 14 trinn

Video: Raspberry Pi Audio Dac-Amp-Streamer: 14 trinn
Video: The BEST DIY Raspberry Pi Music Streamer?! | Audiophonics Evo-Sabre 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

Omformuler en datert Google AIY stemmehatt som en dedikert hodeløs stereolydstrømmenhet.

Nå som Google AIY -talesett nærmer seg to år, har du kanskje funnet ut at nyheten har slitt litt. Eller du lurer kanskje på om nettleserens annonser for den nærmeste renessansefestivalen har noe å gjøre med spørsmålet du stilte om hvor du kan finne gode tilbud på løpesko under rustning.

Hvis du allerede eier en, vil dette prosjektet vise deg hvordan du tar ditt eksisterende Google AIY-talesett, og omformulerer det som en dedikert hodeløs lydstreamer. Hvis du ikke allerede har et sett, og du bor i nærheten av et mikrosenter; du har flaks - det er fortsatt mange rundt, og jeg tviler på at de kommer til å bli billigere enn den nåværende prisen på $ 5. (faktisk er de $ 3 fra juli 2019).

Dette prosjektet handler om lyd og ingenting å gjøre med AI. Vi jobber med et helt eget operativsystem som er lagret på et separat micro sd -kort, som lar deg holde all AI -funksjonaliteten urørt. Videre vil vi forbedre brukeropplevelsen ved å introdusere stereolyd (for noen få dollar mer) mens vi bygger en skalerbar lydstrømmenhet. Til slutt, når vi har fullført dette prosjektet, vil vi la stemmehatten stå i en tilstand som er klar for fremtidig ekspansjon. Begrensningene for ekspansjon vil bare være vår kreativitet.

Trinn 1: Innkjøp

Anskaffelse
Anskaffelse

Jeg vil skrive dette instruerbart fra perspektivet om at du ikke allerede har et Google Voice -sett i din besittelse. Skulle du allerede ha konfigurert talesettet - er de ekstra elementene som trengs merket med en * nedenfor. Det siste Raspberry Pi -tilbudet (Pi 3 A+) er også perfekt egnet for dette prosjektet basert på formfaktoren, og jeg anbefaler på det sterkeste å kjøpe en. En hvilken som helst Pi bør imidlertid gjøre så lenge den har plass til talesettet og GPIO -er.

Ingredienser:

  • Raspberry Pi (anbefal Pi 3 A +)
  • 5,25V 2,4 amp mikro usb strømforsyning
  • Micro SD -kort (avhengig av størrelsen på musikksamlingen din, bør 16 GB være tilstrekkelig)
  • Max98357A dac og forsterker (fra Adafruit)*
  • Høyttalere). Settet leveres med en, men for å få stereo trenger vi en ekstra høyttaler. (også Adafruit)
  • Google AIY Voice kit
  • Topptekst - enkelt band*
  • Høyttalerkabel*

Nødvendige verktøy: Loddejern, loddetinn, philips skrutrekker størrelse 00 eller 000. wire strippere, maskering eller malertape for å sikre hodet midlertidig under lodding, USB til micro SD -adapter.

Trinn 2: Sett sammen maskinvaren

Sett sammen maskinvaren
Sett sammen maskinvaren

Ut av esken kommer stemmehatten i monomodus. Heldigvis designet ingeniørene på Google brettet for å tillate en oppgradering til stereo bare ved å legge til et annet Max98357a -kort for å sitte som en annen hatt. De skisserte til og med boksen for oss.

Du gjettet det: Vi skal bygge en lue på en lue. Maskinvare på toppen av Maskinvare allerede på toppen.

Ved å bruke toppteksten fra Adafruit Max98357a -brikkesettet, begynner vi med å lodde den 7 -pinners overskriften til stemmehatten rett under ordene "AIY projects Voice Hat". Et stykke maskeringstape festet til de lengre hannstiften på brettets overflate kan være nyttig for å forhindre at toppene glir ut av sted, ettersom vi skal jobbe med brettet opp ned i løpet av dette loddetrinnet.

Lodd også to pinner inne i den hvite skisserte boksen til stemmehatten der det blå max98357a -brettet vil sitte.

IKKE SELD HØYTTALERKONTAKTEN TIL MAX98357a -Tavlen!

Koble høyttalerterminalene til stemmehatten i stedet, justert rett under der de to polene nettopp ble loddet. Den venstre høyttalertilkoblingen og den høyre høyttalertilkoblingen bør justeres side om side, i en rad med fire terminaler.

Snu brettet med høyre side opp.

Lodd jumperen merket "JP4" lukket ved å la en dråpe loddetinn ligge på jumperen. Ikke glem denne delen, ellers har vi ikke stereo!

Fest det blå max98357a -kortet forsiktig til de lange hannpinnene som stikker ut fra stemmehatten. Dette var litt vanskelig, så prøv å lodde pinnene så vinkelrett på brettet som mulig. Med noen mindre krangling av to -pins header, var jeg i stand til å oppnå dette med bare mindre innsats.

Fullfør loddetinnet til hannpinnene til den blå max98357a -brikken - både syvpinsoverskriften og topinnersoverskriften skal holde max98357a godt på plass.

Ferdig med lodding!

Trinn 3: Fest til Pi og koble høyttalerne

Fest til Pi og koble høyttalerne
Fest til Pi og koble høyttalerne

Bruk de to nylon -distansene som følger med settet, og slå forsiktig det kvinnelige stemmesettet oppå de mannlige overskriftene på bringebær -pi. Nylon -avstandsstykkene skal smekke på plass og gi deg en sikker passform på de motsatte hjørnene av overskriften.

Bruk en liten skrutrekker fra Philips (000 eller 00) til å skru ut skruene på høyttalerterminalen nok til at høyttalerkabelen kan passe inn i kompresjonsåpningene. Du trenger ikke å fjerne skruene, men åpne dem nok der de føles løse.

Sett inn den lille målerhøyttalertråden i åpningen og stram skruene for å holde høyttalerkabelen godt på plass.

Jeg syntes dette trinnet var den mest skremmende utfordringen i hele prosjektet - jeg fant ikke en skrutrekker som var liten nok, eller min spinkle høyttalerledning var for fin til å absorbere kompresjonen av skruen og ville heller gå i stykker enn å holde fast. Jeg gjorde en modifikasjon ved å bygge "spiker" eller mindre ledninger som var faste nok til å tåle kompresjonen, og akkurat lange nok til å kunne loddes til de bare ender av høyttalerkabelen. Stygg, ja- men effektiv.

Ferdig med maskinvare!

Trinn 4: Last ned Raspbian Lite

Last ned Raspbian Lite
Last ned Raspbian Lite
Last ned Raspbian Lite
Last ned Raspbian Lite

Mange av dere er allerede godt kjent med prosessen med å laste ned og brenne bilder til et SD -kort, og de påfølgende trinnene er litt utenfor omfanget av dette prosjektet. Jeg vil kule trinnene nedenfor for sikkerhets skyld, men hvis du fortsatt sitter fast, er det tonnevis med ressurser å hjelpe.

Siste redigering: juni 2020 for Buster Lite nedlasting.

· Last ned og installer Etcher av Balena Software

· Last ned det nyeste Raspbian Lite OS fra raspberrypi.org

· Ved å bruke Etcher skriver du Raspbian -bildet til SD -kortet

· Når du er ferdig, med mindre du bruker en pi zero w - overfør det nylig avbildede SD -kortet til vår Raspberry Pi. Hvis du bruker en pi zero w, må vi gjøre noen endringer i WPA_Supplicant.conf -filen i oppstartspartisjonen for å konfigurere wifi.

Trinn 5: Konfigurer Pi

Konfigurer Pi
Konfigurer Pi

Med vårt nyopprettede bilde, La oss slå på pi. Men la oss først låne en skjerm og et tastatur for å hjelpe deg med konfigurasjonen. Sett inn micro sd -kortet, og fest mikro -usb -ladekabelen. Med hell vil det grønne LED -lyset blinke noen ganger mens det starter opp. Første oppstart kan ta noen minutter, men innen 5 minutter bør vi være klare til å jobbe med konfigurasjonen vår. "Lite" Raspbian har ikke et skrivebord.

En gang ved ledeteksten: logg inn som pi, passord "bringebær".

· Få tilgang til konfigurasjonspanelet ved å skrive “sudo raspi-config” ved ledeteksten.

· Endre passordet ditt umiddelbart.

· Konfigurer Wi -Fi ved hjelp av nettverksalternativene på konfigurasjonspanelet

· Endre lokaliseringsalternativene og angi tidssonen

· Aktiver SSH ved hjelp av grensesnittpanelalternativet

· Kjør “sudo apt-get update” for å oppdatere programvaren til den nyeste versjonen

Vi trenger IP -adressen til Pi. Jeg anbefaler en app som heter "FING" som kan lastes ned til hvilken som helst Android -enhet, og den viser en liste over alle enhetene som er koblet til nettverket ditt. Vi ville lete etter en enhet som heter “raspberrypi”. Skriv ned ip -adressen.

Fra dette tidspunktet vil vi ikke lenger kreve skjermen eller tastaturet. Alle ytterligere konfigurasjoner vil bli utført ved hjelp av kommandolinjene gjennom en SSH -økt.

Trinn 6: Bruk SSH til å åpne en økt på en ekstern maskin

Å bruke SSH er ganske grunnleggende. Åpne et terminalvindu fra hvilken som helst enhet på nettverket ditt, og skriv inn kommandoen

ssh pi@myipaddress

Erstatt "myipaddress" med de numeriske verdiene som er oppnådd med fingeren.

For første gang kan du bli møtt med en skummel advarsel som indikerer at du ikke er på invitasjonslisten, men det er en setning som skal lese "for å fjerne dette …" kopier den lange rekken med tegn og lim den inn i kommandoen spør, trykk enter. Gjenta deretter piltasten opp, ssh pi@myipaddress -kommandoen, velg ja, og skriv inn passordet ditt nå. Gratulerer !, du er nå koblet til enheten din hvis du ser på en ledetekst på "pi@raspberrypi: ~ $".

Trinn 7: Installer Mopidy

Installer Mopidy
Installer Mopidy

Vi skal installere Mopidy som vår musikkserver. Det er mange alternativer her, men jeg vil vise deg hvordan du installerer en utvidelse kalt "Music Box" som lar deg kontrollere musikken din fra et webgrensesnitt i stedet for en ledetekst.

Hva er Mopidy? Ifølge nettstedet er Mopidy en rekke store ord som får meg til å føle meg ganske mindreverdig for øyeblikket, men la oss bare si at Mopidy er plattformen musikken vår vil spille fra. Det vil være en musikkserver, en MPD (musikkspiller -demon) og en webserver. Tillegget PiMusic Box vil tilby nettstedet som vi kan navigere til og kontrollere Mopidy fra. Jeg skjønte at siden det spiller fint med en haug med populære tjenester som Spotify eller Google Play Musikk, ville det være egnet for dette instruerbare. Pluss at det er kult.

Nedenfor er instruksjonene skamløst kopiert fra Mopidy for å installere fra kommandolinjen:

1. Legg til arkivets GPG -nøkkel:

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

2. Legg til APT -repoen i pakkekildene:

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

Endelig installer mopidy:

sudo apt-get oppdatering

sudo apt-get install mopidy

Avslutt skamløs kopi.

Trinn 8: Bruk Python Pip til å installere andre … installasjoner (utvidelser)

Vi har nettopp installert vanlig vanilje Mopidy, men vi har nettopp begynt. Utvidelser vil være byggeklossene våre for å legge til tilpasninger til vår vanilje Mopidy. Fordi de fleste utvidelsene vi skal ta fatt på grunnleggende mopidy er skrevet i python, vil vi bruke en tilsvarende apt som er pythonspesifikk.

Før vi begynner å bruke pip, må vi først kontrollere at vi har alle gstreamer -pluginene som bruker apt:

sudo apt install

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-verktøy

Dette kan ta noen minutter å installere. Uten Gstreamer kan det hende du ikke kan streame musikk.

Og nå kan vi installere python pip:

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

Nå kan vi bruke pip til å legge til flere mopidy nuggets. Pip er et pytonverktøy, som ligner på apt, men jeg synes det fungerer litt raskere enn apt. Litt treg av blokken, men den sparker ganske raskt inn.

Nedenfor er fire for å komme i gang:

En nettfront. La oss bruke Iris, men hvis du vil kan du prøve mopidy-musicbox-webclient i stedet:

sudo python3 -m pip installer Mopidy -Iris

Et internettradiostasjonsnav med 30 kanaler:

sudo python3 -m pip installer mopidy -somafm

Et annet Internett -radiotjenesteknutepunkt med enda flere kanaler:

sudo python3 -m pip installer mopidy -TuneIn

Og en annen frontend for mobilenhet. Radiostasjoner og Iris spiller ikke pent sammen, men mobilen har alle slags internettrasjonstasjoner å lytte til:

sudo python3 -m pip installer Mopidy -Mobile

Når du er ferdig, bør du ha tilgang til Music Box ved å:

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

Vi vil fremdeles ikke ha noe som kommer ut av høyttalerne ennå hvis du prøver å spille musikk.

For en liste over andre funksjoner og utvidelser: Hjelp deg selv:

sudo pip søk mopidy

Herfra kan du fortsette å legge til utvidelser etter eget valg.

Jeg har vedlagt en prøvekonfigurasjonsfil for mopidy. Bruk gjerne innholdet i /etc/mopidy/mopidy.conf

sudo nano /etc/mopidy/mopidy.conf

Trinn 9: Sett opp Mopidy som en tjeneste

Sett opp Mopidy som en tjeneste
Sett opp Mopidy som en tjeneste

Siden vi vil kjøre mopidy ved oppstart, vil to kommandoer tillate mopidy å kjøre ved oppstart:

sudo systemctl aktiver mopidy

sudo dpkg-omkonfigurer mopidy

Start på nytt, og kjør deretter

sudo systemctl status mopidy - l

for å sjekke statusen din. Du bør se en grønn indikator. Mopidy har et veldig nyttig støtteside for å hjelpe deg med ytterligere konfigurasjonsalternativer. Sjekk ut Mopidy Documentation -nettstedet for mer informasjon.

Trinn 10: Legg til din egen musikk

Legg til din egen musikk
Legg til din egen musikk

Som standard vil mopidy ønske å lagre lokal musikk i en mappe under/var/lib/mopidy/media. Kopier musikksamlingen din der. Jeg synes det er lettest å bare fjerne sd -kortet fra pi (etter sikker avstengning), og bruke en micro sd til usb -adapter, koble adapteren til lagringsenheten og kopiere/lime inn der. (dette kan ta en stund avhengig av størrelsen på samlingen din). Når du er ferdig, returnerer du SD -kortet til pi, starter det, kobler til på nytt og skriver:

sudo mopidyctl lokal skanning

Dette vil legge til musikken din i det lokale mediebiblioteket i Music Box. Du vil kanskje legge merke til at.wma -filer ikke blir gjenkjent som lyd, og.ogg -filer ser ut til å bli savnet under skanningen. Mp3 -filer bør imidlertid ikke være et problem.

Trinn 11: Lydkortkonfigurasjonsfil - Asound.conf

Du bør ikke ha noe i /etc/asound.conf ennå, men hvis du gjør det, kan du erstatte innholdet med det nedenfor, eller opprette et ved hjelp av:

sudo nano /etc/asound.conf

og lim inn:

alternativer snd_rpi_googlehat_soundcard index = 0

pcm.softvol {type softvol slave.pcm dmix control {name Master card 0}} pcm.! default {type asym playback.pcm "plug: softvol"} ctl.! default {type hw card 0}

ctrl-x og Y for å lagre ovenstående som din nye asound.conf-fil.

Trinn 12: Sørg for at vi bruker riktig overlegg for å konfigurere.txt i /starte opp

type

sudo nano /boot/config.txt

De siste linjene skal ligne på noe som ligner på nedenfor. Vi vil sikre at standardlyden blir kommentert, sammen med alle tidligere overlegg, for eksempel min hifiberry dac, mens vi implementerer google voice hat -overlegget. Til slutt vil vi instruere pi -en til å bruke i2s -kartleggingen. # -Indikatoren forteller systemet å ignorere linjen.

# Aktiver lyd (laster inn snd_bcm2835)

#dtparam = lyd = på #dtoverlay = hifiberry-dac dtoverlay = googlevoicehat-lydkort dtoverlay = i2s-mmap

start på nytt hvis alt ligner på ovennevnte. Vent noen minutter, åpne en nettleser til musikkboksen og spill av musikk.

Trinn 13: Nyt musikken

Hvis du lytter til stereo godhet, er oppdraget fullført!

En av de vakre tingene med å bruke en bringebær pi som en hodeløs musikkserver som er koblet til wifi, er at den kjører uten å ta opp mange ressurser. Det er sant at vi bare pumper ut 3 watt per kanal, men det er sannsynligvis nok for nærlytting. Telefonens batteri vil takke deg.

Det er også en veldig betydelig grønn faktor - vi drikker bare 5,25 volt energi. Og sammenlignet med Bluetooth, kan vi stille radiostrømmen og ikke forankres til et 30 fot bluetooth -område. Når det gjelder telefonen vår, kan vi ta en samtale, spille et spill og streife litt mer fritt uten å forstyrre musikkstrømmen. Vi har bare skrapt på overflaten. Det er tonnevis med tilgjengelige mopidy -utvidelser å utforske, og mopidy har en voksende utviklerbase ettersom den er åpen kildekode. Jeg lar deg utforske funksjonene som interesserer deg på egen hånd.

Trinn 14: Konklusjon

Konklusjon
Konklusjon

En av de mest fremragende egenskapene til dette prosjektet er at vi ikke begrenser pi -en vår ved å låse tilgangen til GPIO. Dette gir oss tilgang til mange flere alternativer fordi stemmehatten var designet så godt. For eksempel vil mitt neste prosjekt være å legge til en øyeblikkelig trykknappbryter som en avstengningsknapp. Det skal være enkelt, og jeg vet allerede hvor pinnene må lande: De er ikke hindret. Derfra? Vel, for dette prosjektet har vi ignorert mikrofonen fullstendig - kanskje en pi -karaoke? Kanskje et LED -lysshow, eller legge til en motor for en rullende jukeboks? Alle pinnene er fremdeles tilgjengelige og tilgjengelige. Spørsmålet blir hvorfor ikke? Og bare hvis du vil gå tilbake til AI, bare slå inn det gamle sd -kortet og la Google svare i stereo.

Anbefalt: