Я продолжаю изучать CAN шину авто. В предыдущих статьях я голосом открывал окна в машине и собирал виртуальную панель приборов на RPi. Теперь я разрабатываю мобильное приложение VAG Virtual Cockpit, которое должно полностью заменить приборную панель любой модели VW/Audi/Skoda/Seat. Работает оно так: телефон подключается к ELM327 адаптеру по Wi-Fi или Bluetooth и отправляет диагностические запросы в CAN шину, в ответ получает информацию о датчиках.
По ходу разработки мобильного приложения пришлось узнать, что разные электронные блоки управления (двигателя, трансмиссии, приборной панели и др.) подключенные к CAN шине могут использовать разные протоколы для диагностики, а именно UDS и KWP2000 в обертке из VW Transport Protocol 2.0.
Программный сниффер VCDS
Чтобы узнать по какому протоколу общаются электронные блоки я использовал специальную версию VCDS с программным сниффером в комплекте. В этот раз никаких железных снифферов на Arduino или RPi не пришлось изобретать. С помощью CAN-Sniffer можно подсмотреть общение между VCDS и автомобилем, чтобы затем телефон мог прикинуться диагностической утилитой и отправлять те же самые запросы.
Я собрал некоторую статистику по использованию диагностических протоколов на разных моделях автомобилей:
VW/Skoda/Seat (2006-2012) — приборная панель UDS. Двигатель и трансмиссия VW TP 2.0
Audi (2006-2012) — приборная панель VW TP 2.0. Двигатель UDS. Трансмиссия VW TP 2.0
VW/Skoda/Seat/Audi (2012-2021) — везде UDS
Видео:Что выбрать для диагностики VAG автомобилей Вася-OBDeleven-VAS5054-VAG CAN PRO-VCDS? Разбираемся!Скачать
Протокол UDS
Unified Diagnostic Services (UDS) — это диагностический протокол, используемый в электронных блоках управления (ЭБУ) автомобильной электроники. Протокол описан в стандарте ISO 14229-1 и является производным от стандарта ISO 14230-3 (KWP2000) и ныне устаревшего стандарта ISO 15765-3 (Diagnostic Communication over Controller Area Network (DoCAN)). Более подробно в википедии.
Диагностические данные от двигателя по протоколу UDS (Skoda Octavia A7)
В моей машине (Skoda Octavia A5) приборка использует UDS протокол, это дало мне легкий старт разработки, т.к. данные были в простом формате Single Frame SF (фрейм, вся информация которого умещается в один CAN пакет) и большинство значений легко поддавались расшифровке. Volkswagen не дает документацию на формат значений, поэтому формулу расшифровки для каждого датчика приходилось подбирать методом логического мышления. Про UDS протокол очень хорошо и с подробным разбором фреймов написано на canhacker.ru.
Разбор UDS пакета в формате Single Frame
Пример запроса и ответа температуры моторного масла:
Запрос температуры моторного масла:
7E0 — Адрес назначения (ЭБУ двигателя)
Байт 0 (0x03) — Размер данных (3 байта)
Байт 1 (0x22) — SID идентификатор сервиса (запрос текущих параметров)
Байт 2, 3 (0x11 0xBD) — PID идентификатор параметра (температура моторного масла)
Байт 4, 5, 6, 7 (0x55) — Заполнитель до 8 байт
Ответ температуры моторного масла:
7E8 — Адрес источника (Диагностический прибор)
Байт 0 (0x05) — Размер данных (5 байт)
Байт 1 (0x62) — Положительный ответ, такой SID существует. 0x22 + 0x40 = 0x62. (0x7F) — отрицательный ответ
Байт 2, 3 (0x11 0xBD) — PID идентификатор параметра (температура моторного масла)
Байт 4, 5 (0x0B 0x74) — значение температуры моторного масла (20.1 °C формулу пока что не смог подобрать)
Байт 6, 7 (0x55) — Заполнитель до 8 байт
Первая версия мобильного приложения VAG Virtual Cockpit умела подключаться только к приборной панели по UDS.
VAG Virtual Cockpit — экран с данными от приборной панели по протоколу UDS
Видео:Лучший сканер для автомобилей группы VAGСкачать
VW Transport Protocol 2.0
Volkswagen Transport Protocol 2.0 используется в качестве транспортного уровня, а данные передаются в формате KWP2000. Keyword Protocol 2000 — это протокол для бортовой диагностики автомобиля стандартизированный как ISO 14230. Прикладной уровень описан в стандарте ISO 14230-3. Более подробно в википедии.
Т.к. KWP2000 использует сообщения переменной длины, а CAN шина позволяет передавать сообщения не больше 8 байт, то VW TP 2.0 разбивает длинное сообщение KWP2000 на части при отправке по CAN шине и собирает заново при получении.
Диагностические данные от двигателя по протоколу KWP2000 (Skoda Octavia A5)
ЭБУ двигателя моей машины использует протокол VW TP 2.0, поэтому мне пришлось изучить его. Видимо Volkswagen разрабатывала транспортный протокол не только для работы по надежной CAN шине, но и для менее надежных линий связи, иначе нет объяснения для чего требуется такая избыточная проверка целостности данных. Главным источником информации по VW TP 2.0 является сайт https://jazdw.net/tp20.
Разбор протокола VW TP 2.0 на примере подключения к первой группе двигателя:
Читайте также: Что такое посадочный размер шины
Настраиваем канал с двигателем. Байт 0: 0x01 — двигатель, 0x02 — трансмиссия. Байт 5,4: 0x300 — адрес источника
Получили положительный ответ. Байт 5,4: 0x740 — к двигателю обращаемся по этому адресу
Настраиваем ЭБУ на отправку сразу 16 пакетов и выставляем временные параметры
Получили положительный ответ
Отправляем команду KWP2000 startDiagnosticSession. Байт 0: 0x10 = 0b0001 — последняя строка данных + 0x0 счетчик отправляемых пакетов 0 (0x0 — 0xF)
Получили положительный ответ. Байт 0: 0x10 — cчетчик принимаемых пакетов 0
Мы отправили первый ACK, что получили ответ
Делаем запрос. Байт 0: 0x11 — счетчик отправляемых пакетов 1. Байт 3: 0x21 — запрос параметров. Байт 4: 0x01 — из группы 1
300 22 00 1A 61 01 01 C8 13
Байт 0: 0x22 — 0b0010 (не последняя строка данных) + 0x02 (cчетчик принимаемых пакетов 2). Байт 1,2: 0x00 0x1A длина 26 байт. Байт 3,4: 0x61 0x01 — положительный ответ на команду запроса параметров 0x21+0x40=0x61 из 0x1 группы. Байт 5: 0х01 — Запрос RPM (соответсвует протоколу KW1281). Байт 6,7: (0xC8 * 0x13)/5 = 760 RPM (формула соответствует протоколу KW1281)
300 23 05 0A 99 14 32 86 10
Байт 1: 0x05 — запрос ОЖ. Байт 2,3: (0x0A * 0x99)/26 = 57.0 C. Байт 4: 0x14 = запрос лямбда контроль %. Байт 5,6: 0x32*0x86; Байт 7: 0х10 — двоичная настройка
300 24 FF BE 25 00 00 25 00
0x25 0x00 x00 — Заполнитель, до 8 параметров
300 15 00 25 00 00 25 00 00
Байт 0: 0x15 — 0b0001 (последняя строка данных) + 0x5 (счетчик принимаемых пакетов 5)
Отправляем ACK. Прибывляем к нашему предыдущему ACK количество полученных пакетов 0xB1 + 0x4 = 0xB5
Запрос KeepAlive, что мы еще на связи
ЭБУ в ответ тоже разрывает связь
Во второй версии мобильного приложения VAG Virtual Cockpit появилась возможность диагностировать двигатель и трансмиссию по протоколу VW TP 2.0.
VAG Virtual Cockpit — экран с данными от двигателя по протоколу VW TP 2.0
Видео:CAN шина👏 Как это работаетСкачать
Диагностический адаптер ELM327
Для меня некоторое время было вопросом, как получить данные из CAN шины и передать на телефон. Можно было бы разработать собственный шлюз с Wi-Fi или Bluetooth, как это делают производители сигнализаций, например Starline. Но изучив документацию на популярный автомобильный сканер ELM327 понял, что его можно настроить с помощью AT команд на доступ к CAN шине.
Копия диагностического сканера ELM327 Не все ELM327 одинаково полезны
Оригинальный ELM327 от компании elmelectronics стоит порядка 50$, в России я таких не встречал в продаже. У нас продаются только китайские копии/подделки, разного качества и цены 10-30$. Бывают полноценные копии, которые поддерживают все протоколы, а бывают и те которые умеют отвечать только на несколько команд, остальные игнорируют, такие адаптеры не имеют доступ к CAN шине. Я например пользуюсь копией Viecar BLE 4.0, который поддерживает 100% всех функций оригинала.
Для работы с протоколом UDS через ELM327 нужно указать адреса назначения, источника и разрешить длинные 8 байтные сообщения, по умолчанию пропускается максимум 7 байт.
Последовательность ELM327 AT команд для работы с UDS по CAN шине:
Для работы с протоколом KWP2000 через ELM327 нужно только указать адреса назначения и источника.
Последовательность ELM327 AT команд для работы с VW TP 2.0 по CAN шине:
Видео:Адаптер KKL VAG COM 409.1 - как сделать диагностику автомобиля своими рукамиСкачать
Мобильное приложение VAG Virtual Cockpit
Для разработки мобильного приложения подключаемого к автомобилю требовалось:
Сниффером собрать трафик от диагностической утилиты VCDS
Изучить работу протоколов UDS, VW TP 2.0, KWP2000
Настроить диагностический сканер ELM327 на работу с UDS и VW TP 2.0
Изучить новый для меня язык программирования Swift
Мобильное приложение VAG Virtual Cockpit для iOS
В итоге получилось приложение, которое сочетает в себе функции отображения точных данных панели приборов и диагностика основных параметров двигателя и трансмиссии.
Пару слов про точность данных. Штатная панель приборов не точно показывает скорость — завышает показания на 5-10 км/ч, стрелка охлаждающей жидкости всегда на 90 °C, хотя реальная температура может быть 80 — 110 °C, стрелка уровня топлива до середины идет медленно, хотя топлива уже меньше половины и при нуле на самом деле топливо еще есть в баке. Производитель это делает для удобства и безопасности водителя.
Читайте также: Заводские размеры шин ваз 2114
На данный момент приложение показывает следующие параметры:
Приборная панель
Трансмиссия (температура)
1) Какая дверь открыта
2) Скорость
3) Обороты
4) Температура масла
5) Температура ОЖ
6) Топливо в баке в л.
7) Запас хода в км.
8) Средний расход
9) Время в машине
10) Пробег
11) Температура за бортом
1) Обороты
2) Массовый расход воздуха
3) Температура забора воздуха
4) Температура выхлопа (рассчитанная)
5) Критический уровень масла
6) Уровень масла
7) Наддув турбины (реальный)
8) Наддув турбины (ожидаемый)
9) Пропуски зажигания в цилиндрах
10) Углы откатов зажигания в цилиндрах
1) ATF AISIN (G93)
2) DSG6 (G93)
3) Блок управления DSG6 (G510)
4) Масло диска сцепления DSG6 (G509)
5) Мехатроник DSG7 (G510)
6) Процессор DSG7
7) Диск сцепления DSG7
Я стремлюсь чтобы приложение поддерживало как можно больше моделей автомобилей. Пока что поддерживаются производители: Volkswagen, Skoda, Seat, Audi. На разных комплектациях могут отображаться не все параметры, но это поправимо.
Сейчас я провожу тестирование версии 3.0. Приложение доступно только на iOS, после релиза 3.0 перейду к разработке версии для Android.
Если интересно потестировать и есть желание принять участие в проекте, то установить приложение можно по ссылке. Также я веду бортжурнал на drive2.ru, где делюсь полезной информацией и новостями о VAG Virtual Cockpit.
О чем речь.
Большинство автомобилей имеют специальные диагностические разъемы, через которые может быть организован обмен данными между блоками управления автомобиля и специальным диагностическим оборудованием. В качестве оборудования может выступать обычный компьютер, подключаемый через специальный адаптер. Существуют разные компьютерные программы, с помощью которых можно получить сообщения об ошибках, прочесть данные с различных блоков и систем.
Без такой диагностики поиск и устранение неисправностей в современных автомобилях почти невозможен.
Простые диагностические операции может освоить каждый автолюбитель.
Зачем это нужно.
Экономить время, деньги и нервы.
Например, машина стала плохо ехать. Вы втыкаете компьютер, и видите, что расходомер воздуха выдает значения.. ну, скажем 10..40 вместо 10..150. Заказываете новый, и в удобное для себя время меняете его самостоятельно или с помощью любого слесаря. Или, к примеру, выявляете обрыв цепи датчика температуры. За пару минут все исправили.. Не пришлось звонить, записываться, терять полдня в дорогостоящем сервисе. А если учесть, что грамотных диагностов во всяких сервисах очень мало, иногда можно самостоятельно выявить и более сложные неисправности.
Но не все так просто, конечно. Для того чтобы знать, что делать, куда давить, куда смотреть, и что все это означает, нужно знать устройство автомобиля, разобраться с программой, кодами ошибок, процедурами проверки и т.д.
Но все же, даже примитивных операциях чтения ошибок, уже можно выиграть время и деньги.
* Идентификация блока управления автомобиля и его версии
* Диагностика систем: Двигателя, Трансмиссии, Подвески, Кузова, АБС, Подушек безопасности, Панели Приборов, Климат-контроля и т.д.
* Отображение текущих параметров (значения, графическое представление, схема расположения узлов)
* Чтение и стирание текущих и сохраненных кодов ошибок
* Кодирование и программирование блоков управления
* Адаптация компонентов
* Управление исполнительными механизмами
* Сброс сервисных интервалов
* Включение некоторых функций в наших автомобилях, которые заложены и не используются
* Включение новых функций которые можно использовать после проведения необходимых подготовительных работ (замены оборудования, прокладки кабелей, добавления новых блоков)
1) Оригинальный кабель Ross-Tech, с программой VCDS
Описание: Программно-аппаратный сканер VCDS ( ранее поставлялся под торговой маркой VAG-COM ) предназначен для диагностики электронных систем управления , устанавливаемых на автомобилях группы VAG ( Audi , Volkswagen , SEAT, Skoda ). Доступ ко всем системам (Двигатель, АКП, АБС , Климат-контроль, Кузовая электроника и т.п.), используемых на автомобилях VAG. С точки зрения режимов работы , сканер поддерживает все функции , доступные дилерским приборам VAG-1551, VAG -1552 , VASS-5052 , VASS-5051 (считывание и стирание кодов неисправностей, вывод текущих параметров, активация, базовые установки, адаптация, кодирование и т.п.) В настоящее данный прибор можно приобрести в официальной русифицированной версии.
Программу VCDS, можно скачать бесплатно, есть русская версия.
Совместимость: Автомобили с 1995 года, по текущее время.
Обновляется ли прошивка кабеля: Да
Особенности: Оригинальный диагностический кабель, собственно все остальные существующие версии диагностических кабель VAG-COM, это клоны кабеля именно этого производителя.
Цена: $199.00 – $299.00, за самую дешевую версию. Версия за $199.00, на 3 VIN номера, версия за $299.00 на 10 VIN номеров.
Где купить: На Официальном сайте производителя .
Читайте также: Размер шин ниссан кашкай 2020 года выпуска
2) Вася диагност PRO
Описание: Русский клон кабеля Ross-Tech .Наверное самый качественный русскоязычный клон, который продается в России. По заверению производителя, сделан на качественных компонентах. Обещают поддержку и обновления.
Совместимость: Все современные авто.
Обновляется ли прошивка кабеля: Да
Особенности: Хороший, если не жалко денег. Купил по сути- и забыл о проблемах.
Программа используемая для диагностики- свой русскоязычный клон программы VCDS.
Цена: 6000 рублей. Можно найти со скидкой, за 5000 рублей.
Где купить: Здесь
3) Вася диагност 1.1
Описание: Диагностический KKL-USB адаптер применяется для диагностики по K- L- KL- линиям автомобилей Audi, Volkswagen, Skoda, Seat, ВАЗ, ГАЗ, и др., используя свободно распространяемое программное обеспечение.
Совместимость: Авто определенного года выпуска, а именно:
Audi: A2 (’00-’05); A3 (’97-’03); A4 (’95-’04); A6 (’98-’05); A8 (’94-’03); TT (’99-06′);
Volkswagen: Caddy (’96-’03); Golf (’94-’03); Lupo (’99-’06); Beetle (’98-’10’); Polo (’95-’09); Passat (’94-’05); Phaeton (’02-’06); Sharan (’96-’10); Touareg (’03-’06); Transporter (’96-’09);
Skoda: Fabia (’96-’10); Felicia (’97-’01), Octavia A4 (’97-’11); Roomster (’06-’10); Superb (’02-’07);
Seat: Almambra (’96-’10); Arosa (’97-’04); Ibiza (’96-’09); Inca (’96-’03); Leon (’96-’05).
Обновляется ли прошивка кабеля: Нет
Особенности: Не обновляемый кабель, для диагностики старых моделей авто.
Отдельная версия программы для диагностики.
Существует еще множество клонов KKL кабелей, но по сути, все похожи.
Цена: Около 1200 рублей
Где купить: Здесь
4) Белорусский Вася Диагност
Описание: ВАСЯ диагност 17.12.0 (VCDS 17.12.0) — белорусский аналог лицензионного комплекса ВАСЯ Диагност.
Совместимость: Автомобили группы VAG, произведенные в период с 1988 по 2018 год.
Обновляется ли прошивка кабеля: Нет
Особенности: Качественный не обновляемый кабель, по сути клон Вася Диагноста.
Цена: 3500-3800 рублей
Где купить: Например Здесь
4) Супер VAG
Описание: Прибор предназначен для диагностики автомобилей группы VAG начиная с первых марок и заканчивая автомобилями с шиной данных CAN и современными протоколами UDS, используемыми для диагностики. Работает через USB порт. Полное название – VCDS: это то, во что вырос VAG-COM.
Совместимость: Поддерживаются все автомобили концерна VAG, выпущенные до сегодняшнего дня:
Обновляется ли прошивка кабеля: Да
Особенности: Тоже русскоязычный клон оригинального адаптера, от другой фирмы. Как Вася диагност, только дешевле.
Цена: 4500
Где купить: Здесь
4) Многочисленные китайские клоны VCDS
Описание: Очень много всевозможных версий, разного качества. На мой взгляд, лучше всего покупать те, которые работает с программой VCDS. Если в комплекте, будет китайская программа со своим интерфейсом, то все зависит от того, насколько эту программу правильно «сделали». По отзывам, некоторые функции через такие программы, может не получиться активировать.
Совместимость: Обычно, в описании кабелей подробно написанно. Главное, не перепутать с кабелем которые работают по KKL линии(по принципу работы, аналоги Вася диагност 1.1).
Обновляется ли прошивка кабеля: Нет
Особенности: По сути, эти кабеля, можно сравнить с Белорусским Вася Диагностом. Качество разное бывает.
Цена: Около 1400 рублей, при заказе из Алиэкспресса
Где купить: Например, в этом магазине . На алиэкспрессе, десятки магазинов, торгующий одними и теми же кабелями, даже ставят одну и ту же картинку. Все зависит, от рейтинга магазина.
Приблизительная строка для поиска на алиэкспрессе: VCDS VAG COM VAGCOM HEX CAN USB Interface FOR VW AUDI Skoda Seat VAG
4) Группа адаптеров ELM327
Описание: Функциональные возможности:
— Считывает диагностические коды ошибок и расшифровывает их значение. В базе данных приведено более 3000 кодов различных ошибок;
-Производит очистку ошибок и выключает надпись «Check Engine» на приборной панели;
— Получает данные с различных датчиков в режиме реального времени, что позволяет адаптеру выполнять роль маршрутного компьютера.
Совместимость: Все протоколы OBD II, CAN.
Особенности: Это не VAG-COM, работать через VCDS и включать/ выключать функции в машине, проблематично. Устройство для базовой диагностики, считывания и сброса кодов ошибок, и например, можно писать машрут с оборотами двигателя и другими значениями.
Беспроводную версию, можно вставить в диагностический разьем, вставить и уже не вынимать.
Бывают версии работающие по USB(ПК),WI-FI(Андроид,IOS и ПК), Bluetooth(Андроид и ПК).
Цена: Около 850 рублей
Программа для использования: Программы для использования с ELM327, в отдельной статье
Где купить: Конкретно, адаптер Emitron 0001 проверен в деле, отлично работает. Можно найти еще дешевле, рублей по 400, адаптеры с Алиэкспресса.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
💡 Видео
K-line адаптер VAG COM 409.1 на чипе FTDI , диагностика Chevrolet Aveo.Скачать
VAG K+CAN Универсальный адаптер для ВАЗСкачать
Адаптер для диагностики авто | Какой выбрать?Скачать
Экспресс диагностика CAN шины на автомобиле. №21Скачать
Настройка can шины магнитолы андроид vw volkswagen vagСкачать
Компьютерная диагностика авто. K-линия и CAN шинаСкачать
Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.Скачать
Познаём ВАСЮ (VAG-COM / VCDS), ч.1: как нас обманывают. И активируем TPMS II правильноСкачать
CAN - шина в Passat B5 1997 годаСкачать
Эмулятор Can bus для магнитол VAGСкачать
CAN-Bus адаптер для VW Audi Seat Skoda Peugeot Citroen Mercedes BMW Ford - магнитола будет работать!Скачать
Включение панели приборов VW / Audi / Skoda на столе. VAG instrument cluster Switch-ON by CAN busСкачать
VAG-K+CAN подключение и настройкаСкачать
Volkswagen Turan проблемы с CAN-шинойСкачать
Диагностика VW Touran 2005m.y. BKD с помощью VAG K+Can Commander 1.4 и Cascade 0.9.4.Скачать
поиск нерабочей can шины, часть дваСкачать