Indholdsfortegnelse:

PAB: en personlig lydboks: 5 trin
PAB: en personlig lydboks: 5 trin

Video: PAB: en personlig lydboks: 5 trin

Video: PAB: en personlig lydboks: 5 trin
Video: Inside a $48,000,000 Beverly Hills "MODERN BARNHOUSE" Filled with Expensive Art 2024, Juli
Anonim
PAB: en personlig lydboks
PAB: en personlig lydboks

Ideen til dette projekt blev født på grund af behovet for at skrabe de tre store komponenter i HiFi -systemet, som nu havde nået slutningen af deres levetid. Derudover havde jeg brug for mere plads på hylden til andre genstande, så jeg benyttede lejligheden til at begynde at studere på en Personal Audio Box for at erstatte alle funktioner i de tre vintage "giganter".

En Raspberry Pi3B+ syntes at være det bedste valg af disse grunde:

  • Lille formfaktor og lavt strømforbrug;
  • En lyd PCM -output med acceptabel kvalitet;
  • Tilgængelighed af mopidy, en udvidelig musikserver, der implementerer mpd -protokol;
  • Høj integration af kilder: lokal musik, CDROM, radiostreams, Spotify, Tunein osv.

Ved at integrere det med få andre komponenter var jeg i stand til at oprette et komplet og hovedløst system, der er i stand til at afspille musik fra cd'er, lokale filer, online radio, Spotify -afspilningslister, podcasts. Og ved brug af en frontend kan jeg nu styre al dens drift fra enhver enhed, der er forbundet til LAN (smartphone, computer, tablet).

Forbrugsvarer

  • Hindbær PI3B+
  • Et gammelt dvd -etui
  • CDROM -læser
  • 5v-5A strømforsyning
  • Superkapacitorer
  • Forskellige komponenter (transistorer, LED, relæ, Op-Amp): se projektdetaljer

Trin 1: Sag og layout af komponenter

Sag og layout af komponenter
Sag og layout af komponenter
Sag og layout af komponenter
Sag og layout af komponenter
Sag og layout af komponenter
Sag og layout af komponenter
Sag og layout af komponenter
Sag og layout af komponenter

Det første problem, jeg stod over for, var at vælge og finde en passende sag. Da jeg ikke fandt noget derhjemme, fandt jeg denne billige DVD -afspiller på Amazon til et par dollars, men noget lignende vil være godt nok. Kassen har disse dimensioner: 27 cm x 20 cm x 3,5 cm.

Jeg fjernede alt indhold fuldstændigt og beholdt kun det lille bord til at styre den forreste LED, tænd / sluk -knappen og USB -indgangen. Derefter planlagde jeg det interne layout til de nye komponenter (se billede).

Trin 2: Audio Stereo Sensing Switch

Lydstik til stereosensor
Lydstik til stereosensor
Lydstik til stereosensor
Lydstik til stereosensor
Lydstik til stereosensor
Lydstik til stereosensor

Hvorfor en automatisk lydafbryder? Behovet skyldes, at jeg ofte lytter til tv via HiFi -forstærkeren, men jeg ville ikke vælge kildekontakten på forstærkeren hver gang. Med dette kredsløb er forstærkerindgangen altid den samme, og kilden vælges automatisk af Audio Stereo Sensing Switch.

Skematikken er ligetil. Når PAB ikke afspiller, kommer lydkilden til HiFi fra tv'et. Hvis PAB afspiller, vælger relæet lyd fra hindbær.

Trin 3: Super-kondensatorboks

Super-kondensatorboks
Super-kondensatorboks
Super-kondensatorboks
Super-kondensatorboks

Som bekendt forårsager en pludselig afbrydelse af strømforsyningen til Hindbær øjeblikkelig strømafbrydelse uden afslutning af nedlukningsproceduren, hvilket risikerer at kompromittere operativsystemet og dermed dets samlede funktionalitet. En superkondensator adskiller sig fra en traditionel kondensator i to væsentlige egenskaber: dens plader har faktisk et større område, og afstanden mellem dem er meget mindre, da den mellemliggende isolator fungerer anderledes end et konventionelt dielektrikum. Med disse teknikker kan der laves meget høj kapacitet (i størrelsesordenen flere titalls Farads), mens små dimensioner bevares. Ideen er derfor at oprette en 5v "buffer" via superkapacitorer og aktivere nedlukning, når fraværet af forsyningsspændingen detekteres. På denne måde vil det ikke længere være nødvendigt at manuelt gribe ind for at starte nedlukningen, men blot fjerne stikket (eller aktivere en kontakt) for at sikre en sikker nedlukning.

Med henvisning til skematikken tilsluttes strømforsyningen den venstre terminal, og Schottky -dioden forhindrer enhver tilbagevenden af strøm til strømforsyningen. De to 1,2Ω 5W effektmodstande parallelt begrænser superkapacitorernes ladestrøm for at beskytte strømforsyningen. Uden disse modstande ville spidsstrømmen, der kræves af de to afladede superkapacitorer, næsten helt sikkert kunne beskadige strømforsyningen. Strømdioden skal nødvendigvis være af typen Schottky for at indsætte et minimumsspændingsfald i serie med 5V bar.

De to superkapacitorer er forbundet i serie for at sikre en maksimal spænding på 5,4 volt i deres ender (hver superkapacitor er 10F, 2,7V), og de to modstande parallelt med kapacitanserne afbalancerer ladestrømmene og garanterer en langsom afladning, når hindbæret vendes af. De to 1KΩ modstande parallelt med indgangen deler strømforsyningens 5V i to for at tage det nødvendige signal til at detektere strømsvigt (forbundet til Raspberry GPIO 7). I modsætning til moderne lithiumceller garanterer superkapacitorer et næsten uendeligt antal ladnings- og udladningscyklusser uden at miste nogen egenskaber.

Kredsløbet vil derfor kunne holde hindbæret drevet og fungere i den tid, det tager at udføre en regelmæssig nedlukning. Starten af nedlukningsprocessen vil blive registreret af et program, der kører på Raspberry, som vil overvåge status for GPIO 7, hvortil strømniveauet er tilsluttet. Når strømmen er afbrudt, passerer GPIO pin 7 på et lavt niveau og udløser nedlukning. Dette er koden:

#!/usr/bin/env python

importer RPi. GPIO som GPIO import delproces GPIO.setmode (GPIO. BCM) # brug GPIO nummerering GPIO.setwarnings (False) INT = 7 # pin 26 skærme Strømforsyning # brug en svag pull_up til at oprette en høj GPIO.setup (INT, GPIO. IN, pull_up_down = GPIO. PUD_UP) def main (): while True: # sæt en afbrydelse på en faldende kant, og vent på, at det sker GPIO.wait_for_edge (INT, GPIO. FALLING) # tjek pin -niveauet igen, hvis GPIO.input (INT) == 0: # stadig lav, nedlukning Pi subprocess.call (['poweroff'], shell = True, / stdout = subprocess. PIPE, stderr = subprocess. PIPE) if _name_ == '_main_': main ()

Programmet skal gemmes i/usr/local/bin/.py og konfigureres til at køre, når hindbæret starter. Fra udførte test har kapaciteten på de to superkapacitorer vist sig at være tilstrækkelig til at sikre nedlukningstiden for Hindbær. Hvis der er brug for mere tid, vil det være tilstrækkeligt at indføre to andre superkapacitorer parallelt med de eksisterende eller erstatte dem med to af større kapacitet.

Trin 4: Samling og brug af USB -porte

Samling og brug af USB -porte
Samling og brug af USB -porte

Blokskematisk viser, hvordan du tilslutter de flere enheder til PAB på hoved 3 -bussen (+5v, USB og lydstereo).

Bemærk, at cd -læserens strømforsyning er tilsluttet direkte til hovedstrømforsyningen via et "Y" -kabel, mens lydindgangen går til Raspberry. De fire USB Raspberry -porte er blevet brugt til:

  • CD -læser;
  • en 250 GB pendrive til at gemme lokale musikfiler (mp3, m4a, wma, flac osv.);
  • et 16 GB micro SD-kort (med USB-adapter) til at gemme den fulde backup af hoved-Raspi SD (se nedenfor);
  • en forbindelse til den eksterne USB -port på sagen.

Den eksterne USB -port kan bruges til at afspille ekstern musik eller til at drive eksterne enheder. I mit tilfælde driver jeg en ekstern Bluetooth -sender, da jeg har kasseret Raspis interne på grund af lav rækkevidde og ustabilitet. Med den eksterne bluetooth kører jeg 2 forskellige stereohøjttalere derhjemme.

16 GB micro SD -kortet (med USB -adapter) indeholder en fuld Raspberry -backup. Jeg bruger rpi-klon, som har afsløret at være et meget godt projekt, der gør det muligt at have en fuldt fungerende backup af hindbær uden behov for at fjerne det interne SD. Jeg har byttet mange gange denne SD med den interne, uden problemer. Så jeg har opsat et cronjob til root -bruger:

#Backup på sda - hver onsdag aften

15 2 * * 3/usr/sbin/rpi -klon sda -u | mail -s "PAB backup on SD - done"

Jeg har derefter genbrugt den originale tænd/sluk-knap på sagen til at lukke og genstarte hindbæret efter denne vejledning:

Trin 5: Software og operativsystem

Software og operativsystem
Software og operativsystem
Software og operativsystem
Software og operativsystem
Software og operativsystem
Software og operativsystem

Hovedoperativsystemet til PAB er en almindelig Raspbian minimal (Debian Buster) med flere specifikke tilføjelser:

  • rpi-klon til hoved backup;
  • ssmtp, en simpel MTA til at få mail fra systemet;
  • udevil, for at tillade automount af USB -drev;
  • abcde, for at få fat i min cd -samling og komprimere den til ethvert lydformat;
  • mopidy, en fuld musikafspiller -dæmon med en masse plugins.

Jeg har derefter skrevet en fuld PAB Scheduler -serverapplikation ved hjælp af python3 og tornado, hvis kode ikke er omfattet af denne artikel, men jeg kan give anvisninger efter anmodning. Med Scheduler kan du konfigurere afspilningslister til ethvert tidspunkt af din dag, hvilket adskiller hverdage fra weekender.

Hovedsoftwaren, der kører PAB, er sløv. For installation og konfiguration af mopidy (ret omfattende) henvises til dens dokumentation her:

Disse er de installerede plugins:

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

For at få fuld kontrol over PAB har jeg valgt Iris frontend -udvidelsen (se billeder). Dette er en meget kraftfuld webapplikation med følgende funktioner:

  • Fuld webbaserede grænsefladekontroller til Mopidy
  • Forbedret support til lokale biblioteker (drevet af Mopidy-Local-Sqlite)
  • Gennemse og administrer afspilningslister og spor
  • Oplev ny, populær og beslægtet musik (drevet af Spotify)
  • Frit hostet
  • Integration med:

    • Spotify
    • LastFM
    • Geni
    • Snapcast
    • Icecast

På denne måde er jeg fri til at styre min musik fra næsten hvor som helst (computer, tablet, smartphone).

Anbefalede: