Can bus decoder vw rz 08

Хакаем CAN шину авто. Мобильное приложение вместо панели приборов

Мобильное приложение VAG Virtual Cockpit

Мобильное приложение VAG Virtual Cockpit

Я продолжаю изучать CAN шину авто. В предыдущих статьях я голосом открывал окна в машине и собирал виртуальную панель приборов на RPi. Теперь я разрабатываю мобильное приложение VAG Virtual Cockpit, которое должно полностью заменить приборную панель любой модели VW/Audi/Skoda/Seat. Работает оно так: телефон подключается к ELM327 адаптеру по Wi-Fi или Bluetooth и отправляет диагностические запросы в CAN шину, в ответ получает информацию о датчиках.

По ходу разработки мобильного приложения пришлось узнать, что разные электронные блоки управления (двигателя, трансмиссии, приборной панели и др.) подключенные к CAN шине могут использовать разные протоколы для диагностики, а именно UDS и KWP2000 в обертке из VW Transport Protocol 2.0.

Программный сниффер VCDS

Программный сниффер VCDS: CAN-Sniffer

Программный сниффер VCDS: CAN-Sniffer

Чтобы узнать по какому протоколу общаются электронные блоки я использовал специальную версию 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

Обновление CAN-BUS Teyes

Инструкция по обновлению программного обеспечения CAN-BUS декодеров, применяемых в магнитолах Teyes.

CanBus-декодер Raise

Здесь собираю имеющуюся информацию по декодеру CAN-шины от производителя Raise. Имею в наличии модель для GM (Cobalt, Aveo, Cruze, R4). Ссылка на сайт производителя: http://www.szraise.com/gm-general-purpose-vehicle-system.html

Совместимость магнитол

Прошивки подходят для следующих моделей:

  • Teyes SPRO;
  • Teyes CC2;
  • Teyes SPRO+;
  • Teyes CC2+;
  • Teyes CC3;
  • Kingbeats K2+.

Где купить?

На момент обнаружения этого лота стоимость была следующей:

  • 615₽ — только кабель без CAN-декодера;
  • 724– только CAN-декодер;
  • 1260– весь комплект.

Помимо Cobalt и Ravon R4, коробочка по заверениям продавца совместима со следующими моделями:

  • Chevrolet Trax 2014–2016;
  • Chevrolet Cruze 2012–2016;
  • Chevrolet Aveo (sonic) 2012–2016;
  • Chevrolet Malibu 2013–2015;
  • Buick Regal 2011–2013.

Протокол 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)

Диагностические данные от двигателя по протоколу UDS (Skoda Octavia A7)

В моей машине (Skoda Octavia A5) приборка использует UDS протокол, это дало мне легкий старт разработки, т.к. данные были в простом формате Single Frame SF (фрейм, вся информация которого умещается в один CAN пакет) и большинство значений легко поддавались расшифровке. Volkswagen не дает документацию на формат значений, поэтому формулу расшифровки для каждого датчика приходилось подбирать методом логического мышления. Про UDS протокол очень хорошо и с подробным разбором фреймов написано на canhacker.ru.

Разбор UDS пакета в формате Single Frame

Разбор 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 Virtual Cockpit – экран с данными от приборной панели по протоколу UDS

Совместимость CAN-BUS декодеров

Следующие коробочки CAN-декодеров заявлены как совместимые:

Описание

В комплекте с магнитолой AllWinner T3 (одноплатная, аналогичные встречаются на МТ/АС8227L с такими же CAN-коробочками) помимо данного декодера шел динамик (Speaker), который подключается к зеленому и фиолетовому проводам коробочки. Но звуки поворотников исходят непосредственно с зумера изнутри декодера. Внешний динамик по факту не используется.

На автомобиле Chevrolet Cobalt / Ravon R4 работает следующий функционал:

  • Звуки поворотников;
  • Звуки непристегнутого ремня;
  • Звуки открытых дверей в движении;
  • Звук сброса показаний одометра;
  • Отображение температуры окружающей среды;
  • Отображение настроек климата (подогрев сидений);
  • Отображение статуса всех дверей + крышки багажника;
  • Настройки автомобиля.

В скрытых настройках тип декодера указан Raise, протокол 57 GM(Raise) и скорость передачи данных 38400.

Обмен данными между декодером и MCU магнитолы идет по UART, на скорости указанной выше. При получении сообщений в лог-кате Android появляются строчки с тегом canbusAirInfo, CAN_AIR_NEW, AAAAAAAAAAAA, mGmCanbusCarInfo и содержащие в себе строки: can type=GM_RAISE, before airDataPortingFromMcu, GM_RAISE, Util.getCanType()=GM_RAISE, mCanbusInfo[1]=50:

На последовательную передачу данных так же указывает распиновка разъема подключения коробки к магнитоле: используется два пина с наименованиями RX и TX:

В магнитоле Wanqi/YUEHOO YH-605 на SoC AllWinner T3 работа с CAN-BUS декодером производится посредством MCU. Со стороны операционной системы имеем midwareService.apk, в котором линкуется нативная библиотека JniBoda:

В конце com.hzbhd.midware.jni.JniBoda.JniBoda видим загрузку либы.

Именно от неё отталкивается вся дальнейшая работа и с MCU, и с CAN декодером. Диалог идет по UART. Порт (видимо GPIO?) получается методом getUartPort класса Hardware_Platform:

К сожалению, Hardware_Platform не шибко поддался декомпиляции, но зато в нем есть интересность. Весь этот сервис разработан не только для магнитол для T3, но и для T8, rk3399. Судя по условию, мой экземпляр проходит по T3 и по версии API 27, а значит его внутреннее имя — T3O_MR1:

В com.hzbhd.midware.jni.JniBoda.JniBodaUtil описываются методы для работы с UART.

Скачать файлы обновления

Актуальная версия ПО от 28 сентября 2021 года:

Старая версия ПО от 10 марта 2021 года:

Внешний вид

Лицевая сторона
Обратная сторона

Диагностический адаптер ELM327

Для меня некоторое время было вопросом, как получить данные из CAN шины и передать на телефон. Можно было бы разработать собственный шлюз с Wi-Fi или Bluetooth, как это делают производители сигнализаций, например Starline. Но изучив документацию на популярный автомобильный сканер ELM327 понял, что его можно настроить с помощью AT команд на доступ к CAN шине.

Копия диагностического сканера ELM327

Копия диагностического сканера 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 шине:

Инструкция по установке

Весь процесс “прошивки” представляет из себя установку четырех APK файлов. APK-файл — разновидность архива, служащая файлом установки программ на устройствах с операционной системой Android. Так что от пользователя каких-то сверх навыков не требуется.

Для начала скачиваем четыре APK файла, расположенные выше в этой статье. Делаем это либо на компьютере с последующим копированием на USB-флешку, либо же открываем данный сайт непосредственно на магнитоле.

Открываем меню приложений на нашей магнитоле Teyes:

Шаг первый — перейти в меню приложений

Среди всех программ находим файловый менеджер — Файлы. Открываем его:

Шаг второй — открываем файловый менеджер

Находим с его помощью заранее скачанные четыре APK файла:

Шаг 3 — находим расположение скачанных файлов обновления

Названия на скриншоте незначительно отличаются, но суть от этого не изменяется. Теперь нам нужно в строгой последовательности установить каждый из них:

CANBUS.apkMS.apkUpdate.apkUS.apk

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

В итоге остается просто перезагрузить устройство и вновь приступить к настройкам CAN-BUS декодера. Успехов!

Информация со стикера

P/N: GM-RZ-09
SW: VC0010
HW: GM-ND-0101
Ссылка в QR коде: http://weixin.qq.com/r/t0xpcb7EQuM9rfoS9xml
Китайские иероглифы осмысленно перевести не удалось.

Мобильное приложение VAG Virtual Cockpit

Для разработки мобильного приложения подключаемого к автомобилю требовалось:

Сниффером собрать трафик от диагностической утилиты VCDS

Изучить работу протоколов UDS, VW TP 2.0, KWP2000

Настроить диагностический сканер ELM327 на работу с UDS и VW TP 2.0

Изучить новый для меня язык программирования Swift

В итоге получилось приложение, которое сочетает в себе функции отображения точных данных панели приборов и диагностика основных параметров двигателя и трансмиссии.

Пару слов про точность данных. Штатная панель приборов не точно показывает скорость – завышает показания на 5-10 км/ч, стрелка охлаждающей жидкости всегда на 90 °C, хотя реальная температура может быть 80 – 110 °C, стрелка уровня топлива до середины идет медленно, хотя топлива уже меньше половины и при нуле на самом деле топливо еще есть в баке. Производитель это делает для удобства и безопасности водителя.

На данный момент приложение показывает следующие параметры:

Приборная панель

Двигатель

Трансмиссия (температура)

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.

7 ответов к «CanBus-декодер Raise»

А случаем не было противостояние для canbus hi world, ни где не могу найти, китайцы продавшие тупо дурку включают

А по VAN CAN в Пежо будет работать,как думаете?

Будьте любезны,- ссылочку на сайт покупки. буду признателен!

Добрый день!
На такой же магнитоле пропал доступ к настройкам авто и настройкам разработчика. Год все работало, потом пропало.
Заменил коробку кан бус, изменений нет. В чем может быть проблема? Какими приложениями осуществляется работа этих функций. Похоже что то слетело. Заодно пропала регулировка громкости с руля и выносного регулятора.
Джип Чероки.2014 год.

Пожалуйста если есть возможность дайте распиновку HYK-RZ-13 не могу подключить Teyes CC3 на КИА Соренто 2 2013 г ни где не могу найти.

Оцените статью
Рейтинг автора
4,8
Материал подготовил
Егор Новиков
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий