Съдържание:

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 стъпки
Видео: MEGA Chia GPU Farming and Plotting Guide for Linux - Gigahorse Start to Finish - 2023 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 данни от вашия автомобил.

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

Аз лично препоръчвам щитовете на Seeed Studio CAN-BUS. Наистина не мога да говоря за никоя от другите марки, но щитът CAN-BUS от SeeedStudio ми послужи много добре.

Важна забележка: Щитът на автобуса може да бъде задължителен. Направих тази бележка, защото доста често хората питат дали трябва да използвате 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. SeeedStudio CAN-BUS библиотека. Може да се изтегли от GIT Hub

Допълнителна важна информация, ако искате да прочетете повече за щита SeeedStudio CAN-BUS.

Да започваме!

Стъпка 1: Хардуерна настройка и връзка

Image
Image
Хардуерна настройка и връзка
Хардуерна настройка и връзка
Хардуерна настройка и връзка
Хардуерна настройка и връзка
Хардуерна настройка и връзка
Хардуерна настройка и връзка

Нека започнем с най -трудната част. Трябва да намерим място във вашия автомобил, където да се включим в CAN-BUS. Тук не мога да направя много за вас, трябва да разберете това сами. В моя случай се включих в CAN-BUS чрез радиото. Да! радиото. Превозни средства с вградено аудио за кола обикновено настройват осветяването на стерео дисплея на автомобила въз основа на настройката на фара на автомобила за шофиране през нощта. Обикновено това става чрез вътрешния CAN-BUS.

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

И тогава мъжката част, която свързах към щита SeeedStudio CAN-BUS, както е показано на снимката. По този начин мога да се свързвам/изключвам, когато е необходимо.

Съвет: Използвайте червен проводник за CAN-H и черен за CAN-L

Стъпка 2: Инсталирайте софтуера на Arduino

Инсталирайте софтуера на Arduino
Инсталирайте софтуера на Arduino
Инсталирайте софтуера на Arduino
Инсталирайте софтуера на Arduino
Инсталирайте софтуера на Arduino
Инсталирайте софтуера на Arduino

Изтеглете библиотеката SeeedStudio от уикито на SeeedStudio CAN-BUS.

github.com/Seeed-Studio/CAN_BUS_Shield

Инсталирайте библиотеката, както е показано на снимките.

От IDE на Arduino изберете Sketch Include Library - Add.zip Library.

След като добавите библиотеката, затворете Arduino IDE и я отворете отново. Сега ще можете да заредите някои от примерите от менюто Файл Примери за файл CAN-BUS щит Проверка за получаване

За този урок заредете примера за проверка на получаване.

Важно!

Следното ще изисква някои опити и грешки.

Използвах моя Jeep JK 2010 Rubicon за извличане на данни и вътрешната му шина работи на 125Kbs.

В раздела за настройка, където се чете

докато (CAN_OK! = CAN.begin (CAN_500KBPS)) трябваше да го променя на

while (CAN_OK! = CAN.begin (CAN_125KBPS))

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

Стъпка 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: Данните и какво означават те

Данните и какво означават всички те
Данните и какво означават всички те
Данните и какво означават всички те
Данните и какво означават всички те

Когато данните бъдат извлечени, те ще бъдат изхвърлени в следния HEX формат.

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

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

Нека направим един прост пример. (По -долу е измислено и не е истинско, само пример)

ID на възел за климатизация = 0x402TURN AIRCON OFF = 13TURN AIRCON ON = 14 НАСТРОЙТЕ ВЪЗДУХА НА ВЪЗДУХА НА НИСКО = 7C НАСТРОЙТЕ ВЪЗДУХА НА ВЪЗДУХА НА СРЕДНИЯ 8С НАСТРОЙТЕ ВЪЗДУХА НА ВЪЗДУХА НА ВИСОК 9C

Така че, ако включим Aircon и го настроим на среда, съобщението ще изглежда така 0x402, 13, 8C

същото важи и за други възли, например централно заключванеЦентрално заключване ID = 0x503Заключване на всички врати = 14

Така че, ако натиснете бутона, за да заключите всички врати, съобщението ще изглежда така

0x502, 14

Някои допълнителни бележки.

Някои съобщения се управляват от състоянието, а някои или за момент.

Пример 1. Главни светлини като задвижвани от държавата. Когато настроите превключвател в автомобила на определена позиция, възелът ще продължи да излъчва съобщението отново и отново. Ако трябва да се намесвате в CAN-BUS, изпратете съобщение за изключване на фаровете. Той ще се изключи за кратко и след това ще се включи отново, защото възелът, където превключвателят е настроен да включва фаровете, отново ще изпрати съобщение, за да го включи.

Пример 2. Пропускане на записи на главното устройство на вашето радио. когато натиснете бутон и неговия моментен бутон, който ще направи и веднага ще прекъсне веригата, когато го напуснете, той ще изпрати едно съобщение, за да пропусне песента и никога повече, докато не попитате натиснете бутона отново.

Обикновено моментните бутони са най -полезни, тъй като можете да контролирате функциите във вашия автомобил, като изпратите една -единствена команда, без да се притеснявате, че вашата команда ще бъде надписана. Където като управлявани от държавата функции ще бъдат презаписани за неопределено време.

Някои съвети и идеи

Виждайки, че вече сте в състояние да изхвърлите данните, можете да ги използвате, за да изградите свои собствени схеми на Arduino, които ще реагират въз основа на съобщенията, вижте на CAN-BUS. за пример. Да речем, че инсталирате след пазарни светлини. Без да се налага да копаете в съществуващото окабеляване, можете да инсталирате фаровете си независимо и да ги включите само когато вашият Arduino открие съобщение в CAN-BUS.

Изпращане на данни в CAN-BUS

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

Познаване на идентификатора и съобщението CAN0-BUS на възела, с който искате да взаимодействате.

За съжаление това не е много лесна задача. Но ето една идея. Използвайте функцията Logging на Putty и изхвърлете всички данни за сесията във файл. Оставете Arduino да следи шината за консерви за около 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 On/OFF: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

В следващата си инструкция ще изпратя някои данни до CAN-BUS на моя Jeep, за да демонстрирам как можете да се намесите в него.

Късмет!

Стъпка 5: Гледайте видеото

Вижте видеото за повече доброта на CAN-BUS!

Препоръчано: