PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Общение с машиной (http://pccar.ru/forumdisplay.php?f=14)
-   -   Подключение к MMI консоли Audi (http://pccar.ru/showthread.php?t=12798)

AngelOfGrief 16.08.2010 15:13

Подключение к MMI консоли Audi
 
Приветствую.

Уже установил CarPC в свою машину и радостно пользуюсь. Однако есть большое желание подключить к компу кнопки управления (перекл. муз. трека, а также клавиши Enter, Cancel, крутилку к стрелкам бы подключить).

Есть два пути:

Разорить консоль и подключить напрямую к кнопкам что-то типа беспроводной клавиатуры (соответственно, придумав развязку чтоб все работало). Только там наверняка динамический опрос клавы и придется подключать к самим кнопкам, наверно через оптроны или ключи. Или микроконтроллер, читающий динамику -- но это уже целая разработка. Лень.

Либо: подключить контроллер USB-CAN и считывать нажатия кнопок по CAN шине.

Конечно, мне предпочтительнее 2-й путь, т.к. шину CAN я могу найти в багажнике где у меня все и смонтировано -- тогда не надо курочить центр. панель. Но вопрос: передаются ли нажатия кнопок на CAN шину? Адаптера USB - CAN у меня пока нет, но есть VAG-COM. Могу ли я просмотреть сырые данные через VAG-COM чтобы что-то понять?

Подскажите, может кто что знает, сталкивались?...

Спасибо.

(vS) 17.08.2010 04:01

в кане нет MMI, MMI идет по MOSTу, это проверено. но сырые данные можно получить в другом месте, недорого ;)

AngelOfGrief 17.08.2010 04:09

Ага, ну что ж, это уже что-то. Хотя все те же кнопки MMI управляют, например, и климатом и парктроником, а на них MOST не заведен. Но видимо они управляют через Control Head а не напрямую.

А где же все-таки можно недорого получить данные?

Вот, нашел, что вся эта штука просто-напросто держится на защелках и ее легко снять:

http://forums.audiworld.com/showthread.php?t=2692525

Попробовать что ли... В принципе, если питание там есть, можно приладить к ней wireless клаву или мышь или джойстик.

(vS) 18.08.2010 02:53

ты хочешь все кнопки перемапить на клавиатуру? и чтобы MMI остался рабочим?

AngelOfGrief 18.08.2010 03:05

Да, а что в этом сложного? Если там динамический опрос клавы надо снять блок кнопок и сначала прозвонить чтобы понять схему, а потом взять любой микроконтроллер с поддержкой RS-232 и написать простейшую прогу, которая будет отслеживать штатные сигналы сканирования и считывать данные с кнопок, затем все это передавать через RS-232 на USB2COM конвертер и в комп. Я думаю, подойдет ATMEGA, и скорее всего такую прогу уже кто-то писал и она есть готовая.

Но я нашел другую инфу: когда в машину устанавливают VGA-LVDS контроллер -- чтобы подключить CARPC к штатному дисплею (я этот девайс пока не решил ставить или нет, поскольку не уверен нужен ли он мне), в описании сказано используется какой-то 16 провод с разъема процессора MMI и с него этот блок якобы считывает нажатие клавиш на блоке упр. MMI. Но возможно это просто сигнал с кнопки NAV по нажатии которой блок активируется. Дословно в мануале написано так: MMI wire is the 16th pin inside the 20PIN connector from the car computer,this box needs the signal of this wire for switching and control. Пинаут данного разъема, к сожалению, не нашел в документации по машине (ELSA), только есть рисунок разъема с подключением к кнопкам, но там непонятно где какая кнопка и функции контактов тоже не обозначены.

Хочется сделать по-интеллигентному: взять сигнал с одного провода и его раскодировать. И оч. желательно чтобы сей провод был в багажнике дабы не курочить салон. Жалко, красивый салончег, а у меня в плане слесарки руки немного не тем концом :)

Кстати, адаптер MOST2USB тоже существует в природе, в заруб. форуме его начали ваять, даже выкладывали фотки в тему, но потом автор (как это часто случается и у нас здесь тоже) куда-то исчез вместе со своим девайсом.

Мне вот что непонятно. Вроде бы весь MMI2G написан на VxWorks (3G вроде бы на QNX), хотя точно это не известно. Почему до сих пор не нашелся человек, который придумал бы как вызывать Shell с коммандной строкой или вообще ломануть как-то? Почему нет альтернативных хакерских прошивок MMI? Тогда бы можно было реализовать очень многие фичи без огромных денежных вложений, которых обычно требует включение даже простейших доп. функции (например, подключить DVD плеер стоит порядка 40 т.р., т.к. нужно устанавливать видео-интерфейс - абсурд!!).

(vS) 18.08.2010 07:58

хакерская прошивка не решает отсутствие видеопроцессора и видеовхода как такового :)
специалистов по VxWorx... лично я знаю всего двоих.
с MMI все немного проще

http://s43.radikal.ru/i101/1008/0c/dd20a8b42c48.jpg

Цитата:

baud rate: 9600
8 N 2
No Flow Control

AngelOfGrief 18.08.2010 16:11

vS, странно, блин, ну можно подумать как будто я от неч. делать языком треплю. :(

В том-то и дело, что видеовход там есть, именно туда подключается штатный тюнер. Видеовход расположен на блоке камеры зад. вида и разъем не подключен. Я подключил видео от компа в разрыв кабеля камеры, но если бы можно было хакнуть БУ MMI, нужно было бы просто что-то подправить в конфигах и вход тюнера заработал бы.

(vS) 19.08.2010 00:01

во во, тока камера не во всех комплектациях есть :)

AngelOfGrief 19.08.2010 02:52

Ну у кого нет, тому не повезло, надо блок MMI менять, но у меня-то есть, мне чо? :)
Кстати, есть предложения по доработке ц/блока MMI по-моему за 10 т.р. на предмет вывода видео-входа, т.е. там все есть, только наружу не выведено.

Так можно как-нибудь горю моему помочь? :)

(vS) 19.08.2010 12:13

а какое у вас горе?

AngelOfGrief 19.08.2010 14:20

Вложений: 1
Горе -- это образно. :) Желание подключиться к консоли MMI.

Я только сейчас увидел схему в посте выше. А что это? Вроде как подключение куда-то через RS-232? SV1 -- что это за разъем?
Я сейчас нарыл такую вещь как CarX24 MMI Interface. Это он? Вопрос тогда: зачем подключать сигнал TX, нам ведь только нужно читать данные?

Вот схема подключения кнопок MMI, E380 - блок кнопок, J523 -- б/у MMI. Не понял как вышеприведенное соотносится с этой схемой?

AngelOfGrief 19.08.2010 18:04

О! нашел еще вот что:

http://www.audi-portal.com/en/diagnostic/ecu_12343.html

Хотя у меня б/у не такой, видимо модуль E380 такой же, потому что выписав сигналы, идущие к E380, получаем:

Wake UP to multimedia operating unit -E380-
Res HU to multimedia operating unit -E380-
Res BT to multimedia operating unit -E380-
Data to multimedia operating unit -E380-
Data from multimedia operating unit -E380-
Earth to multimedia operating unit -E380-
Voltage supply to multimedia operating unit -E380-

Т.е. как раз 7 сигналов, видимые на моей схеме. Осталось понять кто из них кто. :)

(vS) 20.08.2010 00:08

у меня нет ауди, что имел - я тебе дал ;)

на "моей" схеме явно разъем 380го

AngelOfGrief 20.08.2010 03:15

Действительно, что-то я сразу не допер, разъем обозначен T16, т.е. 16 контактов. :)

Тогда получается:

Wake UP
Res HU (Reset Head Unit ?)
Res BT (Reset Bluetooth ?)
15. Data In (Черн) - это видимо светодиодики зажигать на нем
16. Data Out (Зелен)
8. GND (Коричн)
7. +12v (Красн)

Ну то есть мне нужен зеленый провод. Ну вот, это уже результат. А транзистор там -- получается инвертор? Интересно, нафига они инверсный выход сделали.
А кстати получается, если отключить блок кнопок, можно с CarPC подавать команды на б/у MMI, эмулируя блок кнопок. Правда, неизвестно зачем... Ну, например, для голосового управления. Творчество поперло! :)

А в машине можно тогда, чтобы не тянуть провода, поставить преобразователь Bluetooth -> RS-232, например такой:

http://shop.digitalangel.ru/catalog/109214/

Тогда это все можно смонтировать внутри блока кнопок.

Теперь осталось дождаться выходных и реализовать это все. А софт если напишу, выложу.

Спасибо за помощь!

AngelOfGrief 21.08.2010 18:18

Подраздербанил вчера блок MMI (сняв калошу переключателя передач): вроде пинаут совпадает, цвета проводов правильные, по крайней мере земля и плюс. Попробовал сходу напрямую подключить к PL2303 -- не пашет, судя по тестеру уровень сигнала оч. низкий: видимо потому и стоит транзистор в схеме. Сегодня спаял все дома с транзисторным ключом, сейчас пойду пробовать. Еще сегодня в доках нарыл, что с 11.2008 расположение блоков изменили и жгут с блока MMI пошел в багажник! А у меня 03.2008, придется провода тянуть кое-как. :( Я просто боюсь блок MMI снимать, все поломаю нафиг.

(vS) 22.08.2010 00:24

сунься осцылом

AngelOfGrief 22.08.2010 03:15

Подключил через транзистор к Usb2Serial CP2101 -- работает, но только 9600 8N2 вешает софт (Hyperterm, VBTerm, RealTerm - одинаково). А 9600 8N1 нормально, нажатие/отпускание каждой кнопки идентифицируется уникальным кодом из 8 байт (типа одного байта на кнопку им показалось мало), а еще каждые 2 секунды блок кнопок сам по себе генерит какую-то фигню измененяя каждый раз 1 байт.

Cамое печальное будет софт: писать под COM-порт непросто, я уже раньше имел такой опыт - трудно сделать чтобы не висло. Может что готовое есть? Задача простая: по обнаружении в буфере 8 заданных байт делать PostMessage() или запускать EXE. Или придется шариться в собственных исходниках, я вообще оч. давно не писал под Win32.

Dmitry02 22.08.2010 07:09

Цитата:

Сообщение от AngelOfGrief (Сообщение 152063)
Cамое печальное будет софт: писать под COM-порт непросто, я уже раньше имел такой опыт - трудно сделать чтобы не висло. Может что готовое есть? Задача простая: по обнаружении в буфере 8 заданных байт делать PostMessage() или запускать EXE. Или придется шариться в собственных исходниках, я вообще оч. давно не писал под Win32.

Есть готовая программа, корректно работающая с COM портом (отключение, подключение на горячую) с адаптированным под тачскрин интерфейсом.
http://forum.pccar.ru/showthread.php?t=11815
Можно к ней прикрутить любой адаптер.

AngelOfGrief 22.08.2010 14:00

Это же вроде софт для GPS трекинга?

Dmitry02 22.08.2010 15:08

еще этот софт цепляется к автомобильным датчикам и управляет внешними устройствами.

AngelOfGrief 24.08.2010 05:09

Вложений: 1
В общем, все получилось, vS -- огромное спасибо за помощь и инфу.
Софт все-таки пришлось писать самому. На всяк. случай софт с исходниками выкладываю, вдруг кому пригодится. Комменты все на англ. -- мне так привычнее. :) Целый день продолбился с этой программой.

Прога обрабатывает 6 комбинаций произвольной длины (оказалось у некоторых кнопок MMI код 8-байтный, а у некоторых - 7-байтный!), PREV/NEXT - отсылает PostMessage в Winamp (именно в Winamp!), еще на 4 комбинации -- отсылает нажатие клавиш вверх/вниз, Enter, ESC. Пока все. :) На самом деле надо было сделать универсальнее -- чтобы можно было указать неограниченное кол-во комбинаций и выбрать действие для каждой комбинации: посыл кода клавиши в активное окно или посыл PostMessage в избранное окно или BROADCAST. Ну может переделаю когда руки дойдут. Там в архиве есть readme.

