Хакаем CAN-шину авто с помощью ELM327 и Android-приложения CAN BUS Terminal

Хакаем CAN-шину авто с помощью ELM327 и Android-приложения CAN BUS Terminal

Описание проекта

Этот проект посвящен изучению и практическому использованию системы обмена данными между электронными блоками управления автомобилей — CAN-шины. Мы рассмотрим использование бюджетного адаптера ELM327 совместно с приложением CAN BUS Terminal для мониторинга и взаимодействия с шиной CAN.

Что такое CAN-шина?

Controller Area Network (CAN) — это стандартная сеть передачи данных, используемая практически всеми современными автомобилями. Она объединяет различные электронные блоки управления автомобилем, такие как двигатель, тормоза, подушки безопасности, мультимедийную систему и многое другое. Через CAN осуществляется передача управляющих сигналов, диагностической информации и телеметрии.

Почему нужен адаптер ELM327?

ELM327 — это недорогой универсальный адаптер, предназначенный для подключения к автомобильной шине диагностики OBD-II. Его основное назначение — чтение ошибок и получение диагностических данных, однако он также способен читать и отправлять сообщения CAN-шины, что делает его отличным инструментом для изучения и тестирования работы CAN.

Однако важно помнить, что оригинальная версия ELM327 имеет ограничения производительности на высокоскоростных CAN-шинах, и мы настоятельно рекомендуем придерживаться оригинальной прошивки версии 1.5. Китайский клон версии 2.1 имеет очень сильно урезанную прошивку и работать не будет.

Подготовка оборудования

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

  • Автомобиль с кан шиной (большинство современных автомобилей имеют CAN BUS);
  • Адаптер ELM327 версии 1.5 (обратите внимание, что версии 2.1 не подходят!);
  • Смартфон на платформе Android с установленным приложением CAN BUS Terminal;
  • Приложение Car Bus Analyzer (или другие, это полезно для подробного анализа записанных лог-файлов).

Настройка и подключение

Шаги подключения:

  1. Установка адаптера:
    Подключите адаптер ELM327 к разъему OBD-II вашего автомобиля. Обычно он расположен под приборной панелью водителя.
  2. Настройка Bluetooth:
    Включите Bluetooth на своем телефоне и выполните сопряжение с устройством ELM327. Убедитесь, что связь успешно установилась.
  3. Запуск приложения:
    Запустите приложение CAN BUS Terminal. После запуска оно автоматически обнаружит доступные устройства OBD-II. Выберите ваше устройство ELM327 из списка.
  4. Проверка связи:
    Если всё сделано правильно, вы увидите сообщение типа «Связь с OBDII установлена». Теперь начинается самое интересное — мониторинг шины CAN.

Работа с приложением

Мониторинг пакетов

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

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

Отправка команд

У вас есть возможность отправить собственные команды прямо в шину CAN. Например, вы можете попробовать изменить состояние какого-то индикатора или вывести дополнительную диагностику.

В нижней части интерфейса находится поле для ввода команд. Просто введите нужную команду (например, ATZ для сброса устройства) и нажмите клавишу «SEND».

Запись логов

Одна из ключевых функций приложения — запись потока CAN-данных в виде файла формата .trc. Этот файл можно сохранить на смартфон и перенести на компьютер для дальнейшего анализа в специализированных программах вроде Car Bus Analyzer.

Чтобы начать запись, нажмите кнопку «REC», а чтобы остановить — повторно нажмите её же.

Файлы будут сохранены в директории /Download/CanHackerTraces.

Заключение

Использование адаптера ELM327 и программы CAN BUS Terminal открывает доступ к широкому спектру интересных экспериментов и исследований с автомобильными системами. Однако помните о возможных рисках вмешательства в нормальную работу автомобиля и будьте осторожны при отправке нестандартных команд в шину CAN, чтение данных абсолютно безопасно и никак не влияет на работу авто.

Таким образом, даже с минимальными затратами вы получаете мощный инструмент для диагностики и понимания принципов работы CAN BUS.