Innehållsförteckning:

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

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

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

Återanvänd en daterad Google AIY-rösthatt som en dedikerad huvudlös stereoljudströmmande enhet.

Nu när Google AIY -röstsatser närmar sig två års ålder kan du ha upptäckt att nyheten har tappat lite. Eller du kanske undrar om din webbläsares annonser för den närmaste renässansfestivalen har något att göra med frågan du ställde om var du kan hitta en bra affär på löparskor under rustning.

Om du redan äger en kommer detta projekt att visa dig hur du tar ditt befintliga Google AIY-röstkit och ändrar det som en dedikerad headless-ljudstreamer. Om du inte redan har ett kit och du bor nära ett Micro Center; du har tur - det finns fortfarande gott om, och jag tvivlar på att de kommer att bli billigare än det nuvarande priset på $ 5. (faktiskt är de $ 3 från och med juli 2019).

Det här projektet handlar om ljud och inget att göra med AI. Vi kommer att arbeta med ett helt separat operativsystem lagrat på ett separat micro sd -kort, vilket gör att du kan hålla all AI -funktionalitet orörd. Dessutom kommer vi att förbättra användarupplevelsen genom att introducera stereoljud (för några dollar mer) när vi bygger en skalbar ljudströmmande enhet. Slutligen, efter avslutat projekt, kommer vi att lämna rösthatten kvar i ett tillstånd redo för framtida expansion. Expansionens begränsningar kommer bara att vara vår kreativitet.

Steg 1: Upphandling

Anskaffning
Anskaffning

Jag kommer att skriva detta instruerbart ur perspektivet att du inte redan har ett Google Voice -kit i din ägo. Om du redan har konfigurerat röstsatsen - är de extra objekt som behövs markerade med en * nedan. Dessutom är det senaste Raspberry Pi -erbjudandet (Pi 3 A+) perfekt lämpat för detta projekt baserat på dess formfaktor, och jag rekommenderar starkt att köpa en ändå. Men vilken Pi som helst bör göra så länge den rymmer röstsatshatten och GPIO: erna.

Ingredienser:

  • Raspberry Pi (rekommendera Pi 3 A +)
  • 5,25V 2,4 amp mikro usb strömförsörjning
  • Micro SD -kort (beroende på din musiksamlingsstorlek bör 16 GB vara tillräckligt)
  • Max98357A dac och förstärkare (från Adafruit)*
  • Högtalare*. Satsen levereras med en, men för att få stereo behöver vi en extra högtalare. (även Adafruit)
  • Google AIY Voice -kit
  • Rubrik - singelband*
  • Högtalartråd*

Verktyg som behövs: Lödkolv, löd, Philips skruvmejsel storlek 00 eller 000. trådavlägsnare, maskering eller målartejp för att säkra huvudet tillfälligt under lödning, USB till micro SD -adapter.

Steg 2: Montera hårdvaran

Montera hårdvaran
Montera hårdvaran

Ut ur lådan kommer rösthatten i monoläge. Tack och lov konstruerade ingenjörerna på Google kortet för att möjliggöra en uppgradering till stereo helt enkelt genom att lägga till ett annat Max98357a -kort för att sitta som en annan hatt. De skisserade till och med lådan för oss.

Du gissade det: Vi kommer att bygga en hatt på en hatt. Hårdvara ovanpå hårdvaran redan på toppen.

Med hjälp av rubriken från Adafruit Max98357a -chipsetet börjar vi med att löda den 7 -stifts rubriken till rösthatten direkt under orden "AIY projects Voice Hat". En bit maskeringstejp som fästs på de längre hanstiften på brädans yta kan vara användbart för att förhindra att rubrikerna glider ur sin plats då vi kommer att arbeta med brädan upp och ner under detta lödningssteg.

Löd också två stift inuti den vita konturlådan till rösthatten där den blå max98357a -brädan kommer att sitta.

SÄLJ INTE HÖGTALARANSLUTNINGEN TILL MAX98357a BOARD!

Anslut högtalarterminalerna till rösthatten istället, inriktade direkt under där de två polerna just löddes. Den vänstra högtalaranslutningen och den högra högtalaranslutningen bör vara inriktade sida vid sida, i en rad med fyra terminaler.

Vänd brädan uppåt.

Löd bygeln märkt "JP4" stängd genom att lämna en droppe löd på bygeln. Glöm inte den här delen, annars har vi inte stereo!

Fäst försiktigt det blå max98357a -kortet på de långa stiften som sticker ut från rösthatten. Detta var lite svårt, så försök att löda stiften så vinkelrätt mot brädet som möjligt. Med en mindre krångling av tvåstiftshuvudet kunde jag åstadkomma detta med endast mindre ansträngning.

Komplettera lödningen av hanstiften till det blå max98357a -chipet - både sju -stiftshuvudet och tvåstiftshuvudet bör hålla max98357a stadigt på plats.

Klar med lödning!

Steg 3: Anslut till Pi och anslut dina högtalare

Anslut till Pi och anslut dina högtalare
Anslut till Pi och anslut dina högtalare

Använd de två nylon -distanserna som medföljer satsen och slå försiktigt ihop det kvinnliga röstsatsen ovanpå de manliga rubrikerna på hallon -pi. Nylon -distanserna ska snäppa på plats och ge dig en säker passform i sidhuvudets motsatta hörn.

Använd en liten skruvmejsel från Philips (000 eller 00) och skruva loss skruvarna på högtalaruttaget så att högtalarkabeln passar in i kompressionsöppningarna. Du ska inte behöva ta bort skruvarna utan öppna dem tillräckligt där de känns lösa.

För in din högtalarkabel i den lilla mätaren i öppningen och dra åt skruvarna för att hålla högtalarkabeln stadigt på plats.

Jag tyckte att det här steget var den mest skrämmande utmaningen i hela projektet - jag kunde inte hitta en skruvmejsel som var tillräckligt liten, eller min tunna högtalartråd var för fin för att absorbera skruvens komprimering och skulle hellre gå sönder än hålla fast. Jag gjorde en modifiering genom att bygga "spetsar" eller mindre trådar som var tillräckligt fasta för att klara kompressionen, och bara tillräckligt långa för att lödas till de enda ändarna av högtalartråden. Fult, ja- men effektivt.

Klar med hårdvara!

Steg 4: Ladda ner Raspbian Lite

Ladda ner Raspbian Lite
Ladda ner Raspbian Lite
Ladda ner Raspbian Lite
Ladda ner Raspbian Lite

Många av er är redan mycket bekanta med processen att ladda ner och bränna bilder till ett SD -kort, och de efterföljande stegen ligger lite utanför ramen för detta projekt. Jag kommer att kula stegen nedan för säkerhets skull, men om du fortfarande fastnar finns det massor av resurser att hjälpa till.

Senaste redigering: juni 2020 för Buster Lite Download.

· Ladda ner och installera Etcher av Balena Software

· Ladda ner det senaste Raspbian Lite OS från raspberrypi.org

· Använd Etcher och skriv Raspbian -bilden till SD -kortet

· När det är klart, om du inte använder pi zero w - överför det nybildade SD -kortet till vår Raspberry Pi. Om du använder en pi zero w måste vi göra några ändringar av WPA_Supplicant.conf -filen i startpartitionen för att konfigurera din wifi.

Steg 5: Konfigurera Pi

Konfigurera Pi
Konfigurera Pi

Med vår nyskapade bild, Let's power up pi. Men låt oss först låna en bildskärm och ett tangentbord för att hjälpa till med konfigurationen. Sätt i micro sd -kortet och anslut micro usb -laddningskabeln. Med tur kommer den gröna LED -lampan att blinka några gånger medan den startar. Den första uppstarten kan ta några minuter, men inom 5 minuter bör vi vara redo att arbeta med vår konfiguration. "Lite" Raspbian har inte ett skrivbord.

En gång vid kommandotolken: logga in som pi, lösenord "hallon".

· Öppna konfigurationspanelen genom att skriva “sudo raspi-config” vid kommandotolken.

· Ändra ditt lösenord omedelbart.

· Konfigurera ditt wifi med hjälp av nätverksalternativen på konfigurationspanelen

· Ändra dina lokaliseringsalternativ och ställ in din tidszon

· Aktivera SSH med gränssnittspanelalternativet

· Kör “sudo apt-get update” för att uppdatera din programvara till den senaste versionen

Vi behöver Pi: ns IP -adress. Jag rekommenderar en app som heter "FING" som kan laddas ner till vilken Android -enhet som helst och den listar alla enheter som är anslutna till ditt nätverk. Vi skulle leta efter en enhet som heter "raspberrypi". Skriv ner ip -adressen.

Från och med nu kommer vi inte längre att behöva monitorn eller tangentbordet. Alla ytterligare konfigurationer kommer att utföras med kommandoraderna genom en SSH -session.

Steg 6: Använd SSH för att öppna en session på en fjärrmaskin

Att använda SSH är ganska grundläggande. Öppna ett terminalfönster från vilken enhet som helst i ditt nätverk och skriv kommandot

ssh pi@myipaddress

Ersätt “myipaddress” med de numeriska värdena som erhålls med fingret.

För första gången kan du bli hälsad med en skrämmande varning som indikerar att du inte finns på inbjudningslistan, men det finns en mening som ska läsa "för att ta bort detta …" kopiera den långa teckensträngen och klistra in den i kommandot fråga, tryck på enter. Upprepa sedan kommandot ssh pi@myipaddress med uppåtpilen, välj ja och ange nu ditt lösenord. Grattis !, du är nu ansluten till din enhet om du tittar på en kommandotolk på "pi@raspberrypi: ~ $".

Steg 7: Installera Mopidy

Installera Mopidy
Installera Mopidy

Vi ska installera Mopidy som vår musikserver. Det finns många alternativ här, men jag kommer att visa dig hur du installerar ett tillägg som heter "Music Box" som låter dig styra din musik från ett webbgränssnitt istället för en kommandotolk.

Vad är Mopidy? Enligt webbplatsen är Mopidy en rad stora ord som får mig att känna mig ganska underlägsen för tillfället, men låt oss bara säga att Mopidy är plattformen som musiken kommer att spela från. Det kommer att vara en musikserver, en MPD (musikspelardemon) och en webbserver. Tillägget PiMusic Box kommer att erbjuda webbplatsen som vi kan navigera till och styra Mopidy från. Jag tänkte att eftersom det spelar bra med ett gäng populära tjänster som Spotify eller Google Play Music, skulle det vara lämpligt för detta instruerbara. Dessutom är det väldigt coolt.

Nedan följer instruktionerna skamlöst kopierade från Mopidy för att installera från kommandoraden:

1. Lägg till arkivets GPG -nyckel:

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

2. Lägg till APT -repo i dina paketkällor:

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

Slutligen installera mopidy:

sudo apt-get uppdatering

sudo apt-get install mopidy

Avsluta skamlös kopia.

Steg 8: Använd Python Pip för att installera andra … Installationer (tillägg)

Vi har precis installerat vanilj Mopidy, men vi har precis börjat. Tillägg kommer att vara våra byggstenar för att lägga till anpassningar till vår vanilj Mopidy. Eftersom de flesta tillägg som vi kommer att ta itu med grundläggande mopidy är skrivna i python, kommer vi att använda en motsvarande apt som är pythonspecifik.

Innan vi börjar använda pip, låt oss först se till att vi har alla gstreamer -plugins som använder 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-ful / gstreamer1.0-plugins-bad / gstreamer1.0-verktyg

Det kan ta några minuter att installera. Utan Gstreamer kanske du inte kan strömma musik.

Och nu kan vi installera python pip:

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

Nu kan vi använda pip för att lägga till fler mopidy nuggets. Pip är ett pythonverktyg, liknande apt, men jag tycker att det fungerar lite snabbare än apt. Lite långsamt utanför blocket, men det slår in ganska snabbt.

Nedan följer fyra för att komma igång:

En webbfront. Låt oss använda Iris, men om du vill kan du prova mopidy-musicbox-webclient istället:

sudo python3 -m pip installera Mopidy -Iris

En internetradiostation med 30 kanaler:

sudo python3 -m pip installera mopidy -somafm

En annan internetradiotjänsthub med ännu fler kanaler:

sudo python3 -m pip installera mopidy -TuneIn

Och en annan frontend för mobil enhet. Radiostationer och Iris spelar inte snyggt ihop, men mobilen har alla slags internetransoneringsstationer att lyssna på:

sudo python3 -m pip installera Mopidy -Mobile

När du är klar bör du kunna komma åt Music Box med:

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

Vi kommer fortfarande inte ha något att komma ut ur högtalarna än om du försöker spela musik.

För en lista med andra funktioner och tillägg: Hjälp dig själv:

sudo pip sök mopidy

Härifrån kan du fortsätta att lägga till tillägg som du väljer.

Jag har bifogat ett exempel på en mopidy -konfigurationsfil. Använd gärna innehållet i /etc/mopidy/mopidy.conf

sudo nano /etc/mopidy/mopidy.conf

Steg 9: Konfigurera Mopidy som en tjänst

Konfigurera Mopidy som en tjänst
Konfigurera Mopidy som en tjänst

Eftersom vi vill köra mopidy vid start kommer två kommandon att låta mopidy köra vid start:

sudo systemctl aktivera mopidy

sudo dpkg-omkonfigurera mopidy

Starta om och kör sedan

sudo systemctl status mopidy - l

för att kontrollera din status. Du bör se en grön indikator. Mopidy har en mycket användbar supportwebbplats för att hjälpa till med ytterligare konfigurationsalternativ. Kolla in Mopidy Documentation -webbplatsen för mer information.

Steg 10: Lägg till din egen musik

Lägg till din egen musik
Lägg till din egen musik

Som standard kommer mopidy att vilja lagra lokal musik i en mapp under/var/lib/mopidy/media. Kopiera din musiksamling där. Jag tycker att det är lättast att bara ta bort sd -kortet från pi (efter säker avstängning) och använda en micro sd till usb -adapter, anslut adaptern till din lagringsenhet och kopiera/klistra in där. (detta kan ta ett tag beroende på storleken på din samling). När du är klar, lämna tillbaka SD -kortet till pi, starta upp det, anslut igen och skriv sedan:

sudo mopidyctl lokal skanning

Detta lägger till din musik i det lokala mediebiblioteket i Music Box. Du kanske märker att.wma -filer inte känns igen som ljud och.ogg -filer tycks missas under genomsökningen. Mp3 -filer bör dock inte vara ett problem.

Steg 11: Konfigurationsfil för ljudkort - Asound.conf

Du bör inte ha något i /etc/asound.conf än, men om du gör det, ersätt innehållet med nedanstående eller skapa ett med:

sudo nano /etc/asound.conf

och klistra in:

alternativ 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 och Y för att spara ovanstående som din nya asound.conf-fil.

Steg 12: Se till att vi använder rätt överlägg för att konfigurera.txt i /starta

typ

sudo nano /boot/config.txt

De sista raderna ska likna något liknande nedan. Vi vill se till att standardljudet kommenteras, tillsammans med alla tidigare överlägg som min hifiberry dac, samtidigt som vi implementerar google voice hat -överlägget. Slutligen vill vi instruera pi: n att använda i2s mappning. # -Indikatorn säger till systemet att ignorera raden.

# Aktivera ljud (laddar snd_bcm2835)

#dtparam = audio = on #dtoverlay = hifiberry-dac dtoverlay = googlevoicehat-soundcard dtoverlay = i2s-mmap

starta om om allt ser ut som ovan. Vänta några minuter, öppna en webbläsare till musikboxens webbadress och spela lite musik.

Steg 13: Njut av musiken

Om du lyssnar på stereo godhet, uppdraget fullbordat!

En av de vackra sakerna med att använda en hallon pi som en huvudlös musikserver ansluten till wifi är att den körs utan att ta upp en massa resurser. Det är sant att vi bara pumpar ut 3 watt per kanal, men det är nog tillräckligt för att lyssna på nära håll. Ditt telefons batteri kommer att tacka dig.

Det finns också en mycket stor grön faktor - vi dricker bara 5,25 volt energi. Och jämfört med Bluetooth kan vi ställa in radioströmmen och inte förankras till ett 30 fot bluetooth -område. När det gäller vår telefon kan vi ringa, spela ett spel och ströva lite mer fritt utan att avbryta strömmen av musik. Vi har bara repat ytan. Det finns massor av tillgängliga mopidy -tillägg att utforska, och mopidy har en växande utvecklarbas eftersom den är öppen källkod. Jag låter dig utforska de funktioner som intresserar dig på egen hand.

Steg 14: Slutsats

Slutsats
Slutsats

En av de mest framstående funktionerna i detta projekt är att vi inte begränsar vår pi genom att låsa åtkomsten till GPIO. Detta ger oss tillgång till många ytterligare alternativ eftersom rösthatten var så bra utformad. Till exempel blir mitt nästa projekt att lägga till en tillfällig tryckknapp som en avstängningsknapp. Det ska vara enkelt, och jag vet redan var tapparna måste landa: De är inte blockerade. Därifrån? Tja, för det här projektet har vi helt ignorerat mikrofonen - kanske en pi -karaoke? Kanske en LED -lampa eller lägga till en motor för en rullande jukebox? Alla stiften är fortfarande tillgängliga och tillgängliga. Frågan blir varför inte? Och bara om du vill gå tillbaka till AI, klicka bara in det gamla sd -kortet och låt Google svara i stereo.

Rekommenderad: