A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
arduino-canhacker / docs / ru / README.md
- Go to file T
- Go to line L
- Copy path
- Copy permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cannot retrieve contributors at this time
77 lines (53 sloc) 3.25 KB
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
Copy raw contents
CanHacker (lawicel) CAN адаптер на Arduino + MCP2515
Используется эту Библиотеку для связи с MCP2515
Резлизует взаимодействие с CAN шиной через микросхему MCP2515 по протоколу CanHacker (lawicel).
- передача и прием can фреймов
- поддержка стандартных (11 бит) и расширенных (29 бит) фреймов
- поддержка remote фреймов (RTR)
- поддержка фильтра по ID (маска + код)
- интерфейс, работающий со Stream: возможность работы с Serial, SoftwareSerial, Ethernet и другими интерфейсами
- поддерживаемые скорости can шины от 10Kbps до 1Mbps
- поддерживаются модули с разными кварцами — 8, 16, 20 МГц. По умолчанию установлена частота 16 МГц, используйте функцию setClock если у вас модуль с другим кварцем.
- поддержка CanHacker (приложение для Windows)
- поддержка CANreader (приложение для Android)
- Установите библиотеку MCP2515
- Скачайте ZIP архив https://github.com/autowp/arduino-canhacker/archive/master.zip
- В меню Arduino IDE: Sketch -> Include Library. -> Add .ZIP Library.
- Перезапустите Arduino IDE, чтобы увидеть «canhacker» в списке библиотек и примеров
Протестировано с Arduino Nano. На Arduino Uno при работе через CanHacker для Windows, есть проблема с слишком долгой перезагрузкой и потерей первой комманды
Can Hacker. Краткий обзор
#include #include #include #include #include #include const int SPI_CS_PIN = 10; const int INT_PIN = 2; CanHackerLineReader *lineReader = NULL; CanHacker *canHacker = NULL; void setup() < Serial.begin(115200); while (!Serial); SPI.begin(); softwareSerial.begin(115200); Stream *interfaceStream = &Serial; canHacker = new CanHacker(interfaceStream, null, SPI_CS_PIN); lineReader = new CanHackerLineReader(canHacker); pinMode(INT_PIN, INPUT); >void loop() < canHacker->processInterrupt(); lineReader->process(); >
Приветствуются любые способы участия в коде.
Источник: github.com
Анализатор CAN шины CANHacker
Не секрет, что в современном автомобиле управление многими исполнительными устройствами, а также обмен данных между различными ЭБУ (а их в автомобиле может быть довольно много, минимум по одному на каждую систему) осуществляется по CAN шине. Не буду в данной статье углубляться в теорию построения CAN шины и обмена данными в ней, ограничимся только тем, что мы CAN шину используем как транспорт для данных. Кому нужна более детальная информация по CAN шине, без труда найдет ее в любом поисковике.
CAN HACKER обзорчик — первый опыт и плюсик в Orange5
Итак, какими исполнительными устройствами можно управлять по CAN? Список на самом деле может быть огромен, и может зависеть от конкретной марки и модели автомобиля. Для примера, по CAN может осуществляться снятие, постановка на охрану, складывание зеркал, управление стеклоподъемниками, срабатывание центрального замка, включение фар и т.д.
Кстати, многие автомобильные девайсы подключаются к CAN шине, и путем передачи в шину определенных данных осуществлять какие-то действия. Например, по такому принципу работают доводчики стекол. Такой доводчик ждет появления в CAN шине данных на постановку на охрану, и при получении этих данных осуществляет передачу данных в CAN шину, которые инициируют закрытие стекол. Как правило, такие доводчики вставляются в OBD-2 разъем автомобиля, в котором имеется выход CAN шины. Тут следует сказать, что на автомобиле может быть несколько CAN шин (высокоскоростная, низкоскоростная), которые разделены между собой.
Сразу возникает вопрос, есть ли в машине CAN шина. Определить это можно, посмотрев в OBD2 разъем наличие пинов 6 и 14.
Что представляет собой CAN пакет с данными? Грубо говоря он представляет собой CAN ID (идентификатор CAN, может быть 11-ти или 29-ти битным) и данные DATA (в одном CAN пакете возможно передача до 8 байт). CAN ID — это фактически поле адресата, т.е. кому адресуются данные DATA. Несколько CAN пакетов могут образовывать одно сообщение (чтобы преодолеть лимит на передачу более 8-ми байт).
Каждому исполнительному устройству или датчику автопроизводитель назначает уникальный CANID (у разных производителей они будут разными), благодаря чему можно адресовать посылку данных конкретному ЭБУ или устройству, или получив CAN пакет ЭБУ может определить ему ли он предназначался, и если ему, то что он должен с ним сделать (например, в нашем примере с доводчиком — поднять стекло).
До этого была теория. Теперь я расскажу, как посмотреть, что творится в CAN шине автомобиля и что для этого нужно. Для этого необходим специальный адаптер и программа, которая будет отображать состояние CAN шины. Вообще, таких программ и адаптеров в природе существует много, но самым популярным является CANHacker (такой себе стандарт «де-факто»), поэтому про него я и расскажу. В качестве адаптера я буду использовать CHIPSOFT J2534 Lite адаптер, который может работать в режиме J2534 устройства, K-Line адаптера и в необходимом нам режиме CANHacker.
Сама программа CANHacker бесплатна и может быть без труда найдена на просторах интернета. Обращаю внимание на то, что по состоянию на март 2016, данная программа не может работать в Windows 10. Что-то Microsoft в своей операционке так улучшило, что в ней перестали работать все программы написанные ранее на Visual Basic c использованием COM порта.
Итак, запускаем программу, открываем окно настроек, в которых выбираем COM порт, на котором висит наше устройство, скорость обмена (в нашем случае 500 Kb/s), и режим работы (Listen Only).
Следует отметить, что если неправильно задать скорость CAN шины, которую собираемся слушать, то мы ничего не увидим. В автомобилях высокоскоростная CAN шина работает на скорости 500 Kb/s, ее и будем слушать, подключив наш CHIPSOFT J2534 Lite адаптер, в OBD2 разъем автомобиля.
Что еще нужно сказать по настройке Listen mode. Она определяет, требуется ли адаптером отсылать подтверждение приема CAN пакета. В нашем случае мы просто слушаем сеть и ничего не подтверждаем. Вообще, этот режим может быть полезен в том числе и в поиске неисправностей или обрывов в CAN шине.
Если предполагается отправка CAN пакетов в шину, то галка Listen Only должна быть снята.
Нажимаем старт. Если все сделано правильно, то на экране увидим CAN пакеты, которые «бегают» в сети нашего авто. А бегать их там может быть очень много. Так, на моей машине при заведенном двигателе «бегает» более 1000 пакетов в секунду. Вот какое происходит движение при подключении одиночного ЭБУ:
Если нам необходимо отследить какие-то конкретные CAN ID, то мы можем задать фильтр, который отсеет лишнее.
Программа CANHacker может работать в режиме монитора (monitor) и трейсера (tracer). В режиме монитора CAN пакеты сгруппированы по CAN ID и отображается переиод следлования данного CAN ID. В режиме трейсера отображается непрерывный поток CAN пакетов в порядке их появления в CAN шине. Но особенностью режима «трейсер» является то, что можно затем вопроизвести в шину в таком же порядке.
Также программа может отправлять отдельные CAN пакеты пользователя в CAN шину с заданным периодом (область в окне программы для работы в этом режиме называется Transmit). Некоторые используют это свойство для создания так называемой подмотки пробега. Т.к. информация о скорости вращения каждого колеса приходит с ЭБУ ABS, то отправляя непрерывно в шину CAN пакеты, в которых будет закодирована скорость, скажем 500 км/ч мы заставим одометр думать, что мы машина таки движется с такой скоростью, в результате чего счетчик пробега на одометре будет увеличиваться очень быстро а машина по факту стоять неподвижно.
В данной статье я сделал небольшой обзор программы CANHacker. Если тема интересная, то можно продолжить в меру моих знаний 🙂
Источник: www.drive2.ru
CAN Hacker 3.2 (версия CH3.3M02)
CAN-Hacker 3.2 — универсальный двухканальный CAN-USB интерфейс. Поставляется с программой CAN анализатором. Устройство поможет Вам подключиться к CAN шине, анализировать передаваемые данные и посылать свои пакеты. Большое количество опций позволяют существенно расширять функционал прибора за небольшую цену.
Технические характеристики:
- Количество каналов CAN: 2;
- Пропускная способность: 40008000 фреймов в секунду (зависит от типа прошивки);
- Связь с компьютером: USB 2.0 Virtual COM Port, класс CDC;
- Дополнительные опции: LIN анализатор, Leaf-Coder, CAN-Coder, Кабель OBD2;
- Программное обеспечение: CARBUS Analyzer.
CAN-Hacker 3.2 поможет решать следующие задачи:
- Анализировать работу CAN и LIN (доп.опция) шин автомобилей и спец. техники;
- Включать «на столе» блоки управления и агрегаты автомобилей управляемые по CAN и LIN шинам (например, рулевые рейки и агрегаты ЭГУР/ЭУР);
- Эмулировать работу датчиков и блоков управления непосредственно на автомобиле;
- Программировать блоки управления автомобилей;
- Проводить реверс-инжиниринг сетей CAN/LIN для задач мониторинга и телеметрии транспортных средств.
Все эти возможности окажут неоценимую поддержку в процессе ремонта автомобилей, а также во время установки и разработки дополнительного охранного, телематического и навигационного оборудования для любой подвижной техники.
Поставляемое программное обеспечение:
- CARBUS Analyzer — программа анализатор шины CAN и LIN;
- UBT — программа для загрузки прошивок в интерфейс и активации опций.
Поставляемые прошивки:
1. CH32_xxxxxxxx_CANLIN_GW_CR.bin — прошивка для работы с шинами CAN или LIN.
Поддерживает: два канала CAN или один канал шины LIN (требует активации), Режим Gateway (CAN фильтр)
Максимальная скорость приема: 4000 фреймов в секунду
Данная прошивка оптимальна для работы с функциями CAN Bomber!
2. CH32_xxxxxxxx_CANLIN_CR.bin — прошивка для работы с шинами CAN или LIN.
Поддерживает: два канала CAN или один канал LIN (требует активации)
Максимальная скорость приема 8000 фреймов в секунду
Данная прошивка обеспечивает максимально полный сбор CAN! При нормальной загрузке шины собирается 100% фреймов.
Поставляемые прошивки находятся в архиве с программой CARBUS Analyzer в папке UBTFirmware Files.
Загрузка прошивок осуществляется при помощи программы UBT.
Дополнительные опции:
Поддерживаются следующие дополнительные опции:
- Анализатор шины LIN. Требует установки дополнительного модуля LIN и активации при помощи ключа;
- CAN-Coder. Программное обеспечение для программирование автомобилей KIAHyundai. Требует активации при помощи ключа и загрузки специальной прошивки;
- Leaf-Coder. Программное обеспечение для программирования панелей приборов автомобилей Nissan Leaf ZE0 и AZE0. Требует загрузки специальной прошивки;
- Кабель OBD2. Позволяет осуществлять простое подключение интерфейса к стандартному диагностическому разъему OBD2.
Активация доп. опций осуществляется при помощи программы UBT.
Прилагаемый CAN кабель
Назначение проводов:
Желтый с черной полосой — CAN-Low канал 1;
Желтый с белой полосой — CAN-High канал 1;
Оранжевый с черной полосой — CAN-Low канал 2;
Оранжевый с белой полосой — CAN-High канал 2.
Анализатор шины LIN Артикул: 40C3/01
Требует установки дополнительного модуля LIN и активации при помощи ключа.
Опция для работы с автомобилями KIAHYUNDAI
Опция для интерфейсов:
- CAN-Hacker 3.2
- CAN-Hacker CH-P
- CAN-Hacker CH-P FDL2
- CH-OBD.M02+Analyzer
- Вариантное кодирование EOL панелей приборов. (Включение отключение TPMS, AFLS, LKAS и других систем автомобиля)
- Программирование типа сервисного обслуживания, расстояния и времени до сервисного обслуживания.
- Чтение и запись EEPROM панелей приборов (только для панелей производства VDOContinental)
- Калибровка одометра (только для панелей производства VDOContinental)
- Конфигурирование блоков управления комфортом – BCM (BCM – должен поддерживать диагностику по CAN)
Автомобили на которых производилось тестирование
ВАЖНО: На автомобилях с конца 2021 – Начала 2022 года калибровка одометра не возможна в том случае если общий пробег больше чем 100 км. Возможность калибровки одометра будет зависеть от версии прошивки панели приборов.
- OBD2 – подключение через OBD2
- C-CAN – Подключение к сегменту сети C-CAN либо к панели приборов напрямую.
- E-CAN – Только для интерфейсов FDL2. Подключение к сегменту сети E-CAN либо к панели приборов напрямую.
- 16-bit EOL – Вариантное кодирование 16 бит
- 32-bit EOL – Вариантное кодирование 32 бит
- EEPROM – Возможность чтения и записи EEPROM панели приборов
- ~EEPROM – Не все области EEPOM доступны для записи
- ODO – Возможность калибровки одометра
Автомобили:
- GENESIS G70 IK 2018…2019(16-bit EOL, EEPROM, ODO)
- HYUNDAI Accent 2018…2021 (16-bit EOL, EEPROM, ODO)
- HYUNDAI i20 BC3 2021,E-CAN, (32-bit EOL)
- HYUNDAI Сreta GS 2016…2020 ,OBD2, (16-bit EOL, EEPROM, ODO)
- HYUNDAI Palisade LX2 2021, OBD2, (16-bit EOL)
- HYUNDAI SantaFe TM 2018 , C-CAN, (16-bit EOL)
- HYUNDAI Solaris 2018…2021, OBD2, (16-bit EOL, EEPROM, ODO)
- HYUNDAI Solaris 2021…2022, OBD2, (16-bit EOL, ~EEPROM)
- HYUNDAI Sonata LF только 94001C2000, OBD2, (EOL, EEPROM, ODO)
- HYUNDAI Sonata DN8 2021, C-CAN, (16-bit EOL, EEPROM, ODO)
- HYUNDAI Staria US4 2021 ,E-CAN, (32-bit EOL)
- HYUNDAI Tucson TL 2015…2020, OBD2, (16-bit EOL, EEPROM, ODO)
- HYUNDAI Tucson NX4 2020…2021, E-CAN, (32-bit EOL. Только для CH-P FDL2)
- KIA Carnival KA4 2021, E-CAN, (16-bit32-bit EOL)
- KIA Ceed CD 2018, C-CAN, (16-bit EOL)
- KIA Ceed JD 2016…2018, OBD2, (16-bit EOL, EEPROM, ODO)
- KIA OptimaK5 2012, OBD2, (EEPROM, ODO)
- KIA OptimaK5 JF4 2016…2020, OBD2, (16-bit EOL, EEPROM, ODO)
- KIA OptimaK5 DL3 2020…2021, C-CAN, (16-bit EOL, EEPROM, ODO)
- KIA OptimaK5 DL3 06.2021…2022, C-CAN, (16-bit EOL, ~EEPROM)
- KIA Rio FB 2018…2021, OBD2, (16-bit EOL, EEPROM, ODO)
- KIA Rio FB 2021…2022, OBD2, (16-bit EOL, ~EEPROM)
- KIA Seltos SP2 2019…2021, C-CAN, (16-bit EOL)
- KIA Sportage QL 2016…2020, OBD2, (Convenience: 16-bit EOL, EEPROM, ODO)
- KIA Sportage QL 2016…2020, OBD2, (Supervision: 16-bit EOL)
- KIA Sorento UM Prime VDOContinental, OBD2, (16-bit EOL, EEPROM, ODO)
- KIA Sorento UM USA DENSO, OBD2, (16-bit EOL)
- KIA Sorento MQ4 2020, E-CAN, (16-bit EOL, EEPROM, ODO. Только для CH-P FDL2)
- KIA Sorento MQ4 2021…2022, E-CAN, (16-bit EOL, ~EEPROM. Только для CH-P FDL2)
- KIA Stinger CK 2018…2020, C-CAN, (16-bit EOL, EEPROM, ODO)
- KIA Soul SK3 2018…2020, C-CAN, (16-bit EOL)
- KIA Soul 2, 3 OBD2, (VDOContinental: 16-bit EOL, EEPROM, ODO)
- KIA Soul EV первое поколение, OBD2 (Доступна русификация, программирование единиц измерения, отключение TPMS, ODO, EEPROM)
Активация опции
Если Вы докупаете опцию отдельно от интерфейса, то Вам потребуется ключ активации. Ключ предоставляется по серийному номера вашего прибора. Серийный номер отображается на форме утилиты UBT при подключении, в поле Serial Number. После покупки опции Вам придет запрос серийного номера от нас. Выслав ваш номер нам, Вы получите ключ активации.
Если Вы покупайте опцию вместе с интерфейсом, то ключ не понадобится. Опция будет активирована сразу.
Для работы с CAN-Coder необходимо обязательно загрузить в интерфейс соответствующую прошивку, которая находится в архиве с программой.
CAN Coder разрабатывается для опытных пользователей и владельцев автомобилей KIA Hyundai. CAN Coder поставляется “как есть”. Вся ответственность за результаты использования CAN-Coder лежит на пользователе.
Источник: ecutools.ru