Оглавление:

Взлом Seeed Studio CAN-BUS V2.0 - Начало работы: 5 шагов
Взлом Seeed Studio CAN-BUS V2.0 - Начало работы: 5 шагов

Видео: Взлом Seeed Studio CAN-BUS V2.0 - Начало работы: 5 шагов

Видео: Взлом Seeed Studio CAN-BUS V2.0 - Начало работы: 5 шагов
Видео: Программы для диагностики АВТОМОБИЛЯ. Кто лучше читает ошибки через OBD2 и Андроид? Часть 1. 2024, Ноябрь
Anonim
Seeed Studio CAN-BUS V2.0 Взлом - Начало работы
Seeed Studio CAN-BUS V2.0 Взлом - Начало работы
Взлом Seeed Studio CAN-BUS V2.0 - Начало работы
Взлом Seeed Studio CAN-BUS V2.0 - Начало работы
Взлом Seeed Studio CAN-BUS V2.0 - Начало работы
Взлом Seeed Studio CAN-BUS V2.0 - Начало работы
Взлом Seeed Studio CAN-BUS V2.0 - Начало работы
Взлом Seeed Studio CAN-BUS V2.0 - Начало работы

Это руководство предназначено для новичков, которые уже знакомы с Arduino. Первоначальное знание того, как действовать, всегда является трудной задачей и требует много времени в любом проекте. Но до тех пор, пока вы не научитесь ориентироваться, вам почти всегда хочется, чтобы у вас был кто-то, кто показал бы вам основы.

В этом руководстве мы вернем некоторые данные CAN-BUS с вашего автомобиля.

И не волнуйтесь! Я перейду сразу к делу, не тратя время на разговоры и не используя модных словечек, чтобы я звучал как умный хакер:-)

Я лично рекомендую экраны CAN-BUS Seeed Studio. Ничего не могу сказать о других брендах, но CAN-BUS Shield от SeeedStudio мне очень хорошо послужил.

Важное примечание: щиток CAN-шины является обязательным. Я сделал это замечание, потому что довольно часто люди спрашивают, нужно ли использовать щит CAN-BUS. Щит имеет MCP2515 (контроллер CAN) и MCP2551 (приемопередатчик), которые будут обрабатывать данные CAN-BUS на последовательном порту вашего Arduino.

Необходимое оборудование 1. Arduino UNO - Достаточно любой совместимой с Arduino. Я использовал этот

2. SeeedStudio CAN-BUS Shield. Получил прямо из SeeedStudio вот ссылка

3. Несколько проводов для подключения к CAN-BUS.

4. Транспортное средство, с которого можно получить данные

Требуемое программное обеспечение 1. Arduino IDE, да! Очевидно:-)

2. Библиотека CAN-BUS SeeedStudio. Загружается с GIT Hub

Дополнительная важная информация, если вы хотите узнать больше о шилде CAN-BUS SeeedStudio.

Давайте начнем!

Шаг 1. Настройка оборудования и подключение

Image
Image
Настройка и подключение оборудования
Настройка и подключение оборудования
Настройка и подключение оборудования
Настройка и подключение оборудования
Настройка и подключение оборудования
Настройка и подключение оборудования

Начнем с самого сложного. Нам нужно найти место в вашем автомобиле, где мы сможем подключиться к CAN-BUS. Я мало что могу для вас сделать, вы должны понять это сами. В моем случае я подключился к CAN-BUS через радио. Да! радио. Автомобили со встроенной аудиосистемой обычно устанавливают подсветку дисплея автомобильной стереосистемы в соответствии с настройками фар автомобиля при движении в ночное время. Обычно это делается через внутреннюю шину CAN-BUS.

Я использовал удлинительный USB-кабель с вилкой USB и розеткой USB. Поэтому я просто разрезал его пополам, а затем припаял женскую часть к разъему радио. Вы можете купить штекерный гнездовой разъем для вашего типа радио, чтобы вам не пришлось подключаться к проводке вашего автомобиля и аннулировать вашу гарантию или потенциально вызвать опасность пожара.

А затем вилку я подключил к экрану CAN-BUS SeeedStudio, как показано на рисунке. Таким образом я могу подключаться / отключаться при необходимости.

Совет: используйте красный провод для CAN-H и черный для CAN-L.

Шаг 2. Установите программное обеспечение на Arduino

Установите программное обеспечение на Arduino
Установите программное обеспечение на Arduino
Установите программное обеспечение на Arduino
Установите программное обеспечение на Arduino
Установите программное обеспечение на Arduino
Установите программное обеспечение на Arduino

Загрузите библиотеку SeeedStudio с вики-страницы SeeedStudio CAN-BUS.

github.com/Seeed-Studio/CAN_BUS_Shield

Установите библиотеку, как показано на картинках.

В среде Arduino IDE выберите Sketch Include Library - Add.zip Library.

После добавления библиотеки закройте IDE Arduino и снова откройте ее. Теперь вы сможете загрузить некоторые примеры из меню "Файл". Примеры файлов. CAN-BUS.

В этом руководстве загрузите пример проверки приема.

Важный!

Следующее потребует проб и ошибок.

Я использовал свой Jeep JK 2010 Rubicon для получения данных, а его внутренняя шина работает со скоростью 125 Кбит / с.

В разделе настройки, где написано

в то время как (CAN_OK! = CAN.begin (CAN_500KBPS)) мне пришлось изменить его на

в то время как (CAN_OK! = CAN.begin (CAN_125KBPS))

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

Шаг 3. Подключите его и начните получение данных

