EmuMannen bygger mediaspelare på skåpmat...

Hemmapulare debatterar lämpligen i detta forum.

Moderator: Redaktörer

Användarvisningsbild
EmuMannen
 
Inlägg: 1209
Blev medlem: 2017-11-21
Ort: Stockholm

EmuMannen bygger mediaspelare på skåpmat...

Inläggav EmuMannen » 2018-11-04 22:22

Lite bakgrund till detta bygge. Jag spelar mest vinyl och Spotify lyssnar jag på via AirPlay till en DAC som jag byggt av en Raspberry Pi + HiFiBerry DAC. Det funkar klockrent men det som stört mig i flera år är mina CD-skivor. De står nedpackade i lådor i garaget. Jag har flera CD-spelare men det känns så jävla lamt att spela CD-skivor jämfört med vinyl. Dessutom har jag rippat alla min CD-skivor men jag har aldrig hittat någon mediaspelare värd namnet. Jag har provat en hel del och har tidvis fått iden att jag borde skriva något själv. Fördelen med att ha varit utvecklare är dock att jag vet vad som krävs för att skriva en bra applikation så det har liksom inte blivit någonting, än...

Efter bygge av slutsteg och delningsfilter i trä så hade jag lite teak kvar. Dessutom hade jag en Raspberry Pi och en 7-tums touchscreen liggandes. Än en gång började jag fundera på det där med mediaspelare. Efter lite sökande på nätet snubblade jag på piCorePlayer. Det har jag gjort förut precis som Max2Play, Squeezelite och Logitech Media Server. Jag har till och med testat dem för flera år sedan men aldrig fattat grejen. Trots det så verkar det finnas en hängiven skara utvecklare och användare. Jag gillar verkligen konceptet med piCorePlayer så jag gav det en chans. Efter en del initiala tester var jag så imponerad av just piCorePlayer att jag släppte alla tankar på att skriva något själv. I stället lade jag lite energi på att klura ut vad jag kunde bygga runt piCorePlayer? Jag säger det redan från början, detta kommer bli ett riktigt budgetbygge...

Så efter lite letande i skåpen så hade jag en Raspberry Pi, en 7-tums touchscreen, ett 8 GB SD-kort, ett "kraftaggregat" och en 120 GB SSD-disk. Dessutom en HiFiBerry DAC+ (som sitter i min hemmabyggda DAC) samt trä, skruv med mera i garaget. Det som saknades åkte jag ned till NetOnNet och köpte så billigt jag kunde...

Som "kraftaggregat" valde jag att använda KOPPLA USB laddare med 3 portar från Ikea. Förutom att det är billigt så är det riktigt bra och eftersom den skall stå på dygnet runt så är det inte fel med ett switchat aggregat. Jag behöver dessutom mer än en port men mer om det senare. En billig förlängningssladd från Clas Ohlson får tjäna som sladdställ (eftersom jag behöver mer än en port och inte vill ha två USB-sladdar till lådan).

IMG_1235.jpg
KOPPLA USB laddare från Ikea
IMG_1235.jpg (129.84 KiB) Visad 2139 gånger

IMG_1237.jpg
"Sladdställ" från Clas Ohlson
IMG_1237.jpg (168.55 KiB) Visad 2139 gånger


Jag har förvisso en server och skulle kunna läsa mina rippade filer via NFS men jag vill att denna spelare skall vara i princip standalone. Därför använder jag en SSD-disk (som jag redan hade) som jag stoppar i ett USB-kabinett (som jag köpte billigt på NetOnNet). Tanken är att jag enkelt skall kunna ta loss disken och flytta den till min dator när jag skall föra över rippade album. Det kan förvisso göras över sftp men jag tycker det är smidigare med en lös USB-disk. Jag passade även på att köpa lite billiga USB-kablar på NetOnNet för internt kablage. De svarta var slut :(

IMG_1236.jpg
SSD-disk och billigt USB-kabinett
IMG_1236.jpg (171.44 KiB) Visad 2139 gånger

IMG_1242.jpg
Billigt "internkablage" från NetOnNet
IMG_1242.jpg (222.54 KiB) Visad 2139 gånger


Nu lite bra info. 7-tums touchscreenen har en passthrough funktion och det är tänkt att man skall köra kraften först till skärmens styrkort och sedan vidare till pajen via passthrough-uttaget.

IMG_1243.jpg
Kraft via passthrough
IMG_1243.jpg (143.84 KiB) Visad 2139 gånger


Det kanske kan fungera om du har tillräckligt med kraft. Det hade inte jag eftersom Koppla levererar max 2.4A per uttag. Men om du i stället kopplar skärmen direkt till ett uttag och pajen till ett annat så räcker det eftersom Koppla levererar totalt 3.4A.

IMG_1244.jpg
Separat matning av skärm
IMG_1244.jpg (144.01 KiB) Visad 2139 gånger


På bilderna ser ni en gammal Raspberry Pi 2B. Den fungerade helt OK men med Logitech Media Server installerad lokalt, touchskärm och Jivelite så ville jag ha så mycket prestanda som möjligt. Jag vill även köra trådlöst och då var Raspberry Pi 3B+ given med den nya antennen och lite bättre kylning. Efter att ha provat med båda så känns 3B+ mer än dubbelt så snabb som 2B. Väl värda pengar! Alla förutsättningar på plats. Dags att börja bygga...
Senast redigerad av EmuMannen 2018-11-04 23:04, redigerad totalt 8 gånger.
Valda DIY-projekt, tankar och idéer på EmuMannens blogg.

Användarvisningsbild
EmuMannen
 
Inlägg: 1209
Blev medlem: 2017-11-21
Ort: Stockholm

Re: EmuMannen bygger mediaspelare på skåpmat...

Inläggav EmuMannen » 2018-11-04 22:35

Första frågan som jag började brottas med var hur jag skulle fästa skärmen i lådan? Jag gjorde det enkelt för mig och plockade fram lite 8 mm MDF. Ur den kapade jag till ett lock och i mitten fräste jag ut för skärmen och på baksidan fäste jag två bitar av 4 mm björkplywood.

IMG_1245.jpg
Ram i 8 mm MDF
IMG_1245.jpg (130.89 KiB) Visad 2133 gånger

IMG_1246.jpg
Baksida
IMG_1246.jpg (121.18 KiB) Visad 2133 gånger


Det funkade ganska bra att bara lägga ned skärmen men den stack upp en halv mm över ramen så jag fräste ned den någon mm. På bilden har jag även borrat upp hål för fästena på baksidan av skärmen. Ramen har även fått ett första lager lack som sealer innan sprutspackel och lack.

IMG_1249.jpg
Nedfrästa fästen
IMG_1249.jpg (126.89 KiB) Visad 2133 gånger


Så långt ganska geschwint, dags för en låda. Jag tog spillbitar i teak som jag hade liggandes och gjorde en enkel låda. Lite förstärkningar i hörnen och en botten i aluminiumplåt. På plåten fäste jag även två bitar teak som jag fräste ett spår i så att hårdisken löper mellan dem. Jag tillverkade även en dragavlastare för RCA-sladdarna i björkplywood.

IMG_1247.jpg
Enkel låda i teak
IMG_1247.jpg (96.73 KiB) Visad 2133 gånger

IMG_1255.jpg
Låda med botten
IMG_1255.jpg (112.31 KiB) Visad 2133 gånger


Här ser ni lite detaljer. På sidan vid botten fräste jag ut ett uttag där USB-disken skjuts in mellan teakfästena. Och på baksidan fräste jag ut för ventilation och sladdar. Så långt hann jag idag. Locket lackat och får härda över natten. Förhoppningsvis hinner jag bygga klart i morgon. :)

