Innehållsförteckning:
- Tillbehör
- Steg 1: Skåp och layout av komponenter
- Steg 2: Strömbrytaren för ljudstereo
- Steg 3: Super-kondensatorlådan
- Steg 4: Montering och användning av USB -portar
- Steg 5: Programvara och operativsystem
Video: PAB: en personlig ljudbox: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:41
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
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
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
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
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
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:
Skapa en personlig aktivitetsloggare: 6 steg
Skapa en personlig aktivitetsloggare: Min vän från London, Paul, ville hitta ett sätt att spåra hans mat, aktivitet och plats i en enda instrumentpanel. Det var då han kom på idén att skapa ett enkelt webbformulär som skulle skicka data till en instrumentpanel. Han skulle lägga både webbformuläret och
Hur man gör en personlig mini -fläkt av en gammal dator - passar i din ficka: 6 steg
Hur man gör en personlig mini -fläkt från en gammal dator - passar i din ficka: Jag visar dig hur du gör en personlig mini -fläkt av en gammal dator. En bonus är att den till och med passar i fickan. Detta är ett mycket enkelt projekt, så det behövs inte mycket erfarenhet eller expertis. Så låt oss börja
Personlig väderstation med Raspberry Pi med BME280 i Java: 6 steg
Personlig väderstation med Raspberry Pi med BME280 i Java: Dåligt väder ser alltid sämre ut genom ett fönster. Vi har alltid varit intresserade av att övervaka vårt lokala väder och vad vi ser genom fönstret. Vi ville också ha bättre kontroll över vårt värme- och luftkonditioneringssystem. Att bygga en personlig väderstation är ett bra
Personlig Meteorolog: 5 steg
Personlig meteorolog: Har du någonsin undrat om eller när din meteorolog talar sanning? Vill du ha ett diskret, billigt och snabbt sätt att vara din egen meteorolog … och kanske ett litet projekt? Kolla inte vidare! Denna förenklade enhet kommer att spåra väderförhållandena
Personlig tillhörighet Påminnelse: 5 steg
Personlig tillhörighet Påminnelse: Jag tror att vi alla har några liknande erfarenheter av att glömma att ta med våra tillhörigheter efter att ha lämnat vårt hus. Det är ett vanligt misstag vi gör i våra vanliga vardagsliv. För att undvika det har jag en idé om en enhet som kan påminna oss om att bilda