Cuprins:

PAB: o casetă audio personală: 5 pași
PAB: o casetă audio personală: 5 pași

Video: PAB: o casetă audio personală: 5 pași

Video: PAB: o casetă audio personală: 5 pași
Video: Bossa Nova Covers Popular Songs (5 Hours) 2024, Iulie
Anonim
PAB: o casetă audio personală
PAB: o casetă audio personală

Ideea acestui proiect s-a născut din nevoia de a răzuie cele trei componente mari ale sistemului HiFi, care ajunseseră acum la sfârșitul vieții lor. În plus, aveam nevoie de mai mult spațiu în raft pentru alte obiecte, așa că am profitat de ocazie pentru a începe să studiez la un Personal Audio Box pentru a înlocui toate funcțiile celor trei „giganți” de epocă.

Un Raspberry Pi3B + părea să fie cea mai bună alegere din aceste motive:

  • Factor de formă mic și consum redus de energie;
  • O ieșire audio PCM cu o calitate acceptabilă;
  • Disponibilitatea mopidy, un server de muzică extensibil care implementează protocolul mpd;
  • Integrare ridicată a surselor: muzică locală, CDROM, fluxuri radio, Spotify, Tunein etc.

Integrându-l cu alte câteva componente, am reușit să creez un sistem complet și fără cap, capabil să redau muzică de pe CD-uri, fișiere locale, radio online, liste de redare Spotify, podcast-uri. Și prin utilizarea unui frontend, acum pot gestiona toată funcționarea acestuia de pe orice dispozitiv conectat la LAN (smartphone, computer, tabletă).

Provizii

  • Raspberry PI3B +
  • O carcasă DVD veche
  • Cititor CDROM
  • Alimentare 5v-5A
  • Supercondensatoare
  • Diverse componente (tranzistoare, LED, releu, Op-Amp): vezi detaliile proiectului

Pasul 1: Caz și aspectul componentelor

Carcasa și aspectul componentelor
Carcasa și aspectul componentelor
Carcasa și aspectul componentelor
Carcasa și aspectul componentelor
Carcasa și aspectul componentelor
Carcasa și aspectul componentelor
Carcasa și aspectul componentelor
Carcasa și aspectul componentelor

Prima problemă cu care m-am confruntat a fost selectarea și găsirea unui caz adecvat. N-am găsit nimic acasă, am găsit acest DVD player ieftin pe Amazon pentru câțiva dolari, dar ceva similar va fi suficient de bun. Carcasa are aceste dimensiuni: 27cm x 20cm x 3.5cm.

Am eliminat complet tot conținutul, păstrând doar placa mică pentru a gestiona LED-ul frontal, butonul de alimentare și intrarea USB. Apoi am planificat aspectul intern pentru noile componente (vezi imaginea).

Pasul 2: Comutatorul de detectare stereo audio

Comutatorul Audio Stereo Sensing
Comutatorul Audio Stereo Sensing
Comutatorul Audio Stereo Sensing
Comutatorul Audio Stereo Sensing
Comutatorul Audio Stereo Sensing
Comutatorul Audio Stereo Sensing

De ce un comutator audio automat? Nevoia apare din faptul că ascult deseori televizorul prin amplificatorul HiFi, dar nu am vrut să selectez de fiecare dată comutatorul sursă al amplificatorului. Cu acest circuit, intrarea amplificatorului este întotdeauna aceeași, iar sursa este selectată automat de comutatorul de detectare audio stereo.

Schema este directă. Când PAB nu se redă, sursa audio către HiFi provine de la televizor. Dacă se redă PAB, releul selectează sunetul din Raspberry.

Pasul 3: Cutia cu supercondensatoare

Cutia cu supercondensatoare
Cutia cu supercondensatoare
Cutia cu supercondensatoare
Cutia cu supercondensatoare

După cum se știe, o întrerupere bruscă a alimentării cu energie a Raspberry provoacă oprirea imediată fără executarea procedurii de oprire, riscând să compromită sistemul de operare și, prin urmare, funcționalitatea sa totală. Un supercondensator diferă de un condensator tradițional prin două caracteristici esențiale: plăcile sale au de fapt o suprafață mai mare și distanța dintre ele este mult mai mică, deoarece izolatorul interpus funcționează diferit decât un dielectric convențional. Cu aceste tehnici, se pot realiza condensatori de capacitate foarte mare (în ordinea a câteva zeci de Farads), menținând în același timp dimensiuni reduse. Prin urmare, ideea este de a crea un "buffer" de 5v prin intermediul supercondensatorilor și de a activa oprirea atunci când este detectată absența tensiunii de alimentare. În acest fel, nu va mai fi necesar să interveniți manual pentru a lansa oprirea, ci pur și simplu scoateți ștecherul (sau activați un comutator) pentru a asigura o oprire sigură.

Referindu-ne la schemă, sursa de alimentare se aplică la terminalul din stânga și dioda Schottky împiedică orice revenire a curentului la sursa de alimentare. Cele două rezistențe de putere de 1,2Ω 5W în paralel limitează curentul de încărcare al supercondensatorilor, pentru a proteja sursa de alimentare. Fără aceste rezistențe, curentul de vârf necesar de cele două supercondensatoare descărcate ar putea aproape sigur să deterioreze sursa de alimentare. Dioda de putere trebuie să fie neapărat de tip Schottky pentru a introduce o cădere de tensiune minimă în serie cu bara de 5V.

Cele două supercondensatoare sunt conectate în serie pentru a asigura o tensiune maximă de 5,4 volți la capetele lor (fiecare supercondensator este de 10F, 2,7V) și cele două rezistențe în paralel cu capacitățile echilibrează curenții de încărcare și garantează o descărcare lentă atunci când zmeura este rotită oprit. Cele două rezistențe de 1KΩ paralele la intrare împart 5V ale sursei de alimentare în jumătate pentru a prelua semnalul necesar pentru a detecta întreruperea alimentării (conectat la Raspberry GPIO 7). Spre deosebire de celulele moderne de litiu, supercondensatoarele garantează un număr aproape infinit de cicluri de încărcare și descărcare, fără a pierde nici o caracteristică.

Prin urmare, circuitul va fi capabil să mențină Raspberry alimentat și să funcționeze pentru timpul necesar pentru a efectua o oprire regulată. Începutul procesului de oprire va fi detectat de un program care rulează pe Raspberry, care va monitoriza starea GPIO 7, la care este conectat nivelul de putere. Când alimentarea este deconectată, pinul GPIO 7 trece la un nivel scăzut și declanșează oprirea. Acesta este codul:

#! / usr / bin / env python

import RPi. GPIO ca GPIO import subproces GPIO.setmode (GPIO. BCM) # folosiți numerotarea GPIO GPIO.setwarnings (False) INT = 7 # pin 26 monitoare Alimentare # utilizați un pull_up slab pentru a crea un GPIO.setup înalt (INT, GPIO. IN, pull_up_down = GPIO. PUD_UP) def main (): în timp ce True: # setează o întrerupere pe o margine descendentă și așteaptă să se întâmple GPIO.wait_for_edge (INT, GPIO. FALLING) # verifică din nou nivelul pinului dacă GPIO.input (INT) == 0: # încă scăzut, oprire Pi subprocess.call (['poweroff'], shell = True, / stdout = subprocess. PIPE, stderr = subprocess. PIPE) if _name_ == '_main_': principal()

Programul trebuie salvat în / usr / local / bin /.py și configurat pentru a rula la pornirea Raspberry. Din testele efectuate, capacitățile celor două supercondensatoare s-au dovedit a fi suficiente pentru a asigura timpul de oprire pentru Raspberry. Dacă este nevoie de mai mult timp, va fi suficient să se introducă alte două supercondensatoare în paralel cu cele existente sau să le înlocuiască cu două de capacitate mai mare.

Pasul 4: Asamblarea și utilizarea porturilor USB

Asamblarea și utilizarea porturilor USB
Asamblarea și utilizarea porturilor USB

Schema de blocare arată cum să conectați mai multe dispozitive pentru PAB pe magistrala principală 3 (+ 5v, USB și audio stereo).

Rețineți că sursa de alimentare a cititorului de CD a fost conectată direct la sursa de alimentare principală printr-un cablu „Y”, în timp ce intrarea audio se îndreaptă către Raspberry. Cele patru porturi USB Raspberry au fost utilizate pentru:

  • Cititor de CD;
  • un pendrive de 250 GB pentru stocarea fișierelor muzicale locale (mp3, m4a, wma, flac etc.);
  • un card micro SD de 16 GB (cu adaptor USB) pentru a stoca backupul complet al Raspi SD principal (a se vedea mai jos);
  • o conexiune la portul USB extern al carcasei.

Portul USB extern poate fi utilizat pentru a reda muzică externă sau pentru a alimenta dispozitive externe. În cazul meu, alimentez un emițător Bluetooth extern, deoarece am renunțat la cel intern al Raspi din cauza razei reduse și a instabilității. Cu bluetooth-ul extern conduc acasă 2 difuzoare stereo diferite.

Cardul micro SD de 16 GB (cu adaptor USB) deține o copie de rezervă completă Raspberry. Folosesc rpi-clone, care s-a dovedit a fi un proiect foarte bun care permite să aveți o copie de rezervă completă a Raspberry fără a fi nevoie să eliminați SD-ul intern. Am schimbat de multe ori acest SD cu cel intern, fără nicio problemă. Așa că am configurat o cronjob pentru utilizatorul root:

#Backup pe sda - în fiecare miercuri seara

15 2 * * 3 / usr / sbin / rpi-clone sda -u | mail -s "Backup PAB pe SD - gata"

Am reutilizat apoi butonul de alimentare original de pe carcasă pentru a opri și reporni Raspberry, urmând acest ghid:

Pasul 5: Software și sistem de operare

Software și sistem de operare
Software și sistem de operare
Software și sistem de operare
Software și sistem de operare
Software și sistem de operare
Software și sistem de operare

Principalul sistem de operare al PAB este un Raspbian simplu (Debian Buster) cu câteva adăugări specifice:

  • rpi-clone pentru backup principal;
  • ssmtp, un MTA simplu pentru a scoate e-mailurile din sistem;
  • udevil, pentru a permite montarea automată a unităților USB;
  • abcde, pentru a prelua colecția mea de CD-uri și a o comprima în orice format audio;
  • mopidy, un Daemon Music Player complet cu o grămadă de plugin-uri.

Am scris apoi o aplicație completă pentru serverul PAB Scheduler folosind python3 și tornado, al cărei cod nu intră în sfera acestui articol, dar pot oferi instrucțiuni la cerere. Cu Scheduler puteți configura liste de redare pentru orice moment al zilei, diferențiind zilele lucrătoare de weekend.

Principalul software care rulează PAB este mopidy. Pentru instalarea și configurarea mopidy (destul de extinsă) vă rugăm să consultați documentația sa aici:

Acestea sunt pluginurile instalate:

  • Mopidy-Alsamixer
  • Mopidy-Internetarchive
  • Mopidy-Local-Sqlite
  • Mopidy-Podcast
  • Mopidy-Scrobbler
  • Mopidy-Soundcloud
  • Mopidy-Spotify
  • Mopidy-Spotify-Tunigo
  • Mopidy-Cd
  • Mopidy-Iris
  • Mopidy-Local-Images
  • Mopidy-TuneIn

Pentru a obține controlul complet asupra PAB, am ales extensia frontală Iris (vezi imagini). Aceasta este o aplicație web foarte puternică, cu următoarele caracteristici:

  • Controale complete de interfață bazate pe web pentru Mopidy
  • Suport îmbunătățit pentru bibliotecile locale (oferit de Mopidy-Local-Sqlite)
  • Răsfoiți și gestionați liste de redare și melodii
  • Descoperiți muzică nouă, populară și conexă (oferită de Spotify)
  • Găzduit liber
  • Integrare cu:

    • Spotify
    • LastFM
    • Geniu
    • Snapcast
    • Icecast

În acest fel, sunt liber să îmi controlez muzica de aproape oriunde (computer, tabletă, smartphone).

Recomandat: