Hier geht es um zwei Mediaplayer-Projekte mit dem Raspberry Pi2, die aber so viel übereinstimmende Komponenten haben, dass ich sie hier in einem gemeinsamen Thread vorstellen möchte. Auf die Idee kam ich durch den ct Artikel von Ingo T.Storm "Disco to go - Raspi-Projekt: Streaming-Ziel Ghettoblaster" zu finden in ct Nr.9/2015 oder z.T. hier: http://www.heise.de/ct/ausgabe/2015-9-Raspi-Projekt-Streaming-Ziel-Ghettoblaster-2586886.html Wenn man das Ganze selbst umsetzen möchte merkt man aber schnell, dass der Artikel viel zu oberflächlich ist und einem etliche Informationen fehlen. Im dazugehörigen Forum hat der Autor daraufhin in Aussicht gestellt alle Interessierten mit weiteren Infos zu versorgen - es ist aber zur Enttäuschung etlicher potentieller Nachbauer bei diesen Lippenbekenntnissen geblieben. Ich selbst habe daraufhin erstmal einen Standalone-Mediaplayer für die heimische Stereoanlage in Angriff genommen, der meine ca. 10 Jahre alte 5.1 Anlage ins Internetzeitalter befördert. Danach habe ich dann meinen JVC RV-NB10B in Einzelteile zerlegt, diesen genau untersucht und dann (mit einigen Hindernissen) den Raspi eingebaut. Dabei musste ich dann feststellen, dass der Autor des ct-Artikels seinen JVC-Blaster vermutlich nie selbst umgebaut hat, da einige der dort erwähnten Details so nicht funktioneren. Grundlegende Komponenten dieser beiden Player sind: - Raspberry Pi2 - Hifiberry Soundkarte - 4 x 20 Zeichen Matrixdisplay - Netzteil Software: - Rune Audio V0.3 erweitert um einige Komponenten wie Python und eine LCD-Bibliothek - eigenes Pythonscript zur Ansteuerung des Displays und Auswertung der Druckknöpfe Der wesentliche Unterschied zwischen beiden Playern ist, dass der Standalone-Player Bedienknöpfe an der Front hat, mit denen man sich in der Playlist bewegen und Informationen auf dem Display ausgeben kann, während der Pi-Blaster sich nur Über das Webfrontend von Rune Audio steuern lässt (und auch durch andere MPD-Clients). Im weiteren Verlauf werde ich hier die einzelnen Schritte der Projekte incl. Unterlagen, Bilder und Coding hochladen. Obwohl beide Player schon aktiv im Einsatz sind bin ich immer interessiert an guten Ideen, Verbesserungen und Erweiterungen. Auch Fragen zu den Projekten beantworte ich hier gerne. Viel Spass beim Bauen Hayo
:
Bearbeitet durch User
Die Wechselfestplatte in der CD-Schublade ist eine geniale Idee, wenn tatsächlich zum Wechsel gedacht.
:
Bearbeitet durch User
Ja genau, den Motor habe ich ausgebaut, aus dem Deckel einer Blechbox (da war eine kleine LED Taschenlampe drin) habe ich dann diesen "Cradle" gebastelt. Dazu muss man mit einem Dremel die CD-Schublade etwas ausfräsen und dann mit UHU-Endfest (oder ähnlichem Epoxikleber) die Blechschale einkleben. Die kleine Toshiba-Platte passt genau da rein und lässt sich einfach entnehmen um Musik draufzuspielen oder so. Wer es ganz abgefahren haben will, lässt den Motor drin und steuert diesen dann selbst an.
Hallo Hayo, hast du dich "einfach so" für rune audio entschieden? Es gäbe auch Volumio für solche Aufgaben. (jetz als 2.x) Hast du Probleme mit "Power off"? Das war bei mir fast das K.o.-Kriterium, Spannung weg ohne shutdown ging gar nicht... Hoffe mal, das ich keinen Glaubenskrieg lostrete. Grüße Runout
Nein, das ist bei mir keine Glaubenssache, sondern da gab es konkrete Aspekte. Als ich die beiden Systeme verglichen habe machte Rune Audio auf mich den weiter entwickelteren Eindruck. Mehr Funktionen und auch eine aktiverere Entwicklergruppe. Dazu finde ich das schwarze Design einfach edler. Desweiteren liegt als Betriebssystem bei Rune Audio (anders als bei Volumio) ein extra für audiophile Aufgaben optimiertes Arch-Linux zu Grunde, was ich gerade beim Einsatz in der HiFi-Anlage ganz überzeugend finde. http://www.runeaudio.com/about/ Das mit dem Power Off Problem hat der Autor des ct Artikels auch erwähnt, aber ich habe bei keinem der Geräte ein Problem damit. Wenn man das mitten im Betrieb ausmacht, läuft das Gerät beim nächsten Start einfach genau da weiter wo man zuletzt in der Playlist war. Wenn man es kontrolliert herunterfährt nicht! Dann bleibt der Player erstmal im Stop-Modus und man muss explizit starten. Bei Rune Audio sollte man auch nach der Installation des stable Release (bei mir die aktuelle 0.3Beta) ein Update machen, dann hat man die aktuellste Entwicklungsstufe. Dann geht z.B. auch Dirble mit all den Radiostationen zum Auswählen. Wie man das macht erklär ich noch später beim Thema Software. Man kann das System recht schnell instabil machen wenn man auf root-Ebene darin herumbastelt. Dann bleibt es öfters hängen (freeze). Dann sollte man neu installieren oder besser sein Backup einspielen. Was sich auch als echter Nervtöter erwiesen hat sind schlechte Speicherkarten. Ich hatte drei 16GB SD-Karten von Transcend. Das waren offensichtlich unterschiedliche Chargen. Eine läuft ohne Probleme, bei zweien wird ständig das Betriebssystem korrumpiert bis es nicht mehr läuft. Die gute Karte hat auch weniger Sektoren als die beiden schlechten - ein anderer Chip also. Gruß Hayo
:
Bearbeitet durch User
Beim Mediaplayer für die HiFi-Anlage stellt sich nicht ganz zuletzt die Frage nach einem adäquaten Gehäuse - denn es soll im Wohnzimmer ja eine gute Figur machen und zu den anderen Komponenten der Anlage passen. Mir fiel dann nach einigem Überlegen mein YAMAHA CD-Spieler ins Auge der ohne MP3 Fähigkeit eigentlich nur noch selten benutzt wurde. Nach kurzem Zögern ein intaktes Gerät zu schlachten überwogen für mich aber die Vorteile: - CD-Fach mit richtiger Größe für einen Fesplatten-Cradle - Displayfenster an genau passender Stelle im Gehäuse - Bedienknöpfe für "Play/Pause" "Stop" "Forw" "Back" direkt verwendbar - HiFi-Anlagenkonforme Gehäuseabmessungen Es soll ja für eine gute Sache sein :-) Also den CD-Spieler in Teile zerlegt und das Motherboard, das Netzteil und den Schubladenmotor entsorgt. Die Frontplatine wird weiterverwendet, sie nimmt nachher das neue Display auf und auf ihr sitzen die Mikroschalter für die Bedienknöpfe. Allerdings muss die Frontplatine etwas bearbeitet werden. Die leitenden Verbindungen auf der Platine zu den Schaltern werden durchtrennt. An der Stelle wo das alte Fluoreszenz-Röhrendisplay liegt, wird ein Ausschnitt in die Platine gesägt, so dass unser neues Display hineinpasst. Dieses wird dann mit Epoxy-Kleber auf der Platine verklebt. Die Schalter bekommen eigene Anschlussleitungen angelötet, die ebenso wie die Displayleitungen zu einem Breakout Board (einfache Lochrasterplatine) führen. Die CD-Schublade wird wie im Beitrag oben beschrieben ausgefräst und mit einer Blechschale versehen, die später die 2,5" Fesplatte aufnimmt. Das Netzteil habe ich einem alten Medion DVB-T Empfänger entrissen. Das ist zwar etwas "over sized", aber dafür gibt es kaum Wärmeentwicklung im Gehäuse und Platz ist eh genug da. Man kann aber auch eines der üblichen 2A Steckernetzteile für unter 10,- nehmen und die Platine ausbauen. Das habe ich beim Pi Blaster gemacht, da dort weniger Platz zur Verfügung stand. Für die Anschlüsse des Raspi wird auf der Gehäuserückseite eine passende Öffnung gebohrt/gesägt/gefeilt. Zur Montage der Platinen habe ich auf die Haltepunkte des alten Motherboards eine Alu-Platte geschraubt. Dann muss man nicht am Gehäuseboden rumwürgen. Die alten Cinchausgänge habe ich ebenfalls weiterverwendet und an die Hifiberry-Ausgänge angeschlossen. Als kleinen optischen Gag habe ich in die Öffnungen der nicht mehr benötigten Schalterreihe unter dem Display ein rotes LED-Lauflicht eingesetzt - entnommen aus einer alten Weihnachtsmann-Mütze vom letzten Weihnachtsmarkt. Das sieht im Dunklen echt schrill aus, lässt sich aber ausschalten wenn einem das Geblinke auf den Keks geht. Details zur Beschaltung und Software gibt es demnächst...
:
Bearbeitet durch User
Hallo Hayo, mich würde die Blaster-Variante interessieren. Wann gibts hierzu Infos? Bei mir zickt Rune nach Power-Off. Die Software startet aber das Streaming n icht sondern bleibt zwischen dem zu letzt gespielten und folgendem Titel einfach hängen. Vielleicht hab ich auch was falsch eingestellt? Bis dahin hghbh
Bin gerade mit dem Boot in Griechenland unterwegs, wenn ich ich wieder zurück bin gibt es mehr Details. Dein Startproblem kann auch andere Ursachen haben. Bei mir lag es mal an der Stromversorgung und mal an der SD-Karte wenn es nicht so richtig wollte. Evtl. hat auch das Betriebssystem eine Macke und man muss neu aufspielen. Die Stromversorgung mit einem 5V USB-Steckernetzteil hat oft das Problem, dass zwar das Netzteil genug Strom liefern kann, aber die dünnen Drähte des USB-Kabels verursachen so viel Spannungsabfall, dass derRaspi nicht mehr korrekt läuft. Gemessen habe ich bei mir einen Grenzwert von 4,8V - darunter gibt es Probleme.
Weiter geht's, im Folgenden kommt eine Beschreibung des Raspi-Einbaus in den JVC-Blaster. Danach für beide Player fast identisch, die Beschaltung, die Softwareinstallation und Scriptprogrammierung. Zunächst wird der Blaster auseinandergebaut. Hierfür und auch wegen der enthaltenen Schaltpläne sollte man sich das Service Manual herunterladen. Mit 8 MByte ist es etwas groß um es hier hochzuladen. Den Link konnte ich auf die Schnelle nicht wiederfinden, aber wer es nicht findet kann sich bei mir via Mail melden und bekommt es dann zugeschickt. Wie in Fig. 1 dargestellt erstmal die beiden Endkappen mit den Tragegriffen abschrauben (Inbusschrauben A). Die darunter liegenden Subwoofer mit den 4 Schrauben ausbauen (Fig. 2 B). Die blanken Kabelschuhe am Besten mit Tesa umwickeln, damit bei späteren Tests ohne Woofer kein Kurzschluss entsteht. Die vordere und hintere Gehäusehälfte ist wie in Fig. 3 - C verschraubt. 4 Schrauben unter dem Blaster, 2 Schrauben auf halber Höhe und nochmal 4 Schrauben weiter oben. Für die zwei mittleren Schrauben benötigt man einen etwas längeren Schraubendreher, da diese sehr tief sitzen. Danach lassen sich die Gehäusehälften auseinanderziehen - aber Vorsicht, erstmal nur einige Zentimeter, um den Draht der zur Radioplatine geht, vom Stift auf der Platine abzuziehen. Jetzt kann man die Hälften komplett trennen. Die Cassetteneinheit liegt dann direkt vor einem und lässt sich mit vier Schrauben lösen. Die Flachbandkabel aus den Stecksockeln ziehen und das Cassettenteil ist Geschichte. Für die Verlegung des Audiokabels muss die CD-Einheit ebenfalls ausgebaut werden. Hierzu die beiden Schrauben aus Fig. 3 - E enfernen. Das Flachbandkabel zum Tunerboard aus dem Stecksockel CN403 (Fig. 6) ziehen und die Flachbandkabel zum Equalizer Amp Board aus den Stecksockeln ziehen (CN408 + CN407). Danach lässt sich die CD-Einheit aus der Gehäusehälfte herausziehen. Noch einige Worte zum grundlegenden Konzept. Zuerst wollte ich, wie im ct-Artikel angeregt, die Spannungsversorgung über die 8.3V Schiene des Cassettenteils (Flachbandkabel, CN34) mit Spannungsregler nutzen. Zusätzlich wollte ich den Audioeingang des Cassettenteils zur Mitarbeit überreden. Beides funktioniert leider nicht so ohne Weiteres. Der Audioeingang wird von der zentralen Steuereinheit erst freigeschaltet wenn eine Cassette im Fach liegt und der Status "Play" gemeldet wird. Dies geschieht über ein serielles Datenprotokoll. Mir war der Aufwand hierfür zu hoch und mein Ersatzkonzept bietet auch einige Vorteile. Die Spannungsversorgung über die 8.3V Schiene erwies sich als böser Reinfall, da über diese Verbindung massive Störungen in den Audioteil des Blasters eingekoppelt wurden. Allein dieser (unerwähnte) Umstand bestärkt mich in der Annahme, dass der Autor des ct-Artikels diesen Umbau nie selbst durchgeführt hat. Weiterhin ließ sich der Raspi so nur durch Abziehen des Netzsteckers ausschalten, da diese Spannung nicht durch den Ausschalter geschaltet wird. Ich habe mein Konzept jetzt dahingehend geändert, dass der Raspi im Prinzip als komplett eigenständige Einheit im Blaster residiert. Er hat eine eigene Spannungsversorgung und einen eigenen Schalter auf der Unter- bzw. Rückseite, der nicht zu sehen aber gut zu erreichen ist. Für die Spannungsversorgung habe ich mir ein normales 2000mA USB-Steckernetzteil besorgt (unter 10,-) und dieses zerlegt. Die kleine Platine habe ich rechts neben der originalen Netzteilplatine in das Gehäuse geklebt. Den Audioausgang habe ich einfach mit einem abgeschirmten Kabel an die Rückseite geführt. Hier kann man man jetzt den Ausgang direkt in den AUX-Eingang einschleifen, oder auch an eine große Anlage anschließen. Blaster und Raspi lassen sich getrennt an und ausschalten.
:
Bearbeitet durch User
Für den Einbau des Raspi sollte man mutig genug sein dem JVC-Blaster mit Dremel und Bohrmaschine zu Leibe zu rücken. Der Cassettenfachdeckel wird komplett von den Versteifungen und Führungsstegen befreit um Platz für das Display zu erhalten. Der Blickwinkel des Displays ist wegen der Form des Deckels nachher nicht ganz optimal - er zeigt etwas nach unten. Alternativ kann man hier auch einen kleinen Kasten anstatt des Deckels einsetzen. Dann säße das Display gerade und man spart sich die wilden Fräs und Sägearbeiten. Ich habe dann einen passenden Ausschnitt für das Display in den Deckel gesägt und eine Kunstoffscheibe (aus CD-Hülle geschnitten) eingeklebt. Die Vertiefung für die Verriegelung des Deckels habe ich zugespachtelt und den Deckel abschließend mit mattschwarzer Farbe gespritzt. Das Display wird nur an vier Stellen mit einem Tropfen Klebstoff im Deckel fixiert, so dass es notfalls wieder herausgeschnitten werden kann wenn dies erforderlich sein sollte. Der Raspi sitzt direkt unter dem Cassettenfachdeckel und guckt mit seinen Anschlüssen heraus. Hierzu habe ich den Raspi mit schraubbaren Abstandshaltern erst auf eine dünne Platte geklebt und diese dann auf die beiden Stege im Blastergehäuse. Alle Klebungen mit Epoxikleber (UHU-Endfest 300). Im hinteren Bereich habe ich die Platte noch zusätzlich mit zwei Abstandhaltern aus Kunstoff abgestützt. Damit der Raspi richtig passt muss noch etwas am Rand des Cassettenfachs unterhalb des Deckels ausgeschnitten werden. Dann den Deckel auf das Gehäuse kleben. Der Audioausgang der HifiBerry Soundkarte wird mit einem abgeschirmten Kabel an die Rückseite geführt, wo neben der AUX-Eingangsbuchse ein Loch für eine 3.5mm Klinkenbuchse gebohrt wird. Der passende Punkt für die Bohrung muss sehr sorgfältig gewählt werden, da das Audiokabel sonst die Mechanik des CD-Laufwerkdeckels beeinträchtigt. Die rückwärtige Abschirmung aus Kupferfolie muss etwas ausgeschnitten werden. Um Störungen im Audioteil zu vermeiden sollte man die Rückseite des Equalizer Amp Boards abschirmen. Dazu fertigt man sich am Besten erst eine Papierschablone an mit der man dann die eigentliche Abschirmung schneidet. Ich habe hierzu eine durchsichtige (grüne) Hefthülle und darin zwei Lagen Haushaltsalufolie genommen. Die originale kleine Kupferabschirmung am Board entfernen und die eigene dranschrauben. Der Kontakt wird über die Schraube rechts unten zur Masse des Boards hergestellt. Die Flachbandkabel habe ich ebenfalls mit Alufolie umwickelt (Auf dem Bild noch mit der ursprünglichen Versorgung via Spannungsregler aus der 8.3V Schiene). Zur Spannungsversorgung. Die kleine Netzteilplatine aus dem Steckernetzteil ausbauen. Der Ein/Ausschalter (bei mir ein rastender Taster) kommt auf die Unterseite hinten rechts neben die originale Netzteilplatine. Direkt daneben wird dann die kleine Netzteilplatine geklebt. Auch hier nur einige Tropfen Epoxykleber verwenden, damit man bei einem Defekt die Platine mit einem Schraubi einfach wieder heraushebeln kann. Die 240V Seite wird über den Schalter auf der Rückseite der Hauptnetzteilplatine angelötet. Diese muss dafür vorher ausgebaut werden (drei Schrauben). Der originale vergossene Micro-USB Stecker ist etwas sperrig, daher habe ich mir extra einen zum löten in der Bucht besorgt. Evtl. passt aber auch der originale Stecker. Eine weitere Möglichkeit ist es, die 5V Versorgung über eine 2x Pfostenleiste auf dem HifiBerry einzuspeisen - so realisiert beim stationären Mediaplayer.
:
Bearbeitet durch User
Als Nächstes zur Hardware. Hier gilt es zu überlegen mit welcher Plattform man ins Rennen geht. Neben RPi2 und RPi3 gibt es auch noch Beaglebone Black, Cubie Truck und Odroid, die von Rune Audio unterstützt werden. Banana Pi, Udoo, TinyRex und Edison Arduino werden zur Zeit nicht unterstützt. Die RPis haben zudem das beste Preis-Leistungsverhältnis und die beste Unterstützung bzw. Verbreitung in der Entwicklergemeinde. Bei Problemen findet man hier sicher am schnellsten Hilfe. Näheres zu den verschiedenen Plattformen findet man in ct 16/2016. Bleibt also die Wahl zwischen RPi2 und RPi3. Aus mehreren Gründen habe ich mich für den RPi2 entschieden: - geringere Leistungsaufnahme/Verbrauch (ca. 300 - 500mA mit Hifberry und Display) - geringere Wärmeentwicklung - standard 5V USB-Netzteil (statt 5.1V Netzteil bei RPi3) - ausreichend Leistungsreserven für Rune Audio - bessere Hardwarekompatibilität zu Hifiberry Soundkarte - etwas günstiger Den Onboard Audioausgang zu benutzen kann ich nicht empfehlen. Der Frequenzgang erreicht etwa Telefonqualität. Wer noch einigermaßen gut hört sollte auf jeden Fall die ca. 30,- Euro für die Hifiberry Soundkarte investieren. Ein USB-Audiodongle ist zwar auch schon besser, erreicht aber längst nicht den Dynamikumfang des Hifiberry DAC+. Es gibt auch noch andere Soundkarten, die auf die Stiftleiste zu stecken sind - unter anderem vom Chinamann in der E-Bucht. Ob die was taugen und welche IOs der Stiftleiste blockiert werden sei dahingestellt und erfordert vermutlich einige Forschungsarbeit. Meine Hardwareempfehlung daher für beide Mediaplayer: - Raspberry Pi 2 - Hifiberry DAC+ - Sandisk Ultra 16/32Gbyte Class 10 Micro SD Card - 20x4 Character LCD Display mit HD44780 kompatiblem Controller Wer lieber den RPi3 verwenden will kann vermutlich trotzdem die hier verwendeten Konfigurationen nutzen, sollte dann aber eines der empfohlenen 5.1V Netzteile verwenden (siehe Raspi Homepage).
Nun zur Beschaltung der RPi GPIOs und des LCD. Das hier verwendete Display hat 4 Zeilen mit je 20 Zeichen und ist HD44780 kompatibel (Preis ca. 8 - 10,-Euro). Es werden auch spezielle Varianten für den Arduino mit seriellem Eingang angeboten, hier muss man etwas aufpassen, dass man das richtige Display mit parallelem Eingang erwischt. Je nach Ausführung muss ein Widerstand an den Kontrasteingang (Vee) angelegt werden oder auch an den Anschluss für die Hintergrund- beleuchtung. So benötigt z.B. mein grünes Display welches ich für Testzwecke verwende einen kleinen Vorwiderstand für die Hintergrund- beleuchtung aber der Kontrast kann direkt auf GND gelegt werden. Bei meinen blauen Displays wird dagegen ein Widerstand von etwa 1.5K für die Kontrasteinstellung benötigt aber die Hintergrundbeleuchtung kann direkt an 5V angeschlossen werden. Das Display wird im 4 Bit Modus betrieben, d.h. es werden nur die Datenleitungen D4 - D7 angeschlossen, D0 - D3 bleiben offen, R/W wird fest auf GND gelegt, damit das Display nicht versehentlich mit seinen 5V Ausgängen auf die 3.3V Raspi GPIOs zugreifen kann. Wenn Schalter angeschlossen werden sollen, muss dies immer mit Pullup und Begrenzungswiderstand gemacht werden, siehe auch das Bild mit Beschaltung bzw. wie hier beschrieben: https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/robot/buttons_and_switches/ Um beim stationären Mediaplayer Platz für die Pullupwiderstände zu schaffen, habe ich ein kleines Breakoutboard aus einer einfachen Lochrasterplatine gebastelt, welches über ein Flachbandkabel an den RPi angeschlossen wird (Bild siehe weiter oben). Darauf lässt sich dann auch für den Kontrast ein Poti unterbringen. Auf der Oberseite des Hifiberry muss dazu eine zweireihige Stiftleiste angelötet werden. Freundlicherweise ist dieser dafür schon mit den nötigen Bohrungen und Lötpads vorbereitet. Beim Boomblaster habe ich die Leitungen für das Display direkt auf den Hifiberry gelötet. Den Widerstand für den Kontrast habe ich erst mit einem Poti ermittelt (bei mir ca. 1.5K) und dann als Festwiderstand auf dem Display verlötet. Auf dem Bild mit dem GPIO Header sind alle Daten- und Steueranschlüsse zu sehen. In Rot die vom Hifiberry geblockten Anschlüsse. Diese dürfen auf keinen Fall anders verwendet werden. In Gelb die beiden LCD Steuerleitungen, in Grün die LCD Datenleitungen und für den stationären Player in blau die Anschlüsse für die Schalter. Man sieht, dass hier noch einige GPIOs unbenutzt sind. Da sind noch etliche weitere Funktionen möglich. Wer in seinen Boomblaster gerne Schalter einbauen möchte, nimmt einfach die Schaltung vom stationären Player. Platz für ein Breakoutboard ist eigentlich auch noch genug da. Zusätzlich zu den Cinchbuchsen am Hifiberry besteht noch die Möglichkeit eine dreier Stiftleiste für den Audioausgang aufzulöten. Weiterhin kann noch eine zweier Stiftleiste für die Spannungsversorgung angeschlossen werden. Dieser Anschluss ist bidirektional. D.h. man kann damit sowohl Peripherie versorgen, als auch die Versorgung für den RPi einspeisen - dann sollte die Spannung aber gut auf 5V geregelt sein.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.