Talaan ng mga Nilalaman:

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

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

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

Muling layunin ang isang napetsahan na sumbrero ng boses ng Google AIY bilang isang nakatuon na walang ulo na stereo audio streaming device.

Ngayong malapit na sa dalawang taong gulang ang mga kit ng boses ng Google AIY, maaari mong nahanap na medyo bago na ang bago. O kaya, maaaring nagtataka ka kung ang mga patalastas ng iyong browser para sa pinakamalapit na pagdiriwang ng muling pagsilang ay may kinalaman sa katanungang inilagay mo tungkol sa kung saan maaari kang makahanap ng magandang pakikitungo sa ilalim ng nakasuot na sapatos na pang-sandata.

Kung nagmamay-ari ka na ng isa, ipapakita sa iyo ng proyektong ito kung paano kunin ang iyong umiiral na Google AIY voice kit, at muling layunin ito bilang isang nakalaang audio streamer na walang ulo. Kung wala ka pang kit, at nakatira ka malapit sa isang Micro Center; swerte ka - marami pa rin sa paligid, at duda ako na makakakuha sila ng mas mura kaysa sa kasalukuyang presyo na $ 5. (sa totoo lang, $ 3 sila hanggang Hulyo 2019).

Ang proyektong ito ay tungkol sa audio at walang kinalaman sa AI. Gumagawa kami sa isang ganap na magkakahiwalay na operating system na nakaimbak sa isang hiwalay na micro sd card, na magbibigay-daan sa iyo upang mapanatili ang lahat ng pag-andar ng AI na hindi nagalaw. Bukod dito, pagbutihin namin ang karanasan ng gumagamit sa pamamagitan ng pagpapakilala ng tunog ng stereo (para sa ilang dolyar pa) habang nagtatayo kami ng isang nasusukat na audio streaming device. Panghuli, sa pagkumpleto ng proyektong ito, iniiwan namin ang natitirang sumbrero ng boses sa isang estado na handa na para sa pagpapalawak sa hinaharap. Ang mga limitasyon ng pagpapalawak ay magiging lamang ng aming pagkamalikhain.

Hakbang 1: Pagkuha

Pagkuha
Pagkuha

Isusulat ko ito na itinuturo mula sa pananaw na wala ka pang isang Google Voice kit sa iyong pag-aari. Kung mayroon ka nang pag-setup ng boses kit - ang mga karagdagang item na kinakailangan ay minarkahan ng isang * sa ibaba. Gayundin, ang pinakabagong alay ng Raspberry Pi (Pi 3 A +) ay perpektong akma para sa proyektong ito batay sa form factor nito, at inirerekumenda kong bumili pa rin ng isa. Gayunpaman ang anumang Pi ay dapat na gawin hangga't tatanggapin nito ang sumbrero ng kit ng boses at mga GPIO.

Mga sangkap:

  • Raspberry Pi (inirerekumenda ang Pi 3 A +)
  • 5.25V 2.4 amp micro usb power supply
  • Micro SD Card (depende sa laki ng iyong koleksyon ng musika, 16gb dapat sapat)
  • Max98357A dac at amp (mula sa Adafruit) *
  • Speaker * (s). Ang kit ay may isa, subalit upang makakuha ng stereo kakailanganin namin ng isang karagdagang speaker. (Adafruit din)
  • Google AIY Voice kit
  • Header - solong banda *
  • Speaker Wire *

Kailangan ng mga tool: Soldering iron, solder, philips distornilyador na sukat 00 o 000. wire strippers, masking o painters tape upang pansamantalang ma-secure ang header sa panahon ng paghihinang, USB sa micro SD adapter.

Hakbang 2: Magtipon ng Hardware

Ipunin ang Hardware
Ipunin ang Hardware

Sa labas ng kahon, ang sumbrero ng boses ay dumating sa mono mode. Sa kabutihang palad, ang mga inhinyero sa Google ay dinisenyo ang board upang payagan ang isang pag-upgrade sa stereo sa pamamagitan lamang ng pagdaragdag ng isa pang board ng Max98357a upang maupo bilang ibang sumbrero. Inilahad pa nila ang kahon para sa amin.

Hulaan mo ito: Kami ay gagawa ng isang sumbrero sa isang sumbrero. Hardware sa tuktok ng Hardware na nasa itaas.

Gamit ang header na ibinigay ng set ng Adafruit Max98357a chip, nagsisimula kami sa pamamagitan ng paghihinang ng 7 pin header sa sumbrero ng boses na direkta sa ilalim ng mga salitang "AIY na proyekto Hat ng Boses". Ang isang piraso ng masking tape na nakakabit sa mas mahabang mga lalaki na pin sa mukha ng board ay maaaring maging kapaki-pakinabang upang maiwasan ang mga header mula sa pag-slide sa labas ng lugar dahil gagana kami sa board ng baligtad sa yugtong ito ng paghihinang.

Maghinang din ng dalawang pin sa loob ng puting nakabalangkas na kahon sa sumbrero ng boses kung saan uupo ang asul na max98357a board.

HUWAG MAGPAPALALIN NG CONNECTOR NG SPEAKER SA MAX98357a BOARD!

Ikonekta ang mga terminal ng speaker sa boses ng boses sa halip, direktang nakahanay sa ilalim kung saan ang dalawang poste ay na-solder lamang. Ang koneksyon sa kaliwang speaker at ang tamang koneksyon ng speaker ay dapat na nakahanay na magkatabi, sa isang hilera ng apat na mga terminal.

I-flip ang pisara sa kanang bahagi pataas.

Solder ang jumper na may label na "JP4" na sarado sa pamamagitan ng pag-iwan ng isang patak ng solder sa jumper. Huwag kalimutan ang bahaging ito o hindi kami magkakaroon ng stereo!

Maingat na ikabit ang asul na board ng max98357a sa mahabang mga lalaking pin na nakausli mula sa sumbrero ng boses. Medyo mahirap ito, kaya subukang i-solder ang mga pin bilang patayo sa board hangga't maaari. Sa ilang menor de edad na pag-aaway ng dalawang pin header, nagawa ko ito sa kaunting pagsisikap lamang.

Kumpletuhin ang solder ng male pin sa asul na max98357a chip - kapwa ang pitong pin header at ang dalawang pin header ay dapat na hawakan nang mahigpit ang max98357a.

Tapos na sa Paghihinang!

Hakbang 3: Maglakip sa Pi at Ikonekta ang Iyong Mga Speaker

Maglakip sa Pi at Ikonekta ang Iyong Mga Speaker
Maglakip sa Pi at Ikonekta ang Iyong Mga Speaker

Gamit ang dalawang naylon spacer na ibinigay ng kit, maingat na pagsamahin ang babaeng kit ng boses sa ibabaw ng mga header ng lalaki sa raspberry pi. Ang mga naylon spacer ay dapat na pumapasok sa lugar na nagbibigay sa iyo ng isang ligtas na pagkakasya sa tapat ng mga sulok ng header.

Gamit ang isang maliit na distornilyador ng ulo ng Philips (000 o 00), alisin ang takip ng mga tornilyo sa terminal ng nagsasalita upang payagan ang iyong kawad ng speaker na magkasya sa mga bukana ng compression. Hindi mo dapat alisin ang mga turnilyo, ngunit buksan ito nang sapat kung saan pakiramdam nila maluwag.

Ipasok ang iyong maliit na wire gauge speaker sa bukana at higpitan ang mga turnilyo upang mahigpit na hawakan ang speaker wire sa lugar.

Natagpuan ko ang hakbang na ito upang maging pinaka-nakakatakot na hamon ng buong proyekto - Hindi ako makahanap ng isang distornilyador na sapat na maliit, o ang aking manipis na kawad ng nagsasalita ay masyadong mabuti upang makuha ang pag-compress ng turnilyo at mas pipiliin itong masira kaysa mahigpit. Gumawa ako ng pagbabago sa pamamagitan ng pagbuo ng mga "nibs" o mas maliit na mga wire na sapat na matatag upang mapaglabanan ang compression, at sapat lamang ang haba upang ma-solder sa hubad na dulo ng wire ng speaker. Pangit, oo- ngunit epektibo.

Tapos na sa Hardware!

Hakbang 4: I-download ang Raspbian Lite

I-download ang Raspbian Lite
I-download ang Raspbian Lite
I-download ang Raspbian Lite
I-download ang Raspbian Lite

Marami sa inyo ang pamilyar na sa proseso ng pag-download at pagsunog ng mga imahe sa isang SD card, at ang mga kasunod na hakbang ay medyo lampas sa saklaw ng proyektong ito. Ipaputok ko ang mga hakbang sa ibaba kung sakali, ngunit kung nakita mo na natigil ka pa rin, maraming toneladang mapagkukunan upang makatulong.

Huling Pag-edit: Hunyo 2020 para sa Pag-download ng Buster Lite.

· Mag-download at mag-install ng Etcher ng Balena Software

· I-download ang pinakabagong Raspbian Lite OS mula sa raspberrypi.org

· Gamit ang Etcher, isulat ang Larawan ng Raspbian sa SD card

· Kapag kumpleto na, maliban kung gumagamit ng isang pi zero w - ilipat ang bagong imaging SD Card sa aming Raspberry Pi. Kung gumagamit ka ng isang pi zero w, kailangan naming gumawa ng ilang mga pag-edit sa WPA_Supplicant.conf file sa boot na pagkahati upang mai-set up ang iyong wifi.

Hakbang 5: I-configure ang Pi

I-configure ang Pi
I-configure ang Pi

Sa aming bagong nilikha na imahe, Pasiglahin natin ang pi. Ngunit hinayaan muna na humiram ng isang monitor at keyboard upang makatulong sa pagsasaayos. Ipasok ang micro sd card, at ilakip ang micro usb singilin na cable. Sa swerte, ang berdeng humantong ilaw ay mag-flash ng ilang beses habang ito ay booting up. Ang unang boot ay maaaring tumagal ng ilang minuto, ngunit sa loob ng 5 minuto dapat kaming maging handa upang gumana sa aming pagsasaayos. Ang "Lite" na Raspbian ay walang desktop.

Kapag nasa prompt ng utos: mag-login bilang pi, password na "raspberry".

· I-access ang panel ng pagsasaayos sa pamamagitan ng pag-type ng "sudo raspi-config" sa prompt ng utos.

· Baguhin agad ang iyong password.

· I-setup ang wifi mo gamit ang mga pagpipilian sa network sa panel ng pagsasaayos

· Baguhin ang iyong mga pagpipilian sa pag-localize at itakda ang iyong time zone

· Paganahin ang SSH gamit ang pagpipilian ng panel ng mga interface

· Patakbuhin ang "sudo apt-get update" upang i-update ang iyong software sa pinakabagong bersyon

Kakailanganin namin ang IP address ng Pi. Inirerekumenda ko ang isang app na tinatawag na "FING" na maaaring ma-download sa anumang android device at ililista nito ang lahat ng mga aparato na nakakonekta sa iyong network. Naghahanap kami ng isang aparato na tinatawag na "raspberrypi". Isulat ang ip address.

Mula sa puntong ito pasulong, hindi na namin kakailanganin ang monitor o keyboard. Ang lahat ng mga karagdagang pagsasaayos ay gaganapin gamit ang mga linya ng utos sa pamamagitan ng isang sesyon ng SSH.

Hakbang 6: Gumamit ng SSH upang Buksan ang isang Session sa isang Remote Machine

Ang paggamit ng SSH ay medyo batayan. Magbukas ng isang window ng terminal mula sa anumang aparato sa iyong network, at i-type ang utos

ssh pi @ myipaddress

Palitan ang "myipaddress" ng mga numerong halagang nakuha gamit ang daliri.

Sa kauna-unahang pagkakataon, maaari kang salubungin ng isang nakakatakot na babala na nagpapahiwatig na wala ka sa naimbitahang listahan, subalit mayroong isang pangungusap na dapat basahin ang "upang alisin ito …" kopyahin ang mahabang string ng mga character, at i-paste ito sa utos prompt, pindutin ang enter. Pagkatapos gamit ang paitaas na arrow key, ulitin ang utos ng ssh pi @ myipaddress, pumili ng oo, at ngayon ipasok ang iyong password. Binabati kita !, nakakonekta ka na ngayon sa iyong aparato kung tumitingin ka sa isang prompt ng utos ng "pi @ raspberrypi: ~ $".

Hakbang 7: I-install ang Mopidy

I-install ang Mopidy
I-install ang Mopidy

I-install namin ang Mopidy bilang aming server ng musika. Mayroong maraming mga pagpipilian dito, ngunit ipapakita ko sa iyo kung paano mag-install ng isang extension na tinatawag na "Music Box" na magpapahintulot sa iyo na kontrolin ang iyong musika mula sa isang web interface sa halip na isang prompt ng utos.

Ano ang Mopidy? Ayon sa website nito, ang Mopidy ay isang string ng malalaking salita na nagpapahiwatig sa akin na mas mababa sa ngayon, ngunit sabihin lamang natin na ang Mopidy ay ang platform kung saan i-play ang aming musika. Ito ay magiging isang server ng musika, isang MPD (music player daemon), at isang web server. Mag-aalok ang addon ng PiMusic Box sa website na maaari naming mai-navigate at makontrol ang Mopidy mula. Naisip ko na dahil maganda itong gumaganap kasama ang isang bungkos ng mga tanyag na serbisyo tulad ng Spotify o Google Play Music, angkop ito sa pagtuturo na ito. Dagdag pa ito ay cool na cool.

Nasa ibaba ang mga tagubilin na walang kahihiyang kinopya mula sa Mopidy upang mai-install mula sa linya ng utos:

1. Idagdag ang key GPG ng archive:

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

2. Idagdag ang repo ng APT sa iyong mga mapagkukunan ng package:

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

Panghuli i-install ang mopidy:

sudo apt-get update

sudo apt-get install mopidy

Tapusin ang walang-hiya na kopya.

Hakbang 8: Gumamit ng Python Pip upang Mag-install ng Iba pa… Mga Pag-install (mga extension)

Naka-install lamang kami ng simpleng vanilla Mopidy, ngunit nagsisimula pa lang kami. Ang mga extension ay magiging aming mga bloke ng gusali upang magdagdag ng mga pagpapasadya sa aming plain vanilla Mopidy. Dahil ang karamihan sa mga extension na tatalakayin namin sa pangunahing mopidy ay nakasulat sa sawa, gagamit kami ng isang katumbas na apt na tukoy sa python.

Bago kami magsimulang gumamit ng pip, hayaan muna na tiyakin na mayroon kaming lahat ng mga gstreamer plugin na gumagamit ng 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-mga tool

Maaari itong tumagal ng ilang minuto upang mai-install. Kung walang Gstreamer, maaaring hindi ka makapag-stream ng musika.

At ngayon maaari naming mai-install ang python pip:

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

Ngayon ay maaari naming gamitin ang pip upang magdagdag ng higit pang mga mopidy nugget. Ang pip ay isang tool na sawa, katulad ng apt, ngunit nalaman kong gumagana ito nang kaunti nang mas mabilis kaysa sa apt. Medyo mabagal ang bloke, ngunit mabilis itong sumisikat.

Nasa ibaba ang apat upang makapagsimula kami:

Isang web front end. Gumamit tayo ng Iris, ngunit kung nais mo maaari mong subukan ang mopidy-musicbox-webclient sa halip:

sudo python3 -m pip install Mopidy-Iris

Isang hub ng istasyon ng radyo sa internet na may 30 mga channel:

sudo python3 -m pip install mopidy-somafm

Ang isa pang hub ng serbisyo sa radyo sa Internet na may higit pang mga channel:

sudo python3 -m pip install mopidy-TuneIn

At isa pang front end para sa mobile device. Ang mga Istasyon ng Radyo at Iris ay hindi maganda ang tumutugtog, ngunit ang mobile ay mayroong lahat ng mga uri ng mga istasyon ng rasyon sa internet upang pakinggan:

sudo python3 -m pip i-install ang Mopidy-Mobile

Kapag nakumpleto, maaari mong ma-access ang Music Box gamit ang:

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

Wala pa rin kaming anumang lalabas sa mga speaker kung susubukan mong magpatugtog ng musika.

Para sa isang listahan ng iba pang mga tampok at extension: Tulungan ang iyong sarili:

sudo pip search mopidy

Mula dito, maaari mong ipagpatuloy ang pagdaragdag ng mga extension sa iyong pipiliin.

Mayroon akong isang sample na file ng pagsasaayos ng mopidy na nakakabit. Huwag mag-atubiling gamitin ang mga nilalaman sa /etc/mopidy/mopidy.conf

sudo nano /etc/mopidy/mopidy.conf

Hakbang 9: I-setup ang Mopidy Bilang isang Serbisyo

I-setup ang Mopidy Bilang isang Serbisyo
I-setup ang Mopidy Bilang isang Serbisyo

Dahil nais naming patakbuhin ang mopidy sa pagsisimula, dalawang mga utos ang magpapahintulot sa mopidy na tumakbo sa boot:

sudo systemctl paganahin ang mopidy

sudo dpkg-reconfigure mopidy

I-reboot, at pagkatapos ay tumakbo

sudo systemctl status mopidy - l

upang suriin ang iyong katayuan. Dapat mong makita ang isang berdeng tagapagpahiwatig. Ang Mopidy ay may isang napaka kapaki-pakinabang na site ng suporta upang makatulong sa karagdagang mga pagpipilian sa pagsasaayos. Suriin ang site ng Mopidy Documentation para sa higit pang mga detalye.

Hakbang 10: Idagdag ang Iyong Sariling Musika

Idagdag ang Iyong Sariling Musika
Idagdag ang Iyong Sariling Musika

Bilang default, gugustuhin ng mopidy na mag-imbak ng lokal na musika sa isang folder sa ilalim ng / var / lib / mopidy / media. Kopyahin ang iyong koleksyon ng musika doon. Nahanap ko na pinakamadaling alisin lamang ang sd card mula sa pi (pagkatapos ng ligtas na pag-shutdown), at paggamit ng isang micro sd sa usb adapter, isaksak ang adapter sa iyong unit ng imbakan at kopyahin / i-paste doon. (maaaring magtagal ito depende sa laki ng iyong koleksyon). Kapag nakumpleto, ibalik ang sd card sa pi, i-boot ito, muling kumonekta, at pagkatapos ay i-type:

sudo mopidyctl lokal na pag-scan

Idaragdag nito ang iyong musika sa lokal na media library sa Music Box. Maaari mong mapansin ang.wma file ay hindi kinikilala bilang audio, at ang.ogg file ay tila napalampas sa panahon ng pag-scan. Ang mga file ng Mp3 ay hindi dapat maging isang problema.

Hakbang 11: File ng Pag-configure ng Sound Card - Asound.conf

Wala ka pang dapat sa /etc/asound.conf, ngunit kung mayroon ka, palitan ang mga nilalaman ng mga nasa ibaba, o lumikha ng isa gamit ang:

sudo nano /etc/asound.conf

at i-paste:

mga pagpipilian 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 at Y upang mai-save ang nasa itaas bilang iyong bagong asound.conf file.

Hakbang 12: Siguraduhin na Ginagamit namin ang Tamang Overlay upang I-configure ang.txt sa / boot

uri

sudo nano /boot/config.txt

Ang huling ilang mga linya ay dapat maging katulad ng isang bagay na katulad sa ibaba. Nais naming matiyak na ang karaniwang audio ay nagkomento, kasama ang anumang nakaraang pag-overlay tulad ng aking hifiberry dac, habang ipinapatupad ang overlay ng sumbrero ng google boses. Sa wakas, nais naming turuan ang pi na gamitin ang i2s mapping. Sinasabi ng # tagapagpahiwatig sa system na huwag pansinin ang linya.

# Paganahin ang audio (naglo-load snd_bcm2835)

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

i-reboot kung ang lahat ay katulad ng sa itaas. Maghintay ng ilang minuto, buksan ang isang browser sa url ng musicbox, at magpatugtog ng ilang musika.

Hakbang 13: Masiyahan sa Musika

Kung ang iyong pakikinig sa kabutihan ng stereo, nagawa ang misyon!

Isa sa mga magagandang bagay tungkol sa paggamit ng isang raspberry pi bilang isang walang ulo na music server na konektado sa wifi ay ang pagtakbo nito nang hindi kumukuha ng isang buong maraming mapagkukunan. Totoo, nagpapalabas lamang kami ng 3 watts bawat channel, ngunit marahil ay sapat na iyon para sa pakikinig nang malapit sa saklaw. Magpapasalamat sa iyo ang baterya ng iyong mga telepono.

Mayroong isang napaka-makabuluhang berdeng kadahilanan din - humihigop lamang kami ng 5.25 volts ng enerhiya. At kung ihahambing sa Bluetooth, maaari naming itakda ang stream ng radyo at hindi ma-anchor sa isang saklaw na 30 talampakan na bluetooth. Tungkol sa aming telepono, maaari kaming tumawag, maglaro, at maglakad nang medyo malaya nang hindi nagagambala ang stream ng musika. Napakamot lang kami sa ibabaw. Mayroong mga tone-toneladang magagamit na mga extension ng mopidy upang galugarin, at ang mopidy ay may isang lumalaking base ng developer dahil ito ay bukas na mapagkukunan. Hahayaan kita na tuklasin ang mga tampok na interesado ka nang mag-isa.

Hakbang 14: Konklusyon

Konklusyon
Konklusyon

Ang isa sa mga pinakahusay na tampok ng proyektong ito ay hindi namin pinaghihigpitan ang aming pi sa pamamagitan ng pag-lock ng access sa GPIO. Pinapayagan kaming mag-access sa maraming karagdagang mga pagpipilian dahil ang sumbrero ng boses ay dinisenyo ng mabuti. Halimbawa, ang aking susunod na proyekto ay upang magdagdag ng isang pansamantalang push button switch bilang isang shutdown button. Dapat madali ito, at alam ko na kung saan kailangang mapunta ang mga pin: Hindi sila hadlang. Mula doon? Sa gayon, para sa proyektong ito ay ganap naming hindi pinansin ang mikropono - marahil isang pi karaoke? Marahil isang LED light show, o magdagdag ng motor para sa isang rolling jukebox? Ang lahat ng mga pin ay magagamit pa rin at naa-access. Nagiging tanong bakit hindi? At kung sakali na nais mong bumalik sa AI, mag-pop lamang sa lumang sd card at magrespond sa google sa stereo.

Inirerekumendang: