Innehållsförteckning:
- Steg 1: Upphandling
- Steg 2: Montera hårdvaran
- Steg 3: Anslut till Pi och anslut dina högtalare
- Steg 4: Ladda ner Raspbian Lite
- Steg 5: Konfigurera Pi
- Steg 6: Använd SSH för att öppna en session på en fjärrmaskin
- Steg 7: Installera Mopidy
- Steg 8: Använd Python Pip för att installera andra … Installationer (tillägg)
- Steg 9: Konfigurera Mopidy som en tjänst
- Steg 10: Lägg till din egen musik
- Steg 11: Konfigurationsfil för ljudkort - Asound.conf
- Steg 12: Se till att vi använder rätt överlägg för att konfigurera.txt i /starta
- Steg 13: Njut av musiken
- Steg 14: Slutsats
Video: Raspberry Pi Audio Dac-Amp-Streamer: 14 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
Å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
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
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
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
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
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
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
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
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
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:
Hur man gör och testar en bättre DAC med ESP32: 5 steg
Hur man gör och testar en bättre DAC med ESP32: ESP32 har 2 8-bitars digitala till analoga omvandlare (DAC). Dessa DAC gör att vi kan producera godtyckliga spänningar inom ett visst område (0-3.3V) med 8 bitars upplösning. I den här instruktionsboken kommer jag att visa dig hur du bygger en DAC och karakteriserar dess
USB Audio DAC: 12 steg
USB Audio DAC: Använder standarddrivrutiner, fungerar med Windows, Mac och många Linux -distributioner, men begränsar prestandan till 16 bitar, 48 kHz Balanserade (pro) linjenivåutgångar på baksidan (XLR / 6,35 mm) Enstaka (pro) linjenivå utgång på framsidan (RCA) Ingen utgång s
Nuvarande källa DAC AD5420 och Arduino: 4 steg (med bilder)
Strömkälla DAC AD5420 och Arduino: Hej. I den här artikeln vill jag dela med mig av min erfarenhet av AD5420 nuvarande digital-till-analog-omvandlare, som har följande egenskaper: 16-bitars upplösning och monotonicitet Aktuella utgångsområden: 4 mA till 20 mA, 0 mA till 20 mA, eller 0 mA t
Arduino och PCF8591 ADC DAC IC: 7 steg
Arduino och PCF8591 ADC DAC IC: Har du någonsin velat ha fler analoga ingångar på ditt Arduino -projekt, men inte velat gaffla ut en Mega? Eller vill du generera analoga signaler? Kolla sedan in ämnet för vår handledning - NXP PCF8591 IC.Det löser båda dessa problem
DIY: Audio DAC - DSD, MP3 och Radio Volumio Player: 3 steg
DIY: Audio DAC - DSD, MP3 och Radio Volumio Player: DSD testad: DSD64, DSD128 & DSD256