Подключите его и начните получать данные
Подключите его и начните получать данные
Подключите его и начните получать данные
Подключите его и начните получать данные
Подключите его и начните получать данные
Подключите его и начните получать данные

Перед подключением проверьте работоспособность, прежде чем подключать его к автомобилю. Последнее, что вы хотите сделать, это подать питание на CAN-BUS, что может привести к повреждению ECU вашего автомобиля.

Я не проверял работоспособность, и только после того, как понял, что не получаю данные, я увидел, что подключил USB-порт ноутбука напрямую к USB-питанию Arduino. К счастью, ничего не произошло.

На изображениях этого шага я использовал свой ноутбук Lenovo с установленным Linux Mint. Вы можете использовать любую операционную систему для подключения к последовательному порту вашего Arduino, 1. Установите портативный компьютер в свой автомобиль и включите экран Arduino CAN-BUS с помощью кабеля USB.

2. Запустите Putty или последовательный монитор Arduino (я предпочитаю Putty). Когда он подключен, вы должны увидеть сообщение в последовательной консоли о том, что ему удалось инициализировать щит Can-Bus.

3. Включите автомобиль. Его не нужно запускать, пока ключ находится в положении «включено».

4. Подключите Arduino к CAN-BUS. В момент его подключения данные начнут передаваться в консоль.

Шаг 4. Данные и их значение

Данные и их значение
Данные и их значение
Данные и их значение
Данные и их значение

Когда данные будут извлечены, они будут сброшены в следующий шестнадцатеричный формат.

ID, BIT1, BIT2, BIT3, BIT4, BIT5, BIT6, BIT7, BIT8

Идентификатор обычно представляет собой узел в вашем автомобиле.

Приведем простой пример. (Ниже приведено выдуманное и нереальное, просто пример)

Идентификатор узла кондиционирования воздуха = 0x402 ВЫКЛЮЧИТЬ ВОЗДУШНЫЙ КОНДИЦИОНЕР = 13 ВКЛЮЧИТЬ ВОЗДУШНЫЙ КОНДИЦИОНЕР = 14 УСТАНОВИТЕ ВОЗДУХОДУВКУ НА НИЗКИЙ = 7C УСТАНОВИТЕ ВОЗДУШНЫЙ НАДУВАТЕЛЬ НА СРЕДНЮЮ 8C УСТАНОВИТЕ ВОЗДУХОДУВКУ НА ВЫСОКИЙ 9C

Итак, если мы включим Aircon и установим его на средний уровень, сообщение будет выглядеть так: 0x402, 13, 8C

то же самое касается других узлов, например, центральный замок ID центрального замка = 0x503 ЗАБЛОКИРОВАТЬ все двери = 14

Итак, если вы нажмете кнопку, чтобы заблокировать все двери, сообщение будет выглядеть так

0x502, 14

Некоторые дополнительные примечания.

Некоторые сообщения управляются состоянием, а некоторые - мгновенными.

Пример1. Фары как гос. Управляемые. Когда вы устанавливаете переключатель в транспортном средстве в определенное положение, узел будет продолжать транслировать сообщение снова и снова. Если вам нужно было вмешаться в CAN-BUS, отправьте сообщение, чтобы выключить фары. Он ненадолго выключится, а затем снова включится, потому что узел, на котором переключатель установлен на включение фар, снова отправит сообщение, чтобы включить его.

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

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

Несколько советов и идей

Увидев, что теперь вы можете сбрасывать данные, вы можете использовать их для создания собственных схем Arduino, которые будут реагировать на сообщения, отображаемые на CAN-BUS. для примера. Скажем, вы устанавливаете после рыночных прожекторов. Не копаясь в существующей проводке, вы можете установить фары самостоятельно и включать их только тогда, когда ваш Arduino обнаруживает сообщение на CAN-BUS.

Отправка данных в CAN-BUS

Если вы следовали инструкциям в начале этого руководства, значит, вы установили библиотеки SEEEDStudio. В Arduino IDE есть несколько примеров, которые вы можете попробовать.

Знание идентификатора и сообщения CAN0-BUS узла, с которым вы хотите взаимодействовать.

К сожалению, это непростая задача. Но вот идея. Используйте функцию ведения журнала Putty и сохраните все данные сеанса в файл. Пусть Arduino контролирует CAN-шину около 5 минут, а затем сохранит журнал.

Затем запустите новый сеанс и начните сбрасывать данные. Но на этот раз во время сброса данных нажмите кнопку. Не нажимайте более одной кнопки. Нажмите кнопку несколько раз, чтобы убедиться, что она зафиксировала нажатие кнопки.

Затем используйте какой-нибудь инструмент сравнения и сравните файл, чтобы выявить различия. Excel отлично подходит для этого.

Некоторые коды, которые вы можете попробовать

Если у вас такая же модель Jeep 2010 Rubicon, как и у меня (я уверен, что приведенная ниже информация также будет работать для моделей '07, '08', 09)

Вы можете попробовать следующие сообщения. Загрузите примеры отправки из меню примеров Arduino, и изменения актуальны.

Включите задний ящик.: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

Левый блинкер включен: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

Правый указатель поворота включен: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

Включение / выключение ESP: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

В следующем руководстве я отправлю некоторые данные на CAN-BUS моего Jeep, чтобы продемонстрировать, как вы можете этому помешать.

Удачи!

Шаг 5. Посмотрите видео

Посмотрите видео, чтобы узнать больше о совершенстве CAN-BUS!

Рекомендуемые: