Innehållsförteckning:

PAB: en personlig ljudbox: 5 steg
PAB: en personlig ljudbox: 5 steg

Video: PAB: en personlig ljudbox: 5 steg

Video: PAB: en personlig ljudbox: 5 steg
Video: Создание паба Мишлен Стар с Джошем Эгглтоном и Пони и Ловушкой, Бристоль 2024, November
Anonim
PAB: en personlig ljudbox
PAB: en personlig ljudbox

Idén till detta projekt föddes från behovet av att skrapa de tre stora komponenterna i HiFi -systemet, som nu hade nått slutet av deras liv. Dessutom behövde jag mer plats i hyllan för andra föremål, så jag passade på att börja studera på en personlig ljudbox för att ersätta alla funktioner i de tre vintage "jättarna".

En Raspberry Pi3B+ verkade vara det bästa valet av dessa skäl:

  • Liten formfaktor och låg strömförbrukning;
  • En ljud -PCM -utgång med acceptabel kvalitet;
  • Tillgänglighet för mopidy, en utökningsbar musikserver som implementerar mpd -protokoll;
  • Hög integration av källor: lokal musik, CDROM, radioströmmar, Spotify, Tunein, etc.

Genom att integrera den med några andra komponenter kunde jag skapa ett komplett och huvudlöst system som kan spela musik från CD -skivor, lokala filer, onlineradio, Spotify -spellistor, podcaster. Och genom att använda en frontend kan jag nu hantera all dess funktion från vilken enhet som helst som är ansluten till LAN (smartphone, dator, surfplatta).

Tillbehör

  • Hallon PI3B+
  • Ett gammalt DVD -fodral
  • CDROM -läsare
  • 5v-5A strömförsörjning
  • Superkondensatorer
  • Olika komponenter (transistorer, LED, relä, Op-Amp): se projektdetaljer

Steg 1: Skåp och layout av komponenter

Fodral och layout av komponenter
Fodral och layout av komponenter
Fodral och layout av komponenter
Fodral och layout av komponenter
Fodral och layout av komponenter
Fodral och layout av komponenter
Fodral och layout av komponenter
Fodral och layout av komponenter

Det första problemet jag mötte var att välja och hitta ett lämpligt fall. Jag hittade ingenting hemma, jag hittade den här billiga DVD -spelaren på Amazon för några dollar, men något liknande kommer att vara tillräckligt bra. Fodralet har följande mått: 27 cm x 20 cm x 3,5 cm.

Jag tog bort allt innehåll helt och hållet och behållde bara det lilla kortet för att hantera den främre lysdioden, strömbrytaren och USB -ingången. Sedan planerade jag den interna layouten för de nya komponenterna (se bild).

Steg 2: Strömbrytaren för ljudstereo

Ljudkontroll för stereosensor
Ljudkontroll för stereosensor
Ljudkontroll för stereosensor
Ljudkontroll för stereosensor
Strömavkännaren för ljudstereo
Strömavkännaren för ljudstereo

Varför en automatisk ljudomkopplare? Behovet beror på att jag ofta lyssnar på TV via HiFi -förstärkaren, men jag ville inte välja källomkopplare på förstärkaren varje gång. Med denna krets är förstärkarens ingång alltid densamma, och källan väljs automatiskt av ljudsensoravkänningsbrytaren.

Schemat är rakt fram. När PAB inte spelar, kommer ljudkällan till HiFi från TV: n. Om PAB spelar, väljer reläet ljud från hallon.

Steg 3: Super-kondensatorlådan

Super-kondensatorlådan
Super-kondensatorlådan
Super-kondensatorlådan
Super-kondensatorlådan

Som känt orsakar ett plötsligt avbrott i strömförsörjningen till hallon omedelbar avstängning utan att avstängningsproceduren genomförs, vilket riskerar att äventyra operativsystemet och därmed dess totala funktionalitet. En superkondensator skiljer sig från en traditionell kondensator i två väsentliga egenskaper: dess plattor har faktiskt ett större område och avståndet mellan dem är mycket mindre, eftersom den mellanliggande isolatorn fungerar annorlunda än en konventionell dielektrikum. Med dessa tekniker kan mycket hög kapacitet (i storleksordningen flera tiotals Farads) kondensatorer tillverkas samtidigt som små dimensioner bibehålls. Tanken är därför att skapa en 5v "buffert" via superkondensatorer och att aktivera avstängning när frånvaron av matningsspänningen detekteras. På detta sätt är det inte längre nödvändigt att manuellt ingripa för att starta avstängningen, utan helt enkelt ta bort kontakten (eller aktivera en omkopplare) för att säkerställa en säker avstängning.

Med hänvisning till schemat, matas strömförsörjningen till den vänstra terminalen och Schottky -dioden förhindrar att ström återförs till strömförsörjningen. De två 1,2Ω 5W effektmotstånden parallellt begränsar superkondensatorernas laddström för att skydda strömförsörjningen. Utan dessa motstånd skulle toppströmmen som krävs av de två urladdade superkondensatorerna nästan säkert kunna skada strömförsörjningen. Strömdioden måste nödvändigtvis vara av Schottky -typ för att infoga ett minimispänningsfall i serie med 5V -baren.

