Следующая новость
Предыдущая новость

You CAN. Превращаем телефон в панель приборов автомобиля

04.07.2019 12:43
You CAN. Превращаем телефон в панель приборов автомобиля

Содержание статьи

  • Изучение возможностей
  • Сниффер шины CAN
  • Диагностический сканер ELM327
  • Разработка приложения под iPhone
  • Итог

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

Семнадцатидюймовый сенсорный дисплей Tesla

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

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

You CAN. Превращаем телефон в панель приборов автомобиля
Электронные блоки

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

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

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

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

You CAN. Превращаем телефон в панель приборов автомобиля

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

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

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

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

You CAN. Превращаем телефон в панель приборов автомобиля

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

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

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

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

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

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

1 год

7690 р.

1 месяц

720 р.

Я уже участник «Xakep.ru»

Источник

Последние новости