На смену классическим автомобильным приборам приходят цифровые панели. Наверное, самая популярная машина с такой панелью — это Tesla с ее внушительным сенсорным дисплеем. На нем можно следить за маршрутом, управлять музыкой и видеть диагностическую информацию. А знаешь ли ты, что в бюджетных авто используются те же электронные блоки? Информацию с них можно считать и показать. Давай попробуем это сделать.
Семнадцатидюймовый сенсорный дисплей Tesla
Семнадцатидюймовый сенсорный дисплей Tesla

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

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

Электронные блоки
Электронные блоки

Чем дороже машина, тем больше полезной информации отображается на штатном бортовом компьютере.

 

Изучение возможностей

В современных автомобилях используется шина СAN для связи датчиков, кнопок, исполнительных устройств и блоков управления. Каждый датчик, который передает информацию, в каждом сообщении указывает свой ID. Все другие устройства на шине видят эти сообщения и сами решают, реагировать на них или нет.

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


Чтобы получить информацию о работе систем автомобиля, нужно подключиться к CAN. Есть несколько способов подключения.

  1. Подключиться непосредственно к проводам внутри машины. Этот способ требует частичной разборки авто.
  2. Подключиться в диагностический разъем OBD2.

В автомобилях группы VAG (Volkswagen, Audi, Škoda, Seat) разъем OBD2 подключен к шине CAN через шлюз: прямого доступа к ней нет. Это означает, что если попытаться послушать команды в разъеме OBD2, то ничего не получится. Шлюз не пропускает команды из основной сети в диагностический разъем. Но есть официальный диагностический комплекс VCDS, который позволяет через OBD2 видеть все датчики, читать ошибки и настраивать оборудование.

Работает он просто: VCDS для каждого датчика запрашивает у шлюза информацию о его состоянии; когда шлюз получает ее, он передает информацию в OBD2.


Итак, если подслушать, что запрашивает VCDS, можно будет получить список команд для опроса датчиков.

 

Сниффер шины CAN

На основе Arduino Uno и модуля TJA1050 Niren с CAN-контроллером MCP2515 я собрал сниффер, который подключается в любое место в шине CAN и слушает пролетающий трафик. При этом сниффер никак не мешает работе систем. Чтобы подслушать, что отправляет VCDS, нужно подпаяться в сам диагностический кабель к пинам CAN-High и CAN-Low.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Check Also

Блиц-интервью: Алексей Лукацкий о построении защиты, «Гидре» и формуле взлома

Алексей Лукацкий — именитый эксперт в области ИБ, а также владелец самой узнаваемой шляпы …

4 комментария

  1. Аватар

    Kismet

    17.07.2019 at 07:07

    Молодчина!Можешь для Мазды написать такое приложение? И во сколько оценишь свою работу?

    • Аватар

      Виталий Юркин

      29.07.2019 at 12:12

      Оценю в стоимость автомобиля 😉
      Свою машину я несколько лет изучал, сейчас, конечно, с полученным опытом, работа идет гораздо быстрее. Была бы у меня мазда, я бы возможно и написал такое же приложение.

  2. Аватар

    intrud3r

    29.07.2019 at 18:01

    Хотя б словечко вставили про LIN, Flex-Ray, FastEth …
    А в целом, интересно, спс!

  3. Аватар

    Gvard891

    31.10.2019 at 10:51

    Прекрасно, продолжайте. С уважением

Оставить мнение