De två superkondensatorerna är seriekopplade för att säkerställa en maximal spänning på 5,4 volt i sina ändar (varje superkondensator är 10F, 2.7V) och de två motstånden parallellt med kapacitanserna balanserar laddningsströmmarna och garanterar en långsam urladdning när hallonet vrids av. De två 1KΩ -motstånden parallella med ingången delar strömförsörjningens 5V i hälften för att ta den nödvändiga signalen för att upptäcka strömavbrott (ansluten till Raspberry GPIO 7). Till skillnad från moderna litiumceller garanterar superkondensatorer ett nästan oändligt antal laddnings- och urladdningscykler, utan att förlora några egenskaper.

Kretsen kommer därför att kunna hålla Raspberry drivs och fungera under den tid som krävs för att utföra en regelbunden avstängning. Starten av avstängningsprocessen kommer att upptäckas av ett program som körs på Hallon som kommer att övervaka statusen för GPIO 7, till vilken effektnivån är ansluten. När strömmen kopplas bort passerar GPIO -stiftet 7 på en låg nivå och utlöser avstängningen. Detta är koden:

#!/usr/bin/env python

importera RPi. GPIO som GPIO importera delprocess GPIO.setmode (GPIO. BCM) # använd GPIO -numrering GPIO.setwarnings (False) INT = 7 # pin 26 monitorer Power Supply # använd en svag pull_up för att skapa en hög GPIO.setup (INT, GPIO. IN, pull_up_down = GPIO. PUD_UP) def main (): medan True: # ställ in ett avbrott på en fallande kant och vänta på att det ska hända GPIO.wait_for_edge (INT, GPIO. FALLING) # kontrollera stiftnivån igen om GPIO.input (INT) == 0: # still low, shutdown Pi subprocess.call (['poweroff'], shell = True, / stdout = subprocess. PIPE, stderr = subprocess. PIPE) if _name_ == '_main_': main ()

Programmet måste sparas i/usr/local/bin/.py och konfigureras för att köras när Hallon startar. Från utförda tester har kapaciteten hos de två superkondensatorerna visat sig vara tillräcklig för att säkerställa avstängningstiden för hallon. Om mer tid behövs är det tillräckligt att introducera två andra superkondensatorer parallellt med de befintliga, eller ersätta dem med två av större kapacitet.

Steg 4: Montering och användning av USB -portar

Montering och användning av USB -portar
Montering och användning av USB -portar

Blockschemat visar hur du ansluter flera enheter för PAB på huvud 3 -bussen (+5v, USB och ljudstereo).

Observera att CD -läsarens strömförsörjning har anslutits direkt till huvudströmförsörjningen via en "Y" -kabel, medan ljudingången går till Raspberry. De fyra USB -hallonportarna har använts för:

  • CD -läsare;
  • en 250 GB pendrive för att lagra lokala musikfiler (mp3, m4a, wma, flac, etc.);
  • ett 16 GB mikro-SD-kort (med USB-adapter) för att lagra hela backupen av huvud Raspi SD (se nedan);
  • en anslutning till den externa USB -porten på fodralet.

Den externa USB -porten kan användas för att spela extern musik eller för att driva externa enheter. I mitt fall driver jag en extern Bluetooth -sändare eftersom jag har kasserat Raspis interna på grund av låg räckvidd och instabilitet. Med den externa bluetooth kör jag 2 olika stereohögtalare hemma.

16 GB micro SD -kortet (med USB -adapter) har en fullständig Raspberry -säkerhetskopia. Jag använder rpi-klon, vilket har visat sig vara ett mycket bra projekt som gör det möjligt att ha en fullständigt fungerande säkerhetskopia av hallon utan att behöva ta bort den interna SD. Jag har bytt många gånger denna SD med den interna, utan problem. Så jag har konfigurerat en cronjob för root -användare:

#Backup på sda - varje onsdagskväll

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

Jag har sedan återanvänt den ursprungliga strömknappen på fodralet för att stänga av och starta om Hallon, enligt den här guiden:

Steg 5: Programvara och operativsystem

Programvara och operativsystem
Programvara och operativsystem
Programvara och operativsystem
Programvara och operativsystem
Programvara och operativsystem
Programvara och operativsystem

Det huvudsakliga operativsystemet för PAB är en vanlig Raspbian minimal (Debian Buster) med flera specifika tillägg:

  • rpi-klon för huvudbackup;
  • ssmtp, en enkel MTA för att få bort post från systemet;
  • udevil, för att tillåta automount av USB -enheter;
  • abcde, för att ta tag i min CD -samling och komprimera den till valfritt ljudformat;
  • mopidy, en full Music Player Daemon med ett gäng plugins.

Jag har då skrivit en fullständig PAB Scheduler -serverapplikation med python3 och tornado, vars kod inte omfattas av denna artikel, men jag kan ge instruktioner på begäran. Med schemaläggaren kan du ställa in spellistor för alla tider på dagen, vilket skiljer vardagar från helger.

Den huvudsakliga programvaran som kör PAB är mopidy. För installation och konfiguration av mopidy (ganska omfattande), se dess dokumentation här:

Dessa är de installerade plugins:

  • 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

För att få full kontroll över PAB har jag valt Iris frontend -förlängning (se bilder). Detta är en mycket kraftfull webbapplikation med följande funktioner:

  • Fullständiga webbaserade gränssnittskontroller för Mopidy
  • Förbättrat stöd för lokala bibliotek (drivs av Mopidy-Local-Sqlite)
  • Bläddra och hantera spellistor och spår
  • Upptäck ny, populär och relaterad musik (drivs av Spotify)
  • Fritt värd
  • Integration med:

    • Spotify
    • LastFM
    • Geni
    • Snapcast
    • Icecast

På detta sätt är jag fri att styra min musik från nästan var som helst (dator, surfplatta, smartphone).

Rekommenderad: