Talaan ng mga Nilalaman:

PAB: isang Personal na Audio Box: 5 Mga Hakbang
PAB: isang Personal na Audio Box: 5 Mga Hakbang

Video: PAB: isang Personal na Audio Box: 5 Mga Hakbang

Video: PAB: isang Personal na Audio Box: 5 Mga Hakbang
Video: JRLDM performs "Para Sa Sarili" LIVE on Wish 107.5 Bus 2024, Hulyo
Anonim
PAB: isang Personal na Audio Box
PAB: isang Personal na Audio Box

Ang ideya para sa proyektong ito ay ipinanganak mula sa pangangailangan na i-scrape ang tatlong malalaking bahagi ng HiFi system, na umabot na sa pagtatapos ng kanilang buhay. Bilang karagdagan, kailangan ko ng mas maraming puwang sa istante para sa iba pang mga bagay, kaya't kinuha ko ang pagkakataon na magsimulang mag-aral sa isang Personal na Audio Box upang palitan ang lahat ng mga pag-andar ng tatlong mga "higante" ng antigo.

Ang isang Raspberry Pi3B + ay tila ang pinakamahusay na pagpipilian para sa mga kadahilanang ito:

  • Maliit na form factor at mababang paggamit ng kuryente;
  • Isang audio PCM output na may katanggap-tanggap na kalidad;
  • Ang pagkakaroon ng mopidy, isang extensible music server na nagpapatupad ng mpd protocol;
  • Mataas na pagsasama ng mga mapagkukunan: lokal na musika, CDROM, mga stream ng radyo, Spotify, Tunein, atbp.

Isinasama ito sa ilang iba pang mga bahagi, nakagawa ako ng isang kumpleto at walang ulo na system, na may kakayahang magpatugtog ng musika mula sa mga CD, lokal na file, online na radyo, mga playlist ng Spotify, podcast. At sa pamamagitan ng paggamit ng isang frontend, maaari ko nang pamahalaan ang lahat ng operasyon nito mula sa anumang aparato na konektado sa LAN (smartphone, computer, tablet).

Mga gamit

  • Raspberry PI3B +
  • Isang lumang kaso sa DVD
  • Mambabasa ng CDROM
  • 5v-5A supply ng kuryente
  • Mga supercapacitor
  • Iba't ibang mga bahagi (transistors, LED, relay, Op-Amp): tingnan ang mga detalye ng proyekto

Hakbang 1: Kaso at Layout ng Mga Bahagi

Kaso at Layout ng Mga Bahagi
Kaso at Layout ng Mga Bahagi
Kaso at Layout ng Mga Bahagi
Kaso at Layout ng Mga Bahagi
Kaso at Layout ng Mga Bahagi
Kaso at Layout ng Mga Bahagi
Kaso at Layout ng Mga Bahagi
Kaso at Layout ng Mga Bahagi

Ang unang problemang kinaharap ko ay ang pagpili at paghanap ng angkop na kaso. Wala akong nahanap sa bahay, nahanap ko ang murang DVD player na ito sa Amazon nang ilang dolyar, ngunit ang anumang katulad ay magiging sapat na. Ang kaso ay may mga sukat na ito: 27cm x 20cm x 3.5cm.

Ganap kong inalis ang lahat ng nilalaman, pinapanatili lamang ang maliit na board upang pamahalaan ang front LED, ang power button at ang input ng USB. Pagkatapos ay binalak ko ang panloob na layout para sa mga bagong sangkap (tingnan ang larawan).

Hakbang 2: Ang Audio Stereo Sensing Switch

Ang Audio Stereo Sensing Switch
Ang Audio Stereo Sensing Switch
Ang Audio Stereo Sensing Switch
Ang Audio Stereo Sensing Switch
Ang Audio Stereo Sensing Switch
Ang Audio Stereo Sensing Switch

Bakit isang awtomatikong paglipat ng audio? Ang pangangailangan ay lumitaw mula sa ang katunayan na madalas akong makinig sa TV sa pamamagitan ng HiFi amplifier, ngunit hindi ko nais na piliin ang source switch sa amplifier sa tuwing. Sa circuit na ito, ang input ng amplifier ay palaging pareho, at ang mapagkukunan ay awtomatikong pinili ng Audio Stereo Sensing Switch.

Ang eskematiko ay diretso. Kapag ang PAB ay hindi nagpe-play, ang mapagkukunan ng audio sa HiFi ay nagmumula sa TV. Kung nagpatugtog ang PAB, pipili ang relay ng audio mula sa Raspberry.

Hakbang 3: Ang Kahon ng Super-Capacitors

Ang Kahon ng Super-Capacitors
Ang Kahon ng Super-Capacitors
Ang Kahon ng Super-Capacitors
Ang Kahon ng Super-Capacitors

Tulad ng kilala, isang biglaang pagkagambala ng suplay ng kuryente sa Raspberry na sanhi ng agarang pag-off ng power nang hindi naisakatuparan ang shutdown procedure, nanganganib na ikompromiso ang operating system at samakatuwid ang kabuuang pag-andar nito. Ang isang supercapacitor ay naiiba mula sa isang tradisyonal na capacitor sa dalawang mahahalagang katangian: ang mga plate nito ay talagang may isang mas malaking lugar at ang distansya sa pagitan ng mga ito ay mas maliit, dahil ang interposed insulator ay gumagana nang iba kaysa sa isang maginoo na dielectric. Sa mga diskarteng ito, ang napakataas na kapasidad (sa pagkakasunud-sunod ng maraming mga sampu ng Farad) na mga capacitor ay maaaring gawin habang pinapanatili ang maliit na sukat. Ang ideya samakatuwid ay upang lumikha ng isang 5v "buffer" sa pamamagitan ng supercapacitors at upang buhayin ang pag-shutdown kapag nakita ang kawalan ng supply boltahe. Sa ganitong paraan, hindi na kinakailangan upang manu-manong makialam upang mailunsad ang pag-shutdown, ngunit alisin lamang ang plug (o buhayin ang isang switch) upang matiyak ang isang ligtas na pag-shutdown.

Sumangguni sa eskematiko, ang supply ng kuryente ay inilalapat sa kaliwang terminal at pinipigilan ng Schottky diode ang anumang pagbabalik ng kasalukuyang sa power supply. Ang dalawang 1.2Ω 5W power resistors na kahanay ay naglilimita sa kasalukuyang singil ng mga supercapacitor, upang maprotektahan ang suplay ng kuryente. Kung wala ang mga resistors na ito, ang kasalukuyang rurok na kinakailangan ng dalawang pinalabas na supercapacitors ay halos tiyak na makakasira sa suplay ng kuryente. Ang power diode ay dapat na maging uri ng Schottky upang maipasok ang isang minimum na drop ng boltahe sa serye gamit ang 5V bar.

Ang dalawang supercapacitors ay konektado sa serye upang matiyak ang isang maximum na boltahe ng 5.4 volts sa kanilang mga dulo (bawat supercapacitor ay 10F, 2.7V) at ang dalawang resistors na kahanay sa mga capacitance balansehin ang pagsingil ng mga alon at ginagarantiyahan ang isang mabagal na paglabas kapag ang Raspberry ay nakabukas off Ang dalawang resistors na 1KΩ na kahanay ng input ay hatiin ang 5V ng supply ng kuryente sa kalahati upang kunin ang kinakailangang senyas upang makita ang pagkabigo ng kuryente (konektado sa Raspberry GPIO 7). Hindi tulad ng mga modernong cell ng lithium, ginagarantiyahan ng mga supercapacitor ang isang halos walang katapusang bilang ng mga pag-charge at paglabas ng mga cycle, nang hindi nawawala ang anumang mga katangian.

Samakatuwid ay maaaring mapanatili ng circuit ang Raspberry na pinapatakbo at gumagana para sa oras na kinakailangan upang maisagawa ang isang regular na pag-shutdown. Ang pagsisimula ng proseso ng pag-shutdown ay makikita ng isang programa na tumatakbo sa Raspberry na susubaybayan ang katayuan ng GPIO 7, kung saan nakakonekta ang antas ng kuryente. Kapag naalis ang pagkakakonekta, ang GPIO pin 7 ay dumadaan sa isang mababang antas at nagpapalitaw ng pag-shutdown. Ito ang code:

#! / usr / bin / env python

i-import ang RPi. GPIO bilang GPIO import subprocess GPIO.setmode (GPIO. BCM) # gamitin ang GPIO na pagnunumero ng GPIO.setwarnings (Mali) INT = 7 # pin 26 na sinusubaybayan ang Power Supply # gumamit ng isang mahinang pull_up upang lumikha ng isang mataas na GPIO.setup (INT, GPIO. IN, pull_up_down = GPIO. PUD_UP) def main (): habang True: # magtakda ng isang makagambala sa isang bumabagsak na gilid at hintaying mangyari ito GPIO.wait_for_edge (INT, GPIO. FALLING) # suriin muli ang antas ng pin kung GPIO.input (INT) == 0: # mababa pa rin, shutdown Pi subprocess.call (['poweroff'], shell = True, / stdout = subprocess. PIPE, stderr = subprocess. PIPE) kung _name_ == '_main_': pangunahing ()

Ang programa ay dapat na nai-save sa / usr / local / bin /.py at na-configure upang tumakbo kapag nagsimula ang Raspberry. Mula sa mga pagsubok na isinasagawa, ang mga kakayahan ng dalawang supercapacitor ay napatunayan na sapat upang matiyak ang oras ng pag-shutdown para sa Raspberry. Kung kailangan ng mas maraming oras, sapat na upang ipakilala ang dalawang iba pang mga supercapacitor kahanay sa mga mayroon na, o palitan ang mga ito ng dalawa na may higit na kapasidad.

Hakbang 4: Pagtitipon at Paggamit ng mga USB Ports

Pagtitipon at Paggamit ng mga USB Ports
Pagtitipon at Paggamit ng mga USB Ports

Ipinapakita ng Block Schematic kung paano ikonekta ang maraming mga aparato para sa PAB sa pangunahing 3 bus (+ 5v, USB at audio stereo).

Tandaan na ang power supply ng CD reader ay konektado nang direkta sa pangunahing Power Supply sa pamamagitan ng isang "Y" cable, habang ang audio input ay papunta sa Raspberry. Ang apat na mga port ng USB Raspberry ay ginamit para sa:

  • CD reader;
  • isang 250GB pendrive upang mag-imbak ng mga lokal na file ng musika (mp3, m4a, wma, flac, atbp.);
  • isang 16GB micro SD-card (na may USB adapter) upang maiimbak ang buong backup ng pangunahing Raspi SD (tingnan sa ibaba);
  • isang koneksyon sa panlabas na USB port sa kaso.

Ang panlabas na USB port ay maaaring magamit upang magpatugtog ng panlabas na musika o upang mapagana ang mga panlabas na aparato. Sa aking kaso, pinapagana ko ang isang panlabas na Bluetooth transmitter dahil itinapon ko ang panloob na Raspi dahil sa mababang saklaw at kawalang-tatag. Gamit ang panlabas na bluetooth nagmamaneho ako ng 2 magkakaibang mga stereo speaker sa bahay.

Ang 16GB micro SD card (na may USB adapter) ay may hawak na isang buong backup na Raspberry. Gumagamit ako ng rpi-clone, na isiniwalat na isang napakahusay na proyekto na nagbibigay-daan upang magkaroon ng isang buong gumaganang pag-backup ng Raspberry nang hindi kinakailangan na alisin ang panloob na SD. Napalitan ko ng maraming beses ang SD na ito sa panloob, nang walang anumang problema. Kaya mayroon akong pag-set up ng cronjob para sa root user:

#Backup sa sda - bawat Miyerkules ng gabi

15 2 * * 3 / usr / sbin / rpi-clone sda -u | mail -s "PAB backup sa SD - tapos na"

Ginamit ko muli ang orihinal na pindutan ng kuryente sa kaso upang i-shutdown at i-restart ang Raspberry, sumusunod sa gabay na ito:

Hakbang 5: Software at Sistema ng Pagpapatakbo

Software at Sistema ng Pagpapatakbo
Software at Sistema ng Pagpapatakbo
Software at Sistema ng Pagpapatakbo
Software at Sistema ng Pagpapatakbo
Software at Sistema ng Pagpapatakbo
Software at Sistema ng Pagpapatakbo

Ang pangunahing operating system ng PAB ay isang payak na Raspbian minimal (Debian Buster) na may maraming mga tukoy na karagdagan:

  • rpi-clone para sa pangunahing backup;
  • ssmtp, isang simpleng MTA upang makakuha ng mail mula sa system;
  • udevil, upang payagan ang automount ng mga USB drive;
  • abcde, upang makuha ang aking koleksyon ng CD at i-compress ito sa anumang format na audio;
  • mopidy, isang buong Music Player Daemon na may maraming mga plugin.

Sinulat ko na ang isang buong aplikasyon ng server ng PAB scheduler na gumagamit ng python3 at buhawi, na ang code ay wala sa saklaw ng artikulong ito, ngunit maaari akong magbigay ng mga tagubilin sa kahilingan. Sa scheduler maaari kang mag-set up ng mga playlist para sa anumang oras ng iyong araw, na pinag-iiba ang mga araw ng linggo mula sa katapusan ng linggo.

Ang pangunahing software na nagpapatakbo ng PAB ay mopidy. Para sa pag-install at pagsasaayos ng mopidy (medyo malawak) mangyaring sumangguni sa dokumentasyon nito dito:

Ito ang mga naka-install na plugin:

  • Mopidy-Alsamixer
  • Mopidy-Internetarchive
  • Mopidy-Local-Sqlite
  • Mopidy-Podcast
  • Mopidy-Scrobbler
  • Mopidy-Soundcloud
  • Mopidy-Spotify
  • Mopidy-Spotify-Tunigo
  • Mopidy-Cd
  • Mopidy-Iris
  • Mopidy-Lokal-Mga Larawan
  • Mopidy-TuneIn

Upang makontrol ang buong PAB, pinili ko ang Iris frontend extension (tingnan ang mga larawan). Ito ay isang napakalakas na web application na may mga sumusunod na tampok:

  • Ganap na mga kontrol ng interface na batay sa web para sa Mopidy
  • Pinahusay na suporta para sa mga lokal na aklatan (pinalakas ng Mopidy-Local-Sqlite)
  • Mag-browse at pamahalaan ang mga playlist at track
  • Tumuklas ng bago, tanyag at nauugnay na musika (pinalakas ng Spotify)
  • Malayang na-host
  • Pagsasama sa:

    • Spotify
    • LastFM
    • Henyo
    • Snapcast
    • Icecast

Sa ganitong paraan, malaya akong makontrol ang aking musika mula sa halos saanman (computer, tablet, smartphone).

Inirerekumendang: