Can hacker анализ шины can

Can hacker анализ шины can

В первой статье «Хакаем CAN шину авто для голосового управления» я подключался непосредственно к CAN шине Comfort в двери своего авто и исследовал пролетающий траффик, это позволило определить команды управления стеклоподъемниками, центральным замком и др.

В этой статье я расскажу как собрать свою уникальную виртуальную или цифровую панель приборов и получить данные с любых датчиков в автомобилях группы VAG (Volkswagen, Audi, Seat, Skoda).

Мною был собран новый CAN сниффер и CAN шилд для Raspberry Pi на базе модуля MCP2515 TJA1050 Niren, полученные с их помощью данные я применил в разработке цифровой панели приборов с использованием 7″ дисплея для Raspberry Pi. Помимо простого отображения информации цифровая панель реагирует на кнопки подрулевого переключателя и другие события в машине.

В качестве фреймворка для рисования приборов отлично подошел Kivy для Python. Работает без Иксов и для вывода графики использует GL.

  1. CAN сниффер из Arduino Uno
  2. Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)
  3. Разработка панели приборов на основе Raspberry Pi и 7″ дисплея
  4. Софт панели приборов на Python и Kivy (UI framework)
  5. Видео работы цифровой панели приборов на базе Raspberry Pi

Под катом полная реализация проекта, будет интересно!

Can hacker анализ шины can

Водительская дверь открыта

Содержание
  1. CAN сниффер из Arduino Uno
  2. Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)
  3. Разработка панели приборов на основе Raspberry Pi и 7″ дисплея
  4. Софт панели приборов на Python и Kivy (UI framework)
  5. Видео работы цифровой панели приборов на базе Raspberry Pi
  6. Приложение на телефон Виртуальная панель приборов
  7. CAN Coder
  8. Внимание!
  9. Основные функции программы:
  10. Список автомобилей на которых проводилось тестирование
  11. Автомобили на который требуется подключение к шине CAN-FD и использование интерфейса CAN-Hacker CH-P FDL
  12. Описание программы
  13. Вкладка Interface
  14. Для начала работы необходимо:
  15. Вкладка CLU – панель приборов
  16. Выпадающий список CLU Type
  17. Блок Odometer Calibration
  18. Блок EOL Variant coding
  19. Работа с EEPROM панелей приборов
  20. Блок Service functions
  21. Вкладка BCM. Работа с блоком комфорта
  22. ВАЖНО
  23. Пример подключения к модулю ICU автомобилей Sorento MQ4 и Carnival KA4
  24. Подключение к панелям приборов на рабочем столе
  25. 📸 Видео

CAN сниффер из Arduino Uno

Чтобы послушать, что отправляет VCDS в CAN шину я собрал сниффер на макетке из Arduino и модуля MCP2515 TJA1050 Niren.

Can hacker анализ шины can

Схема подключения следующая:

Для прослушивания трафика использовал анализатор CanHackerV2 и прошивку arduino-canhacker для Arduino, которая реализует API совместимое с этой программой. Прошивка в гите https://github.com/autowp/arduino-canhacker.

CanHackerV2 позволяет смотреть пролетающий трафик, записывать и проигрывать команды с заданным интервалом, что очень сильно помогает в анализе данных.

Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)

Описание VCDS с официального сайта ru.ross-tech.com:

Программно-аппаратный сканер VCDS предназначен для диагностики электронных систем управления, устанавливаемых на автомобилях группы VAG. Доступ ко всем системам: двигатель, ACP, АБС, климат-контроль, кузовая электроника и т.п., считывание и стирание кодов неисправностей, вывод текущих параметров, активация, базовые установки, адаптация, кодирование и т.п.

Can hacker анализ шины can

Подключив сниффер к линиям CAN_L и CAN_H в диагностическом шнурке я смог увидеть какие запросы делает VCDS и что отвечает авто.

Can hacker анализ шины can

Особенность авто группы VAG в том, что OBD2 разъем подключен к CAN шине через шлюз и шлюз не пропускает весь гуляющий по сети трафик, т.е. подключившись в OBD2 разъем сниффером вы ничего не увидите. Чтобы получить данные в OBD2 разъёме нужно отправлять шлюзу специальные запросы. Эти запросы и ответы видно при прослушивании трафика от VCDS. Например вот так можно получить пробег.

В VCDS можно получить информацию почти с любого датчика в машине. Меня в первую очередь интересовала информация, которой вообще нет на моей приборке, это:

  • температура масла
  • какая именно дверь открыта

Скорость, обороты, температура ОЖ, пробег, расход, место в баке и другие запросы я тоже получил, для справки размещу.

Разработка панели приборов на основе Raspberry Pi и 7″ дисплея

В качестве аппаратной части я выбрал Raspberry Pi. Была идея использовать Android планшет, но показалось, что на Raspberry Pi будет проще и быстрее. В итоге докупил официальный 7″ дисплей, и сделал CAN шилд из модуля TJA1050 Niren.

Can hacker анализ шины can

OBD2 штекер использовал от старого ELM327 адаптера.

Can hacker анализ шины can

Используются контакты: CAN_L, CAN_H, +12, GND.

Тесты в машине прошли успешно и теперь нужно было все собрать. Плату дисплея, Raspberry Pi и блок питания разместил на куске черного пластика, очень удачно подобрал пластмассовые втулки, с ними ничего не болтается и надежно закреплено.

Читайте также: Шины для peugeot 2008

Can hacker анализ шины can

Местом установки выбрал бардачок на торпедо, которым я не пользуюсь. По примеркам в него как раз помещается весь бутерброд.

Can hacker анализ шины can

Напильником довел лист черного пластика до размера крышки бардачка, к нему прикрепил бутерброд и дисплей. Для прототипа сойдет, а 3D модель с крышкой для дисплея и всеми нужными крепежами уже в разработке.

Can hacker анализ шины can

Софт панели приборов на Python и Kivy (UI framework)

Параллельно со сборкой самой панели приборов я вел разработку приложения для отображения информации с датчиков. В самом начале я не планировал какой либо дизайн.

Первая версия панели приборов

По мере разработки решил визуализировать данные более наглядно. Хотел гоночный дизайн, а получилось, что-то в стиле 80-х.

Вторая версия панели приборов

Продолжив поиски более современного дизайна я обратил внимание какие цифровые приборки делают автопроизводители и постарался сделать что-то похожее.

Третья версия панели приборов

Ранее, я никогда не разрабатывал графические приложения под Linux поэтому не знал с чего начать. Вариант на вебе простой в разработке, но слишком много лишних компонентов: иксы, браузер, nodejs, хотелось быстрой загрузки. Попробовав Qt PySide2 я понял, что это займет у меня много времени, т.к. мало опыта. Остановился на Kivy — графический фреймворк для Python, простой в понимании с полной библиотекой графических элементов и дающий возможность быстро создать мобильный интерфейс.

Kivy позволяет запускать приложение без Иксов, прямо из консоли, в качестве рендера используется OpenGL. Благодаря этому полная загрузка системы может происходить за 10 секунд.

Алгоритм работы следующий, используется 3 потока:

  1. В главном потоке работаем с графическими элементы (спидометр, тахометр, часы, температуры и др) на экране
  2. Во втором потоке каждые 5 мс делаем опрос следующего датчика
  3. В третьем потоке слушаем CAN шину, получив ответ парсим его и обновляем соответствующий графический элемент

Работает стабильно, самый долгий процесс в разработке был связан с рисованием дизайна. На данный момент обкатываю решение и потихоньку пишу мобильное приложение для iOS, чтобы любой мог попробовать цифровую панель приборов.

Проект цифровой панель приборов открытый. Рад буду предложениям и комментариям!

Видео работы цифровой панели приборов на базе Raspberry Pi

Приложение на телефон Виртуальная панель приборов

Для телефона написал приложение — виртуальная панель приборов, данные от машины передаются через ELM327 Wi-Fi адаптер. Адаптер подключается в OBD2 разъем, делает запросы по CAN шине и возвращается ответы в приложение по Wi-Fi.

Приложение VAG Virtual Cockpit уже в AppStore. Пока, что только под iPhone/iPad, но Android версия планируется. Приложение решил сделать платным с минимальной символической стоимостью.
Если есть желание поддержать проект, то вот ссылка на приложение, принимаю любые замечания и предложения!
VAG Virtual Cockpit

Видео:Анализ CAN-шины Гранта. CAN-hacker.Скачать

Анализ CAN-шины Гранта. CAN-hacker.

CAN Coder

Can hacker анализ шины can

Видео:Анализ CAN шины автомобиля адаптер Канхакер-avto100Скачать

Анализ CAN шины автомобиля адаптер Канхакер-avto100

Внимание!

Перед работой с CAN-Coder убедитесь что используете актуальную прошивку!

Программное обеспечение CAN Coder служит для программирования блоков управления автомобилей марок KIA\HYUNDAI.
CAN Coder это дополнительно приобретаемая опция для интерфейсов:

и базовая для CH-OBD.M02+Coder.

Если CAN-Coder приобретен отдельно от интерфейса, то необходимо произвести его активацию. Активация опции проводится при помощи программы UBT согласно инструкции на ваш интерфейс. Ключ активации предоставляется при покупке опции.

Если CAN-Coder приобретен в нашем магазине в составе интерфейса CH-OBD.M02+Coder или совместно с другим интерфейсов поддерживающим данную опцию, то активировать CAN-Coder не нужно. Мы сами производим активацию перед отправкой интерфейса клиенту.

Видео:Подробно про CAN шинуСкачать

Подробно про CAN шину

Основные функции программы:

1. Кодирование EOL панелей приборов для автомобилей выпущенных с 2016 г. в.
2. Программирование типа сервисного обслуживания, расстояния и времени до сервисного обслуживания (с 2016).
3. Калибровка пробега для панелей приборов производства VDO / Continental.
4. Программирование пользовательских настроек BCM для автомобилей с 2018 г. в. (BCM должен поддерживать диагностику по CAN шине)

Читайте также: Монтаж шины медной фер

Видео:CAN-Hacker Как искать пакеты в CAN шине на примере Toyota Prius-C AquaСкачать

CAN-Hacker Как искать пакеты в CAN шине на примере Toyota Prius-C Aqua

Список автомобилей на которых проводилось тестирование

  • HYUNDAI Tucson 2015…2020 (OBD2)
  • HYUNDAI Сreta 2016…2020 (OBD2)
  • HYUNDAI Solaris 2010…2021 (OBD2)
  • HYUNDAI Genesis 2018…2019 (OBD2\C-CAN)
  • HYUNDAI G70 2018…2019 (OBD2\C-CAN)
  • HYUNDAI Sonata LF OBD2, только панели 94001C2000
  • Hyundai Sonata DN8 2021 (требуется прямое подключение к C-CAN)
  • KIA Ceed 2012…2018 (OBD2)
  • KIA Optima\K5 2012 (OBD2)
  • KIA Optima\K5 JF4 2016…2021 (OBD2\ с 2021г. C-CAN)
  • KIA Optima\K5 DL3 2020…2021 (требуется прямое подключение к C-CAN )
  • KIA Rio 2018…2021 (OBD2)
  • KIA Sportage 2010…2018 (монохромная панель OBD2)
  • KIA Sorento Prime (панели приборов VDO\Continental, OBD2 )
  • KIA Stinger (C-CAN)
  • KIA Soul 2, 3 (только панели VDO\Continental, OBD2)
  • KIA Soul EV (OBD2) первое поколение

Для автомобилей: Hyundai Tucson, Hyundai Sonata DN8, KIA Optima JF, KIA Sportage IV (монохром), KIA Soul EV, KIA Stinger доступен пакет специальных утилит для программирования региональных настроек, Limiter, ActiveHood и других систем в зависимости от типа, серийного номера и версии прошивки панели приборов. Это дополнительный функционал и его совместимость со всеми типами панелей приборов не гарантируется. Важно знать, что языковые настройки так же могут зависеть от настроек мультимедийной или навигационной системы и программное обеспечение этих систем так же требует изменения.

Видео:Arduino CAN Hacker, CAN Monitor, CAN Sender разбор вопросовСкачать

Arduino CAN Hacker, CAN Monitor, CAN Sender разбор вопросов

Автомобили на который требуется подключение к шине CAN-FD и использование интерфейса CAN-Hacker CH-P FDL

  • KIA Sorento MQ4 Бензин. Простая панель приборов (E-CAN)
  • KIA Sorento MQ4 Бензин. Панель приборов ЖК SuperVision (E-CAN)
  • KIA Sorento MQ4 Гибрид. Панель приборов ЖК SuperVision (E-CAN)
  • KIA Carnival KA4. Панель приборов ЖК SuperVision (E-CAN). Только EOL
  • HYUNDAI Tucson NX4. Панель приборов ЖК SuperVision (E-CAN). Только EOL

Видео:Как работает чтение и запись EEPROM по CAN. Базовый принцип.Скачать

Как работает чтение и запись EEPROM по CAN. Базовый принцип.

Описание программы

Вкладка Interface

Can hacker анализ шины can

  • Выпадающий список COM port – выбор порта к которому подключен интерфейс
  • Connect\Disconnect – кнопка подключения к интерфейсу
  • Чек бокс 120 Ohm – Требуется установить при подключении к панели приборов на столе. Подключает терминатор 120 Ом на шину CAN. (активен для интерфейсов CAN-Hacker CH-P FDL)
  • Log – окно с логом выполненных операций.
  • Clear – кнопка очистки лога.

Для начала работы необходимо:

  1. В выпадающем списке COM Port выбрать порт
  2. Нажить кнопку Connect. Убедиться что в строке Mode отображается режим coder
  3. Подключить интерфейс к автомобилю\панели приборов или шине CAN.
  4. Подать питание на панель приборов или включить зажигание.

Вкладка CLU – панель приборов

Can hacker анализ шины can

  • Кнопка CAN Test – проверка связи с панелью приборов.
  • Кнопка Get Idents – получить серийный номер и версию прошивки панели приборов

Выпадающий список CLU Type

Задает тип панели приборов с которой будет вестись работа.

Доступные варианты панелей приборов:

  • CLU before 2013 ext EEPROM 24C16 – Панели приборов с внешней EPPROM выпуска до 2013 года. (Например Solaris 1, Sportage 3 дорестайлинг)
  • CLU after 2013 ext EEPROM 24C16 – Панели приборов с внешней EEPROM после 2013. (Например Solaris 1 , Sportge 3)
  • CLU after 2015 w\o ext EEPROM – Большинство панелей приборов KIA\HYUNDAI производства Continental\VDO. (Tucson 3, Sportage 4, Rio с 2018, Solaris с 2018, Ceed JD Supervision, Optima NF4, Creta, Stinger, Genesis G70 и ряд других )
  • CLU Color YAZAKI Sportage – Sportage 4 с цветной панелью приборов. Поддерживаются панели только первых выпусков.
  • CLU Continental CAN-FD – Панели приборов программируемые по шине CAN-FD. (KIA Sorento MQ4, KIA Carnival KA4, Hyundai tucson NX4. Опция активна только для интерфейсов CAN-Hacker CH-P FDL)

Читайте также: Стандартный размер шин для нивы

Блок Odometer Calibration

  • Get ODO – кнопка чтения текущего пробега
  • Set ODO – кнопка программирования пробега заданного в поле слева

Калибровка одометра доступна только для панелей приборов производства VDO\Continental.

Блок EOL Variant coding

  • Get EOL – кнопка чтения текущего кода EOL. Прочитанное значение кода EOL отобразится в логе слева, а флаги активированных функций в блоке Variant coding будут отмечены.
  • Set EOL – кнопка записи кода EOL согласно установленным флагам в блоке Variant coding.
  • 2 Bytes EOL set – кнопка записи кода EOL в виде двухбайтового шестнадцатиричного значения.

Вариантное кодирование возможно осуществлять как и через диагностический разъем OBD2 так и при непосредственному подключению к CAN шине панели приборов (CAN-C). На ряде автомобилей с 2019 года выпуска кодирование EOL возможно только при подключении к шине CAN-C, ввиду блокировки операции со стороны межсетевого интерфейса ICU.
Для того чтобы осуществить вариантное кодирование EOL необходимо нажать кнопку Get EOL для чтения текущего кодирования, а затем удалив или установив флаги напротив необходимых систем автомобиля и нажать кнопку Set EOL.
На некоторых автомобилях начиная с 2014 года осуществить кодирование можно, но функция чтения текущего кода EOL не доступна. В этом случае необходимо сразу установить флаги напротив всех необходимых систем и нажать Set EOL.

Работа с EEPROM панелей приборов

Функция чтения и записи EEPROM доступна только для панелей приборов производства VDO\Continental.

  • Кнопки Read EEPROM и Write EEPROM служат для чтения и записи содержимого EEPROM панели приборов.
  • Кнопка Write value to EEPROM cell – служит для записи любого значения в ячейку EEPROM по заданному адресу. Значение ячейки и адрес задаются в соответствующих полях выше.

Блок Service functions

  • Кнопка RESET – перезапуск панели приборов. Необходимо нажимать после операций программирования, для того чтобы изменения вступили в силу.
  • Кнопка Lamp Test – включение всех индикаторов на панели приборов на несколько секунд.
  • Кнопки Get DTC\Clear DTC – чтение и стирание текущих ошибок.

Видео:CAN HACKER обзорчик - первый опыт и плюсик в Orange5Скачать

CAN HACKER обзорчик - первый опыт и плюсик в Orange5

Вкладка BCM. Работа с блоком комфорта

Can hacker анализ шины can

Работа с блоком комфорта – BCM возможна только в том случае, если он поддерживает диагностику по CAN шине. Такие блоки BCM начали устанавливаться на автомобилях KIA\Hyundai премиум класса с конца 2016 года (например KIA Optima). А на автомобилях класса KIA Rio – Hyundai Solaris с 2018 года.

Видео:Arduino CanHacker Lowicel (дружим Ардуино с программой CanHacker)Скачать

Arduino CanHacker Lowicel (дружим Ардуино с программой CanHacker)

ВАЖНО

Начиная с 2019 года на автомобили KIA\HYUNDAI стали устанавливать модуль межсетевого интерфейса – ICU. Модуль ICU блокирует работу функций конфигурирования автомобиля без предоставления крипто-сертификата. По состоянию на 2021 год модуль ICU не устанавливается только на самые простые модели, такие как Solaris и Rio.

В случае если автомобиль оборудован модулем ICU, то необходимо подключаться либо непосредственно к снятой с автомобиля панели приборов, либо к тому участку сети CAN который подключен к панели приборов. Этот участок сети называется “C-CAN”, а для автомобилей оборудованных шиной CAN-FD – “E-CAN”.

Подключиться к необходимым участкам CAN сети можно на самом модуле ICU, находящимся за защитой над левой ногой водителя.

Пример подключения к модулю ICU автомобилей Sorento MQ4 и Carnival KA4

Разъем -H
31 CAN (FD) High
З2 (крайний) CAN (FD) Low

Can hacker анализ шины can

Видео:CANbus Gateway mode. Режим CAN шлюза на CAN-HackerСкачать

CANbus Gateway mode. Режим CAN шлюза на CAN-Hacker

Подключение к панелям приборов на рабочем столе

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

Can hacker анализ шины can

Can hacker анализ шины can

Для самостоятельного подключения используйте следующее назначение контактов. Эта схема актуальна для большинства панелей приборов KIA\HYUNDAI с 2015 года.

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

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле
    • Правообладателям
    • Политика конфиденциальности

    Автоподбор © 2023
    Информация, опубликованная на сайте, носит исключительно ознакомительный характер


    📸 Видео

    Поиск уровня топлива в CAN шине Toyota Camry 2017Скачать

    Поиск уровня топлива в CAN шине Toyota Camry 2017

    CAN шина👏 Как это работаетСкачать

    CAN шина👏 Как это работает

    LIN шина - пример работы. LIN bus exampleСкачать

    LIN шина - пример работы. LIN bus example

    CanHacker из 2CAN модуля своими руками КанХакер подробно в деталяхСкачать

    CanHacker из 2CAN модуля своими руками КанХакер подробно в деталях

    Renault Kaptur CAN bus CAN шинаСкачать

    Renault Kaptur CAN bus  CAN шина

    Как CanHacker , но дешевле от CDEBYTEСкачать

    Как CanHacker , но дешевле от CDEBYTE

    Экспресс диагностика CAN шины на автомобиле. №21Скачать

    Экспресс диагностика CAN шины на автомобиле. №21

    Can Hacker. Краткий обзорСкачать

    Can Hacker. Краткий обзор

    Оживление по шине LIN блока кнопок стеклоподъемников от Mercedes Benz W220Скачать

    Оживление по шине LIN блока кнопок стеклоподъемников от Mercedes Benz  W220

    Пример работы с протоколом J1939Скачать

    Пример работы с протоколом J1939
Поделиться или сохранить к себе:
Технарь знаток