Новости:

W202club.su - русскоязычный форум клуба любителей и владельцев автомобилей Мерседес-Бенц с акцентом на C-класс в кузове W202.

Главное меню

Серебристая мечта 2.0 или с 202 на 210

Автор AlexV, 04 мая 2024, 22:53:18

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

AlexVАвтор темы

Часть 2.2 проекта. Заключительная.

Итак, к CAN-шине подключились, нужно теперь разобраться с протоколами обмена.
Информации в интернете примерно ноль - почему производитель не открывает протоколы CAN - загадка великая есть... Приходится обходится своими скромными силами.
Самая популярная бесплатная программка для анализа - CanHacker v2.00.02, которая умеет работать с CAN-шиной через адаптер. Для нее же есть библиотеки под ардуино, но там есть нюансы. Основное, что хотелось - подсветка изменения байтов пакета, а канхакер это не умеет. Оказывается не я такой один - нашел в инете несколько статей, где народ использует самописные программы, где реализована подсветка изменений.
Задача вроде простая - читать последовательный порт, получать с ардуино пакеты и отображать их на первом экране уникальным списком, а на другом - потоком. Ну и при изменении на секунду подсвечивать изменившиеся байты. Т.к. умею немного программировать - решил заморочиться. Потратив несколько вечеров и часть выходных получил море удовольствия очень даже годную поделку ))

Вот так выглядят сообщения CAN и журнал, где логируется поток сообщений (подсвечены изменившиеся байты при нажатии кнопки на руле и при выключании зажигания):
04_blink_btn.jpg 03_blink_in.jpg  02_message_journal.jpg

В результате захватывающего анализа было выясненно следующее:
Панель приборов (ПП) каждую секунду опрашивает магнитолу (М) сообщением:
262 08 A0 00 00 00 00 00 00 00
Если ответа нет, то кнопки руля не активны, а экран магнитолы показывает надпись AUDIO и прочерки.
Ожившая М шлет сообщение:
328 08 A0 00 00 00 00 00 00 00
После этого ПП раз в секунду шлет пинг:
262 08 A3 00 00 00 00 00 00 00
А М на него отвечает:
328 08 A1 00 00 00 00 00 00 00
Пока М активна (т.е. шлет ответы), ПП начинает посылать информацию о нажатых кнопках и очищает экран - далее за экран отвечает М.

Сообщения от нажатых кнопок:
262 08 AF 01 01 10 00 00 00 00 кнопка +
262 08 AF 01 01 20 00 00 00 00 кнопка -
262 08 AF 01 01 04 00 00 00 00 кнопка "вверх"
262 08 AF 01 01 08 00 00 00 00 кнопка "вниз"
262 08 AF 01 01 40 00 00 00 00 кнопка "снять трубку"
262 08 AF 01 01 80 00 00 00 00 кнопка "положить трубку"
При отпускании кнопки передается сообщение:
262 08 AF 01 01 00 00 00 00 00

Что бы заработали кнопки телефона - нужно активировать телефон в ПП стар-диагностикой.

Про вывод на экран писать не буду - это много и еще более нудно )
Возможно сделаю отдельную статью, где весь протокол опишу подробно, приложу скетчи, схемы и т.п. А может и не сделаю - время 210 уже почти прошло  :'(

По итогу управление получилось такое:
"+" - увеличение громкости. Долгое нажатие - вход в меню.
"-" - уменьшение громкости. Долгое нажатие - режим MUTE. Режим MUTE снимается коротким нажатием "+" или "-"
"положить трубку" - предыдущий трэк. Долгое нажатие - предыдущая папка и активация режима листания папок - пока режим активен, короткие нажатия листают папки.
"снять трубку" - следующий трэк. Долгое нажатие - следующая папка и активация режима листания папок.
"вверх" - следующая папка (кнопка работает, только если активен экран магнитолы)
"вниз" - предыдущая папка (кнопка работает, только если активен экран магнитолы)

И еще вычислил, что через тот же CAN поступает сигнал с даnчика скорости левого переднего колеса. Сообщение:
002 08 01 2B 00 00 00 00 00 00
В первых двух байтах передается видимо кол-во импульсов за секунду. Эксперементально установлено, что при делении на 16 получаем скорость в км/ч )
Это позволило сделать режим автоувеличения или автоуменьшения громкости в зависимости от скорости. Сделано три ступени - 50, 90 и 120 км/ч.

Основной экран магнитолы, режим mute и увеличение/уменьшение громкости:
05_scr_play.jpg 06_scr_mute.jpg 07_scr_+.jpg 08_scr_-.jpg

Листание треков или папок:
09_track_+.jpg 10_folder_+.jpg

Готовое устройство выглядит так:
14_device.jpg

На этом весеннее обострение можно считать законченным  :hihi:

З.Ы. Уже знаю, какой будет следующий проект - сделать ручное переключение передач с руля, как на формуле 1  8)
WDB2100611A955091

Витамин-С

Цитата: AlexV от 14 мая 2025, 21:50:33Уже знаю, какой будет следующий проект - сделать ручное переключение передач с руля, как на формуле 1
Берем поп-корн и садимся поудобнее :hihi:
Когда-нибудь снова буду владельцем Mercedes-Benz