На автомобилях Toyota\Lexus есть возможность управлять светом фар при помощи диагностических команд. Для изучения этих команд мы при помощи CAN-Hacker изучали взаимодействие диагностического оборудования и автомобиля в режиме Actuation Test.
Светом фар управляет блок BCM – Body control module, к нему мы подключались отдельно от автомобиля, на столе. Параллельно CAN-Hacker -у подключен диагностический сканер Launch.
Для наглядности сняли видео о том как работать с ECU на столе
Все просто:
- Подключаем к CAN шине ECU диагностический сканер, а параллельно сканеру CAN-Hacker
- В программе CAN-Hacker – >Filter задаем значение маски фильтра 700 и значение фильтра 700, жмем ОК. В этом случае пакеты которые не относятся к диагностическим командам мы видеть не будем.
3. Далее заходим сканером в наш ECU, выбираем нужные команды и смотрим логи, ниже примеры:
Вот, например, наш BCM. Сканер обращается к нему пакетами с ID 750 а BCM отвечает пакетами с ID 758. Это правило – ID ответа = ID запроса +8.
Теперь что касается управления фарами, логи выглядят так:
Включение\отключение ближнего света. Достаточно отправить пакет:
ID = 750 DLC=8 DATA: 40 06 30 15 00 40 00 00 – включение ближнего света фар
ID = 750 DLC=8 DATA: 40 06 30 15 00 00 00 00 – отключение ближнего света фар
Включение\Отключения дальнего света. Заметьте – команда на отключение не меняется
ID = 750 DLC=8 DATA: 40 06 30 15 00 20 00 00 – включение дальнего света
Включение\Отключение задних фонарей.
ID = 750 DLC=8 DATA: 40 06 30 15 00 80 00 00 – включение задних фонарей
Включение\Отключение передних противотуманных фар. Обратите внимание на команду включения – Байт со значением 80 находится не шестой по порядку как в предыдущих командах а 7.
ID = 750 DLC=8 DATA: 40 06 30 15 00 00 80 00 – включение передних противотуманных фар.
Видео о том как управлять фарами по CAN шине на Lexus LX570
Следует отметить что при отправке команды на включение фары светят 5 секунд а затем выключаются и если мы хотим чтобы фары светили постоянно команду нудно подавать раз в секунду.
Чередуя команды включения\отключения можно программно моргать фарами
Управление замками дверей по CAN шине так же просто, в чем мы убедились на видео. Ниже детализация лога:
Изменения в командах небольшие:
ID = 750 DLC=8 DATA: 40 05 30 11 00 80 00 00 – Закрыть замки дверей
ID = 750 DLC=8 DATA: 40 05 30 11 00 40 00 00 – Открыть замки дверей
Во всех описанных пакетах второй байт это длина команды. На некоторых автомобилях Toyota этот байт может быть равен не 6 а 5. или на оборот.
Так же мы можем узнать текущий статус каждой двери посмотрев на те пакеты которые BCM передает в автомобиле постоянно:
ID=620 DLC=8 DATA: 10 00 01 60 b0 00 00 40 Все двери закрыты
Шестой байт пакета (после b0) показывает состояние дверей
20 – открыта передняя правая дверь
10 – открыта передняя левая дверь
04 – открыта задняя левая дверь
02 – открыт багажник
08 – открыта задняя правая дверь, как видим за статус каждой двери отвечает отдельный бит в байте.