Ik wilde in mijn E36 graag de OEM look, ik wil ook bluetooth, maar ik heb geen zin om 300/400+ euro uit te geven aan de natuurlijk erg gewilde head units die Ibus hebben en daarmee dergelijke interfaces ondersteunen. Wat je ook over mij moet weten: ik pruts graag, en ik doe graag moeilijk als het ook makkelijk kan (en ik vind dat stiekem best leuk). Dat gezegd zijnde leek het me een interessant idee om een van de pre-Ibus radio's geschikt te maken voor bluetooth.
Voor de oudere radio's zijn er her en der tutorials te vinden om zelf een AUX/Bluetooth interface toe te voegen, door bijvoorbeeld de radio open te maken, en op de contactpunten van bijvoorbeeld de cassettespeler nieuwe draadjes te solderen en zodoende die audio te overschrijven. Het nadeel daarvan is echter dat je dan de knoppen op je radio niet kunt gebruiken om bijvoorbeeld van nummer te wisselen, of het afspelen te pauzeren.
De meeste aftermarket interfaces kunnen dit wel, doordat ze een CD wisselaar emuleren. Er zijn echter ook een paar pre-Ibus radio's waar je een CD wisselaar op kan aansluiten, maar deze hebben een ander communicatieprotocol waarvoor geen bluetooth modules te koop zijn. Dat moet dan toch te reverse-engineeren zijn dacht ik... Je voelt hem al aankomen, how hard can it be?
Zo gezegd zo gedaan, en ik heb een setje gescoord van onderstaande componenten:
Wat heb ik intussen bereikt?
- Bureau-setup gemaakt om de radio te kunnen gebruiken met CD wisselaar
- Communicatie bekeken tussen radio en CD wisselaar > uiteraard is dit geen standaard bekend protocol, fuck waar ben ik nu weer aan begonnen Er waren wel wat patronen in de data te herkennen, dingen als cd nummer, track nummer e.d. zijn er in terug te vinden, maar er is ook een hoop wat ik niet kan volgen. Een van de grote issues aan het begin was dat de data van de radio naar de CD wisselaar, en de data in de andere richting beide over dezelfde draden loopt. Daardoor is het lastig te onderscheiden wat van wie komt.
- Uiteindelijk na veel staren, proberen, vast lopen en opnieuw proberen ben ik er in geslaagd om met een Arduino te luisteren naar wat de radio stuurt, en toch ook mijn eigen berichten aan te laten komen bij de radio, en heb hiermee een zeer onvolledig proof of concept kunnen testen!
Eerste succesvolle test met de radio in CD modus ook al is de CD wisselaar losgekoppeld! De communicatie komt puur van mijn Arduino, en de audio komt in dit geval uit mijn computer
Volgende stappen:
- Uitzoeken welke radios er allemaal nog meer dezelfde interface hebben, er moeten er zo nog een aantal zijn vermoed ik. Als ik de schaarse informatie goed geinterpreteerd heb staat het protocol bekend onder de naam Pioneer m-bus (niet te verwarren met Alpine m-bus).
- Protocol verder decoderen
- Implementeren dat ik naar alle knoppen van de radio kan luisteren en reageren
- Bluetooth module is in bestelling
- Eigen printplaatje en behuizing maken voor een volledig 'product' wat je plug en play in je radio kan steken