Система управления мультимедийными устройствами в BMW.
Часто встречаются вопросы по подключению кнопок с руля к карпютеру, решил вот создать темку чтоб делиться наработками. Выкладываю то что нарыл.
Много вопросов возникает по поводу того какая именно шина управляет мультимедией I-Bus или K-Bus, ответ: в тех моделях где нет I-Bus там используется K-Bus например е46.

Существуют такова рода адаптеры ничто иное как USB адаптер/контроллер на основе микросхемы TH3122.4 которая конвертирует K(I)-Bus сигнал в TTL сигнал (TxD RxD) проще говоря служит для передачи данных с компьютера в Шину и с шины в комп...

здесь выложил PDF с подробной информацией по I-Bus

С помощью такого конвертера коммуникацию с компом можно реализовать с помощью Arduino.

Теперь о том на чем я споткнулся: Читая PDF понимаю что все необходимое там есть но в виду того что программист с меня никакой то ничего с этим сделать не могу.

Цель такова: Имеем 6 кнопок на руле (остальные задействованы в управлении круиз контролем) нужен софт который бы принимал данные с шины и управлял назначенными функциями в компе и при помощи Arduino управлял магнитолой.

Софт представляю примерно так: имеем 6 кнопок. Софтина берет по протоколу I-Bus данные нажатия кнопок с адаптера и управляет пятью назначенными кнопками в компе (такая софтина по рассказам существует но я не нашел). одна кнопка постоянно управляет через Arduino одним выходом с запоминанием состояния для переключения (первое нажатие, второе и третье) между CD-AUX-FM. софт проверяет в каком режиме включен Arduino 1 2 3 и соответственно в режиме CD и FM софт не работает. В этих рижимах Arduino берет данные с адаптера и управляет пятью своими выходами на которые можно повесить основные кнопки магнитолы, в режиме AUX активируется софт (управление выходами Arduino дезактивируется) и управляет назначенными кнопками в компе (если вареант вашей установки без магнитолы на эти 5 выходов можно повесить что угодно)

Жду ваших мнений и предложений на это счет.