Germes 24.08.2010 12:24

Вопрос по схеме подключения.
Я так понял надо смотреть на схему которую дал VS ?

AngelOfGrief 24.08.2010 14:22

Да, только я подключил всего два провода, см. readme внутри архива.

crashmilan 26.05.2012 23:47

Подниму тему.
Имею машинку Audi A6 C6 2007 года, MMI2G, без навигации и двд.
Мной был куплен шнурок MA-8910P. Подключил данное устройство к 16 пину (у меня он не зеленый а белый + черный) использую ключ транзисторный, к кабелю подключился на ТХ (черный) т.к на RX было все глухо. Сигнал программа ловит все нормально, но возникли проблемы, если отрезать провод на 16 пини и подсоединить только к компу, то идет непонятный сигнал, после перезапуска авто, сигнала вообще нет. Если провод не отрубать а просто приконектиться к нему то все нормально, сигнал идет, но происходит управления MMI. Создалось такое впечатление что главный MMI блок если не получает регулярно идущие данные от пульта то отрубает его совсем. Еще один нюанс, сигнал от пульта на шнурок ловиться и без ключа, также как с ключом.
Также я не нашел на каком пине сидит вход сигнал, в инструкции написано черный провод, но его у меня нет. Кто чем может помогите с моей проблемой.

AngelOfGrief 27.05.2012 04:06

Я понял теперь в чем суть вопроса. Честно говоря, решения я не вижу кроме как разобраться какой диалог происходит между ц/блоком и клавой MMI и повторить
его в своей проге.

А зачем отрубать клаву MMI от машины? Если дисплей переключен, чем вам мешает, что она будет продолжать подавать коды клавиш в ц/блок?

Что касается сигналов на разъеме: скачайте прогу ELSA с торрентов, там есть распиновка разъемов, я на свою машину там нашел. Либо осциллографом поищите: это должно быть не сложно.

crashmilan 27.05.2012 17:39

Цитата:

Сообщение от AngelOfGrief (Сообщение 222421)
Я понял теперь в чем суть вопроса. Честно говоря, решения я не вижу кроме как разобраться какой диалог происходит между ц/блоком и клавой MMI и повторить
его в своей проге.

А зачем отрубать клаву MMI от машины? Если дисплей переключен, чем вам мешает, что она будет продолжать подавать коды клавиш в ц/блок?

Что касается сигналов на разъеме: скачайте прогу ELSA с торрентов, там есть распиновка разъемов, я на свою машину там нашел. Либо осциллографом поищите: это должно быть не сложно.

Ну это понятно что нужно повторить сигнал через RX. Отрубать от машины мне нужно, т.к если не отрублю то регулировка громкости будет и на компе и на MMI ну и плюс постоянно что-то будет нажиматься в mmi, зачем, перенастроиться что-то случайно.

AngelOfGrief 28.05.2012 11:40

Учитывая то, что ц/блок и клава MMI все время общаются, не знаю как это реализовать.

crashmilan 28.05.2012 14:26

Цитата:

Сообщение от AngelOfGrief (Сообщение 222572)
Учитывая то, что ц/блок и клава MMI все время общаются, не знаю как это реализовать.

Решили сделать так. При подключении программа собирает лог из лога берет кусок который постоянно повторяется и его в дальнейшем пускает на блок. Лог я посмотрел данные повторяются. Не могут быть данный постоянно разные, какой в этом смысл.

AngelOfGrief 28.05.2012 15:43

Что ж, вариант. Но к чему такие сложности. :) Какие кстати параметры соединения у вас получились, такие же как у меня?

А вообще эта фича видимо сделана чтобы при потере связи с MMI клавой писать ошибку в диагностику.

crashmilan 28.05.2012 19:55

Цитата:

Сообщение от AngelOfGrief (Сообщение 222615)
Что ж, вариант. Но к чему такие сложности. :) Какие кстати параметры соединения у вас получились, такие же как у меня?

А вообще эта фича видимо сделана чтобы при потере связи с MMI клавой писать ошибку в диагностику.

А в чем сложности? может быть есть другие варианты? Пока я их не вижу. Есть только вариант второй, это сделать так чтобы программа фильтровала нажатия кнопки и вырезала из потока данных его.
Параметры да.

AngelOfGrief 28.05.2012 23:35

Правильнее разработать девайс на базе PIC с USB портом, эмулирующий клаву компа. Тогда и софт не нужен и к любому девайсу (например Андроид) можно подключить.

crashmilan 30.05.2012 23:06

Цитата:

Сообщение от AngelOfGrief (Сообщение 222663)
Правильнее разработать девайс на базе PIC с USB портом, эмулирующий клаву компа. Тогда и софт не нужен и к любому девайсу (например Андроид) можно подключить.

Подобное и делаем для любого дивайса но в основном для mmi кнопок.

crashmilan 31.05.2012 18:50

Где можно посмотреть распиновку MMI пульта на а6 с6? может у кого есть она?
Также может кто знает принцип работы mmi с пультом?

crashmilan 31.05.2012 19:36

Нашел видео того что мне нужно :) вот только как. http://www.youtube.com/watch?v=f4hnm9kIk2o

AngelOfGrief 31.05.2012 19:38

Коммерция что ле? :)

crashmilan 01.06.2012 19:54

Цитата:

Сообщение от AngelOfGrief (Сообщение 222976)
Коммерция что ле? :)

Нет для себя делаю

AngelOfGrief 02.06.2012 04:24

Тогда можно рассчитывать что вы поделитесь с нами результатами этой разработки? :)

crashmilan 02.06.2012 16:44

Цитата:

Сообщение от AngelOfGrief (Сообщение 223095)
Тогда можно рассчитывать что вы поделитесь с нами результатами этой разработки? :)

Рассчитывать всегда можно. Пока ничего хорошего не получается. Нашел немецкий форум где обсуждают данный вопрос http://www.car-pc.info/phpBB2/viewto...=asc&start=320
Но точной информации что и как делать там я не нашел. На данный момент у меня подключен MMI 4F1 919 611M к кабелю MA-8910P вот так:
SV1-8 - GND
SV1-7 - 12 V
SV1-15 - RX
SV1-16 - TX
Сигнал приходит постоянно один и тот-же (10 штук небольшой перерыв и опять 10 штук) 671A027DF2C5 я пробую посылать ему ответ 06, 10 02 70 12 10 03 A7, 10 02 70 10 10 03 B5 толку ноль сигнал какой шел от кнопок такой и идет. Вообще данная тема интересна не только для владельцев ауди с mmi но и просто людей у которых стоит carpc. Блок кнопок если понять алгоритм приема и отправки команд будет очень удобен в любой машине. Сейчас начал думать над тем что может быть сигнал не доходит должным образом или еще что-то т.к использую схему не ту которую да VS начальный источник Джовани с MAX а свою с PL2303.
Буду очень рад если кто-то что-то подскажет.

AngelOfGrief 03.06.2012 13:11

Дело в том, что например у меня никогда не было уверенности, что параметры порта правильные. В изначальной доке vS параметры были указаны другие, у меня с ними не заработало и я поставил свои, кажется другой тип parity - уже не помню точно. Возможно, ц/блок просто не читает то что вы ему посылаете. Еще уровни надо проверить осциллографом, там какая-то тема было вообще с инверсией, я ставил транзистор, но уже тоже не помню зачем.

А 12v зачем подключено?

crashmilan 03.06.2012 14:05

Цитата:

Сообщение от AngelOfGrief (Сообщение 223193)
Дело в том, что например у меня никогда не было уверенности, что параметры порта правильные. В изначальной доке vS параметры были указаны другие, у меня с ними не заработало и я поставил свои, кажется другой тип parity - уже не помню точно. Возможно, ц/блок просто не читает то что вы ему посылаете. Еще уровни надо проверить осциллографом, там какая-то тема было вообще с инверсией, я ставил транзистор, но уже тоже не помню зачем.

А 12v зачем подключено?

Я кнопки отключили от блока совсем, кнопкам нужно падать 12в что я и сделал, это есть в схеме.


Часовой пояс GMT +4, время: 17:09.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot