Hallo zusammen,
ich hab hier mal wieder ein kleines Projekt auf dem Tisch liegen, wo die
Machbarkeit fraglich ist - daher brauche ich einen Expertenrat. Vorab:
Dass das Projekt finanziell nicht rentabel oder vielleicht technisch
nicht sehr sinnvoll erscheint, ist für mich zweitrangig - es geht erst
mal primär um die Machbarkeit.
Folgendes Problem:
Mein iPod Nano 7G hat einen Klinke Kopfhörer-Anschluss mit 4 Kontakten
(TRRS). Über zwei der Kontakte (R und S) wird die
Kopfhörer-Fernbedienung gesteuert (lauter, leiser, play/pause, weiter,
zurück, spulen). Leider nutzt Apple hier ein proprietäres Protokoll um
hauseigene Kopfhörer zu "authentifizieren" (ein Ultraschall Signal), so
dass "lauter" und "leiser" der Fernbedienung nur mit original
Apple-Kopfhörern funktioniert, nicht aber mit Kopfhörern anderer
Hersteller (zumindest mit den meisten).
Jemand hat das ganze mal reverse engineered... hier ist es sehr gut
dokumentiert:
https://tinymicros.com/wiki/Apple_iPod_Remote_Protocol
Kopfhörer für z.B. Android-Telefone mit Klinkenanschluss steuern die
Lautstärke über einen Widerstand zwischen R und S Kontakt, wobei man
200Ω für vol+ (lauter) and und 600Ω für vol- (leiser) spezifiziert. Der
Play/Pause Knopf ist bei beiden Standards mit 2Ω spezifiziert,
Play-Pause funktioniert also auch mit den Android-Kopfhörern.
Leider sind die Apple-Kopfhörer vom Sound her nicht die tollsten, kein
In-Ear und sie gehen sehr schnell kaputt bei hohem Preis.
Ich würde nun also gerne einen Adapter in Form einer "Man in the middle
- Klinkenverlängerung" bauen...
1
______________
2
____| ______ |____
3
<===|____| |MSP430| ||||o| <--- Buchse
4
^ |______________|
5
|
6
-- Stecker
Sprich:
- Der geplante Adapter hat einen TRRS-Stecker, eine TRRS-Buchse und
dazwischen einen MSP430 zur Signal-Steuerung
- Man stöpselt den TRRS-Stecker des Adapters in den iPod
- Dann den Android-Kopfhörer in die TRRS-Buchse
- Der MSP430 emuliert das proprietäre Apple Protokoll
- Eine Schaltung misst Widerstand des Android Kopfhörers zwischen R und
S
- Ist er 200Ω emuliert man Apples vol+
- Ist er 600Ω emuliert man Apples vol-
- ist er < 10Ω schaltet man durch / emuliert man play/pause
Wichtig: Der Adapter sollte in einer Custom PCB Version nicht allzu groß
sein (sagen wir mal maximal Rasperry PI Zero Größe). Bestenfalls sollte
der Adapter OHNE eine extra Batterie / Stromquelle auskommen und vom
iPod selbst versorgt werden, daher habe ich den MSP430 gewählt. Wenn es
was besseres gibt, immer her damit.
Meine Fragen:
- Ist das grundsätzlich überhaupt möglich?
- Ist der zu erwartende Verbrauch des Adapters ohne eigene Stromquelle
so hoch, dass es den Akku vom iPod Nano 7g (220mah) zu schnell
auffressen würde bzw. wovon hängt das ab?
- Was würde ich alles dazu brauchen? (gerne konkrete Angaben bezüglich
chip-bezeichnungen, elektronischen Bauteilen und Programmern)
Vielen Dank für jeden Beitrag dazu :-)
Das sollte grundsätzlich möglich sein, In dem Link den Du gepostet hast
wird im Prinzip alles erklärt um den Kopfhörer zu emulieren.
Die Auswertung der Tasten am Standardkopfhörer ist einfach, du brauchst
nur einen Widerstand gegen plus und die Spannung am Controllpin messen.
Stromversorgung über die Controlleitung könnte mit einem sehr sparsamen
Mikrocontroller und stromspaarender Programmierung funktionieren wenn Du
eine schottkey Diode von der Controllleitung zu plus des
Mikrocontrollers und einen einigermaßen Kondensator von plus nach Masse
schaltest.
Frederic S. schrieb:> Das sollte grundsätzlich möglich sein, In dem Link den Du gepostet hast> wird im Prinzip alles erklärt um den Kopfhörer zu emulieren.>> Die Auswertung der Tasten am Standardkopfhörer ist einfach, du brauchst> nur einen Widerstand gegen plus und die Spannung am Controllpin messen.>> Stromversorgung über die Controlleitung könnte mit einem sehr sparsamen> Mikrocontroller und stromspaarender Programmierung funktionieren wenn Du> eine schottkey Diode von der Controllleitung zu plus des> Mikrocontrollers und einen einigermaßen Kondensator von plus nach Masse> schaltest.
Also zunächst mal vielen Dank für die Antwort.
Die Kopfhörer-Emulation ist tatsächlich nicht das Problem (das würde ich
hinbekommen), sondern die Versorgung des Microcontrollers UND des
angeschlossenenen Kopfhörers über die iPod Klinke (ohne extra Batterie),
sowie das Messen der sich ändernden Widerstände der Klinken-Buchse.
Meines Wissens nach misst man Widerstände, in dem man einen kleinen
Strom durchschickt und den Spannungsabfall prüft. Aber ist das der
richtige Weg - denn hier ändert sich der Widerstand ja nur sehr kurz und
kleine Ströme sind bei so einer knapp versorgten Schaltung sicher keine
super Idee? Wie messe ich denn den Widerstand des
Kopfhörer-Fernbedienungs-Drucks am besten?
Dieses Video hier bietet eine vergleichende Einführung in den MSP430:
https://www.youtube.com/watch?v=9Zyp4sdSUNM
Aber irgendwie gibt es da viele Varianten und ich weiß leider nicht
genau, welchen ich da am besten nehmen würde (Leistungs und
Verbrauchsmäßig meine ich)
Es gibt tausende von Kopfhörern/Ohrstöpseln, die zum Apple-Protokoll
kompatibel sind, ich sehe nicht so ganz den Sinn, zu versuchen, selbst
einen "Protokollübersetzer" zu basteln. Oder ist der spezifische
"Android"-Kopfhörer/Ohrstöpsel, den Du da adaptieren möchtest, so
absolut irrwitzig obergöttlich und einzigartig?
Du könntest auch die Kabelfernbedienung eines applekompatiblen
Kopfhörers transplantieren, die kannst Du entweder aus einem vorhandenen
Gerät extrahieren oder als Ersatzteil für einen der etwas besseren der
tausenden Over-oder-On-Ear-Kopfhörer kaufen, die applekompatibel sind.
Willkürliches Beispiel:
https://www.amazon.de/dp/B07XX22MMR?th=1
Da müsstest Du nur statt des einen Steckers eine Buchse dranbasteln, und
schon kannst Du Deinen vorhandenen Kopfhörer/Ohrstöpsel weiterverwenden.
(Und sowas gibt es natürlich auch viel, viel billiger, auch gleich mit
'nem Kopfhörer/Ohrstöpsel dran)
Harald K. schrieb:> Es gibt tausende von Kopfhörern/Ohrstöpseln, die zum Apple-Protokoll> kompatibel sind, ich sehe nicht so ganz den Sinn, zu versuchen, selbst> einen "Protokollübersetzer" zu basteln.
Auch vielen Dank für diese Idee. Die hatte ich (leider) auch schon...
Zur Erklärung: NUR weil ein Hersteller schreibt, dass es kompatibel ist,
ist das noch lange nicht der Fall. Und WENN die Kompatibilität
tatsächlich gegeben ist, ist es oft nur unzureichend gelöst (sprich:
Funktioniert nur alle 3 mal oder nur teilweise). Das von dir verlinkte
Kabel hatte ich und es funktioniert mit dem iPod nicht richtig - die
Qualität war auch nicht das, was ich mir vorgestellt habe.
Wie ich geschrieben habe:
Dass das Projekt finanziell nicht rentabel oder vielleicht technisch
nicht sehr sinnvoll erscheint, ist für mich zweitrangig - es geht erst
mal primär um die Machbarkeit. Ich habe meine Gründe für diesen hohen
Aufwand.
Harald K. schrieb:> Du könntest auch die Kabelfernbedienung eines applekompatiblen> Kopfhörers transplantieren, die kannst Du entweder aus einem vorhandenen> Gerät extrahieren oder als Ersatzteil für einen der etwas besseren der> tausenden Over-oder-On-Ear-Kopfhörer kaufen, die applekompatibel sind.
Richtig, das könnte ich. Das ist auch aktuell meine einzige gangbare
Lösung - allerdings NUR mit einer ECHTEN Apple EarPods Kopfhörer
Fernbedienung akzeptabel - diese Klondinger sind einfach schlecht. Und:
Ablöten kann man die nicht, man kann aber ein Stück Kabel dran lassen
und die verlöten.
Problem dabei: Die Fernbedienungen sind nicht auf lange Haltbarkeit
ausgelegt. Das sind billige Plastik-Teile die nach einer gewissen Zeit
hakeln, kaputt gehen oder gar brechen - folglich braucht man einen
Vorrat an defekten EarPods mit noch gangbarer Fernbedienung als
Ersatzteilspender. Spaß macht das keinen.
Harald K. schrieb:> (Und sowas gibt es natürlich auch viel, viel billiger, auch gleich mit> 'nem Kopfhörer/Ohrstöpsel dran)
Genau darum geht es. Ich will nicht billig - ich will haltbar,
hochwertig und halbwegs preiswert - bestenfalls reparierbar.
Meine aktuelle Lösung sieht so aus, dass ich mir ein selbst
hergestelltes geflochtenes TRRS-Kabel modifiziere und eine
Apple-Earpods-Fernbedienung einlöte. Sieht scheiße aus, aber ist
halbwegs haltbar und funktioniert, abgesehen von der Fernbedienung. Die
geht alle paar Monate mal drauf. Damit kann ich einigermaßen leben, aber
schön ist das nicht.
Ich hoffe, die Erklärung ist ausreichend detailliert. Es gibt noch viel
mehr was mich an diesen Klon-Geräten und halbgaren Kauflösungen stört
:-)
Andreas schrieb:> Zur Erklärung: NUR weil ein Hersteller schreibt, dass es kompatibel ist,> ist das noch lange nicht der Fall. Und WENN die Kompatibilität> tatsächlich gegeben ist, ist es oft nur unzureichend gelöst (sprich:> Funktioniert nur alle 3 mal oder nur teilweise).
Dann ist Dein iPod eine Mimose. Die von Dir geschilderten Probleme kenne
ich bei keinem meiner verschiedenen Applegeräten, an denen ich
kabelgebundene Kopfhörer eingesetzt habe.
(iPhone 4, iPhone 7 mit Lightning-TRRS-Adapter, iPad 3, iPad Pro 2018
mit USB-C-TRRS-Adapter, MacBook Pro 17" (2011), MacBook Pro 16" (2019)
...)
Mir sind EarPods auch schon kaputtgegangen, aber nie die Fernbedienung,
sondern nur das Kabel am Ende des TRRS-Steckers, weil die die Belastung
des Betriebs "iPhone steckt in Hosentasche und Kabel im iPhone" nicht
überlebt haben.
Übrigens gab es von Apple auch inEars mit diesen Silikonstöpseln, die
hießen "ME186LL/A"
https://media.s-bol.com/qwYp5kPOj3y/1200x771.jpg
Harald K. schrieb:> Dann ist Dein iPod eine Mimose. Die von Dir geschilderten Probleme kenne> ich bei keinem meiner verschiedenen Applegeräten, an denen ich> kabelgebundene Kopfhörer eingesetzt habe.
Ohja. Der iPod Nano 7g ist tatsächlich ein sehr zickiges Stück Hardware
- leider für mich unersetzbar (zumindest bisher). Ich kenne kein Gerät
in der Größe, was Hörbücher und die Steuerung per Fernbedienung so gut
unterstützt, wie das Ding.
Der hat sogar einen Lightning-Anschluss, aber Lightning-Kopfhörer
funktionieren nicht (nicht mal Original Apple). An diesem Gerät ist
Lightning anscheinend ausschließlich für die Datenübertragung
implementiert.
Android Geräte sind ganz cool (besonders weil die auch Wifi Sync
hätten), allerdings sind diese Geräte nicht nur wesentlich größer,
sondern haben auch einen hohen Energiebedarf. Akzeptabel von Größe und
Batterielaufzeit wäre für mich der Fiio M6 (den es neu leider nicht mehr
zu kaufen gibt - ich hab aber n paar davon). Der ist sehr klein, leicht
und hat Android 7 - Kopfhörer-Fernbedienungen unterstützt der auch.
Alternativ der HiBy M300 - aber der ist schon fast wieder zu groß und
schwer.
Ich hab auch schon mal angefangen eine App zu entwickeln
(https://github.com/sandreas/ToneAudioPlayer) bin aber dann zu Flutter
gewechselt, weil die Audio-Controls der Kopfhörerfernbedienung in C#
keine brauchbare Library haben und die Apps insgesamt zu schwergewichtig
werden (> 70MB). Aber der Zeitbedarf für die Entwicklung einer App ist
enorm - wesentlich höher als für so einen kleinen Adapter. Weil es nix
gab, das mir gefallen hat, habe ich auch schon
https://github.com/sandreas/m4b-tool und
https://github.com/sandreas/tone entwickelt - ich mein das mit den
Hörbüchern also echt ernst :-)
Für alle, die meine bisherige Odyssee besser nachvollziehen wollen, ich
hab da schon mal was gepostet, wo es um iPod Alternativen geht und warum
keine davon für mich mit dem iPod mithalten kann:
- https://news.ycombinator.com/item?id=39556206
- https://github.com/advplyr/audiobookshelf-app/issues/847
So, nun, nach diesem Exkurs aber zurück zum Thema: Wie würde eine solche
Schaltung aussehen und geht das ohne externe Energiequelle / Akku? :-)
Falls nicht, könnte ich auch einen Akku akzeptieren, solange er
mindestens 5 Tage durchhält. MSP430 dev board hab ich mir schon mal
günstig besorgt.
Andreas schrieb:> Ohja. Der iPod Nano 7g ist tatsächlich ein sehr zickiges Stück Hardware
Blöde Frage: BT-Kopfhörer kommen nicht in Frage? Die haben auch 'ne
Fernbedienung ...
Harald K. schrieb:> Blöde Frage: BT-Kopfhörer kommen nicht in Frage? Die haben auch 'ne> Fernbedienung ...
Leider nein. Bluetooth hat einige Nachteile ggü. Kabel und trotz
Bluetooth 4.0 saugt das die Batterie von den 10 Jahre alten Geräten doch
recht zügig leer :-)
Ich hab mir einen iPod mit 600mah Batterie modifiziert (statt der
Standard 220mah). Wenn der fertig ist, denke ich drüber nach :-P aber
ich werd wohl trotzdem das Projekt rein aus Interesse weiter verfolgen.
Wie gesagt: Es geht mir auch um die Machbarkeit... weniger um eine
"bessere" oder "einfachere" Lösung.
Wenn es so einen Adapter gäbe und der Open Source wäre, dann wären alle
meine Probleme zwar auch erst mal gelöst, aber ich finde es auch
interessant, mit solch niedrigen Strömen (Klinkenanschluss) einen
Microcontroller zu betreiben...