IMG_1256.jpg
Uttag för hårddisk
IMG_1256.jpg (94.72 KiB) Visad 2133 gånger

IMG_1257.jpg
Hål för ventilation och sladdar
IMG_1257.jpg (95.63 KiB) Visad 2133 gånger
Valda DIY-projekt, tankar och idéer på EmuMannens blogg.

Användarvisningsbild
EmuMannen
 
Inlägg: 1209
Blev medlem: 2017-11-21
Ort: Stockholm

Re: EmuMannen bygger mediaspelare på skåpmat...

Inläggav EmuMannen » 2018-11-05 07:55

Här är dimensionerna på skärmen om någon undrar. Det står att skärmen drar cirka 400 mA men räkna med max 640 mA, min 160 mA.

raspberry_pi_display_dimensions.png
Skärmens dimensioner
raspberry_pi_display_dimensions.png (101.79 KiB) Visad 2098 gånger
Valda DIY-projekt, tankar och idéer på EmuMannens blogg.

Användarvisningsbild
Empa
 
Inlägg: 1977
Blev medlem: 2007-02-13
Ort: Karlstad

Re: EmuMannen bygger mediaspelare på skåpmat...

Inläggav Empa » 2018-11-05 09:53

Imponerad av dina byggen och tycker det är underhållande att läsa så fortsätt gärna med det :)

Användarvisningsbild
EmuMannen
 
Inlägg: 1209
Blev medlem: 2017-11-21
Ort: Stockholm

Re: EmuMannen bygger mediaspelare på skåpmat...

Inläggav EmuMannen » 2018-11-05 13:25

Empa skrev:Imponerad av dina byggen och tycker det är underhållande att läsa så fortsätt gärna med det :)

Tack Empa. Lite mera information om kraftförbrukning. En Pi 3B+ drar under max belastning runt 650 mA och runt 350 mA idle. Det är nåstan dubbelt så mycket som en Pi 2B. Till stor del är det den nya GB Ethernet interfacet som drar cirka 170 mA. För tillfället kan man inte stänga ned det utan att på samma gång stänga ned USB. Skärmen drar runt 640 mA max och 160 mA min. Min SSD-disk (Samsung SSD 850 EVO 120GB) drar max 1730 mA under full last (random write) och 30 mA idle.

Med skärmen på en egen 2.4 A USB-utgång så behöver vi inte oroa oss om den. Worst case scenario för Pi 3B+ inklusive SSD-disk är cirka 2.38 A vilket är på gränsen av vad USB-utgången kan leverera. Jag tror dock att jag aldrig kommer komma upp i en liknade belastning med piCorePlayer. För det mesta kommer belastningen jämfört med idle att vara marginell. Så i normalfallet kommer den dra cirka 540 mA vilket vid 5 V motsvarar 2.7 W. Det i sin tur motsvarar 23,652 W per år och med ett elpris på cirka 80 öre per kW/h motsvarar det ungefär 19 kr om året (vilket innebär att jag kommer kunna köra den i 946 år till priset av en PMR Premium Mk II ;))...
Valda DIY-projekt, tankar och idéer på EmuMannens blogg.

Användarvisningsbild
EmuMannen
 
Inlägg: 1209
Blev medlem: 2017-11-21
Ort: Stockholm

Re: EmuMannen bygger mediaspelare på skåpmat...

Inläggav EmuMannen » 2018-11-05 20:38

Då var mediaspelaren klar och förutom en liten set back så fungerar allt långt över förväntan! Ett litet råd, framförallt till er som kör Mac. Från början formaterade jag USB-disken till FAT32. Problemet med det är att Logitech Media Server (LMS) inte kan skriva till en FAT-disk på piCorePlayer och då kunde jag inte flytta LMS Server Cache and Preferences till USB-disken. Så jag formaterade om disken till exFat vilket fungerar med LMS så snart du installerat stöd för exFat i piCorePlayer. Sedan flyttade jag 20 GB rippade CD-skivor till disken för en första test. Spelaren känns rapp både via touchscreen och webgränssnitt. Det gäller såväl piCorePlayer som LMS. Spelaren fungerar dessutom perfekt via AirPlay så jag kan streama ljudet trådlöst från Spotify och Apple TV till förstärkaren via piCorePlayer med HiFiBerry. Jag är mycket nöjd med resultatet. Här kommer lite byggbilder...

Så här ser en 7-tums touchscreen, Raspberry Pi 3B+ och HiFiBerry DAC+ ut stackade på varandra:

IMG_1258.jpg
Touchscreen, Raspberry Pi 3B+, HiFiBerry DAC+
IMG_1258.jpg (131.72 KiB) Visad 1985 gånger


Här min lilla set back. Jag hade köpt en vit ganska kraftig RCA-kabel men det vart rätt trångt i lådan. Så jag fick modda ett "lakritssnöre" för att få plats. Detta är något jag får åtgärda senare. Det bästa är nog att sätta ett par externa kontakter direkt i lådan som kan anslutas från utsidan.

IMG_1259.jpg
Problem...
IMG_1259.jpg (123.95 KiB) Visad 1985 gånger


Här en bild på botten. Sladdstället har inbyggd dragavlastning. Här ser ni även disken på plats mellan teak-ribborna.

IMG_1260.jpg
Enkel botten med SSD-disk
IMG_1260.jpg (140.58 KiB) Visad 1985 gånger


Hopmonterad från bak- och framsidan. Ni kan även se hur disken sticker ut på sidan så den enkelt kan dras ut för att laddas med mera media.

IMG_1261.jpg
Hopmonterad från baksidan
IMG_1261.jpg (114.83 KiB) Visad 1985 gånger

IMG_1262.jpg
Hopmonterad framsidan
IMG_1262.jpg (78.29 KiB) Visad 1985 gånger


En sista bild på spelaren igång. Här på toppen av en förstärkare. Jag vet inte riktigt vart jag skall placera den...

IMG_1263.jpg
Alive and kicking!
IMG_1263.jpg (70 KiB) Visad 1985 gånger
Valda DIY-projekt, tankar och idéer på EmuMannens blogg.

Användarvisningsbild
Max_Headroom
Adventurer
 
Inlägg: 19061
Blev medlem: 2003-10-03
Ort: Metropolis, men passet är från Moskva

Re: EmuMannen bygger mediaspelare på skåpmat...

Inläggav Max_Headroom » 2018-11-08 13:02

Mycket intressant. Skall se på detta mer när jag får mer tid. Jag behöver nåt liknande. Först så måste jag dock få till nåt som gör min NAS delbar på det trådlösa nätvärket hemma. Har en gammal PC-liggande och det kanske kan gå att använda den.
Om jag bygger en sån här grej blir det troligen med 3D-plastchassi eller 3D-printat trächassi.
Denna signatur är endast för privat bruk. Vänligen läs ej!

Användarvisningsbild
EmuMannen
 
Inlägg: 1209
Blev medlem: 2017-11-21
Ort: Stockholm

Re: EmuMannen bygger mediaspelare på skåpmat...

Inläggav EmuMannen » 2018-11-08 14:08

Max_Headroom skrev:Mycket intressant. Skall se på detta mer när jag får mer tid. Jag behöver nåt liknande. Först så måste jag dock få till nåt som gör min NAS delbar på det trådlösa nätvärket hemma. Har en gammal PC-liggande och det kanske kan gå att använda den.
Om jag bygger en sån här grej blir det troligen med 3D-plastchassi eller 3D-printat trächassi.

Efter några dagars användning så är jag fortfarande chockat imponerad över denna lösning. Inte så mycket att köra piCorePlayer och LMS på en och samma RPi med allt media på en SSD och med touch input från en skärm. Det är trevligt på många sätt men det som imponerar mest är själva systemdesignen och realisationen (man kanske måste vara systemingenjör och utvecklare för att till fullo förstå värdet). Jag var tvungen att gå tillbaka i historien och titta närmare på Squeezebox, Slim Devices och SlimServer. Jag är gammal nog att komma ihåg när var någorlunda heta på marknaden. Jag kommer ihåg att jag tyckte att Squeezebox Touch var cool men för dyr så jag köpte en Roku SoundBridge i stället. Det är först nu jag börjar förstå att värdet i Squeezebox kanske inte var själva spelaren utan snarare infrastrukturen, öppna gränssnitt och öppen källkod. Det som gör detta mer intressant idag jämfört med mer hippa lösningar som Sonos är just öppenheten och ett aktivt community.

Jag inser nu att jag förmodligen hade klarat mig med en eller flera RPi Zero + HiFiBerry DAC+ Zero som mediaspelare. Dessa kan enkelt och bekvämt fjärrstyras från webgränssnittet i LMS som i sin tur kan snurra i lugn och ro på en NAS. Webgränssnittet kan kompletteras med olika applikationer på såväl handhållna device som på desktop (ta en titt på exempelvis Squeezebox Controller och Softsqueeze). Vill man ha något liknande en Squeezebox Touch så kan man göra som jag och komplettera en RPi med dess 7-tums touchscreen men det är nästan enklare att bara gå direkt på webgränssnittet. Är man inte nöjd med det som redan finns så kan man utveckla något själv eftersom det hela bygger på öppna gränssnitt (ta en titt på SLIMP3, SlimProtoTCP och utvecklarguiden).

En server i Perl och en client i Lua kanske inte känns lika hett som HTML5 och JavaScript men värdet som jag ser det är stabilitet. Detta är komponenter som utvecklats och körts i en evighet med dagens mjukvaruutvecklingsmått mätt. Aktiva utvecklare och användare har resulterat i en funktionell och stabil produkt och det är något jag uppskattar. Öppenheten gör också att risken för inlåsning är mindre än med en kommersiellt stängd produkt. Jag gillar vad jag ser och funderar för tillfället på hur jag kan bygga vidare på detta? På samma gång har mina gamla CD-skivor fått nytt liv i form FLAC-filer lätt åtkomliga från LMS och piCorePlayer. Jag tog mig även tid att lära mig MusicBrainz Picard och håller för tillfället på att uppdatera alla taggar och cover art. Slutprodukten är ett riktigt snyggt och trevligt arkiv med rippade CD-skivor.

Eftersom den SSD-disk jag hade liggandes var rätt liten (120 GB) så använder jag XLD för att konvertera FLAC till MP3 (LAME VBR -q2 ~260 kbps). Med MP3 på den lokala SSD-disken kommer jag få plats med cirka 1200 album (fördelen med SSD är inga rörliga delar, FLAC-filerna sparas givetvis men på annat media). Det är cirka 5 gånger fler än om jag lägger över dem som FLAC. På sikt kommer jag nog bygga dedikerade streamers som får streama FLAC över nätet från en NAS i stället. Det trådlösa nätverket på RPi 3B+ verkar fungera stabilt med mina UniFi-basstationer. Det går även bra att strömma via AirPlay trådlöst till RPi3 B+ och piCorePlayer. Det har aldrig fungerat särskilt bra med RPi 2B + WiFi USB-dongle hemma hos mig.
Senast redigerad av EmuMannen 2018-11-08 15:57, redigerad totalt 2 gånger.
Valda DIY-projekt, tankar och idéer på EmuMannens blogg.

Användarvisningsbild
UrSv
 
Inlägg: 7075
Blev medlem: 2003-10-09
Ort: Linköping

Re: EmuMannen bygger mediaspelare på skåpmat...

Inläggav UrSv » 2018-11-08 14:15

Varför SSD? Det bör ju inte vara nåt problem att använda spindisk.

Såna här hjälper kanske lite i lådan:
Bilagor
RCA90.JPG
RCA90.JPG (24.15 KiB) Visad 1873 gånger
Jag har tyvärr inte tid just nu, jag ska göra ingenting en stund...

Användarvisningsbild
EmuMannen
 
Inlägg: 1209
Blev medlem: 2017-11-21
Ort: Stockholm

Re: EmuMannen bygger mediaspelare på skåpmat...

Inläggav EmuMannen » 2018-11-08 14:33

UrSv skrev:Varför SSD? Det bör ju inte vara nåt problem att använda spindisk.

Inga problem förutom svagt ljud och mekanisk nötning...
UrSv skrev:Såna här hjälper kanske lite i lådan:

Jag funderade faktiskt på det men jag har fått en ny ide. Jag har planer på en ny låda och om det inte blir allt för dyrt så bygger jag den när jag får tid (ett riktigt kraftaggregat vore också trevligt). Den kommer ha fasta RCA-kontakter på baksidan. Det går dessutom att löda loss RCA-kontakterna från HiHiBerry som även har olödda pads för andra kontakter...
Valda DIY-projekt, tankar och idéer på EmuMannens blogg.

Användarvisningsbild
EmuMannen
 
Inlägg: 1209
Blev medlem: 2017-11-21
Ort: Stockholm

Re: EmuMannen bygger mediaspelare på skåpmat...

Inläggav EmuMannen » 2018-11-14 21:17

En liten uppdatering med erfarenheter efter någon veckas användning. Jag är fortfarande lika imponerad över funktionaliteten. Flexibelt, användarvänligt och stabilt. Inga rörliga delar gör spelaren helt tyst och i standby så genererar den ingen värme. Efter några timmars spelande så är det varmare i lådan, kanske 40 grader men jag har inte mätt hur varm CPU:n är i detta läge. På sikt kommer jag nog att bygga en dedicerad server för LMS och en roterande disk med FLAC i stället för lokal SSD-disk med MP3. Jag har en Gigabyte GB-BXBT-2807 stående som skulle kunna förses med en extern USB3-disk. En perfekt mediaserver.

Om ni funderar på att bygga något liknade så rekommenderar jag er att först läsa: LogitechMediaServer - Settings Guide. Framförallt för att förstå arkitekturen samt konfigurationen av Input file format, Output stream format och Decoder (så att ni inte av misstag streamar FLAC till MP3 eller något liknande). Det kan säkert väcka en del idéer om hur ni bäst konfigurerar servern för era behov och baserat på vilka spelare ni tänker använda. Risken är väl stor att ni kommer använda RPi, squeezelite och en DAC. I så fall bör ni även läsa:

Raspberry Pi - The Audio Engine - Part 1 - Introduction
Raspberry Pi - The Audio Engine - Part 2 - piCorePlayer settings
Raspberry Pi - The Audio Engine - Part 3 - squeezelite and DAC settings
RaspBerry Pi - The Audio Engine - Part 4 - Advanced OS Tuning Measures
RaspBerry Pi - The Audio Engine - Part 5 - Custom squeezelite
RaspBerry PI - The Audio Engine - Part 6 - DSD Native
RaspBerry PI - The Audio Engine - Part 7 - Realtime Kernel
RaspBerry Pi - The Audio Engine - Part 8 - Network Dongle
Raspberry PI - The Audio Engine - Part 9 - USB HUB Control

För RPi och WiFi bör ni läsa: RPI 3B+ - On Air

För piCorePlayer bör ni läsa: piCorePlayer 4.0 - released

Och om ni är intresserad av vad man kan göra ytterligare med sox, flac etc. så skall ni läsa hela bloggen: soundcheck's - audio@vise
Valda DIY-projekt, tankar och idéer på EmuMannens blogg.


Återgå till DIY-forum


Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 8 gäster