А. Пахомов. Еще раз о диагностике CAN-шины • CHIPTUNER.RU

А. Пахомов. Еще раз о диагностике CAN-шины • CHIPTUNER.RU ОБД2

Vw transport protocol 2.0

Volkswagen Transport Protocol 2.0 используется в качестве транспортного уровня, а данные передаются в формате KWP2000. Keyword Protocol 2000 – это протокол для бортовой диагностики автомобиля стандартизированный как ISO 14230. Прикладной уровень описан в стандарте ISO 14230-3. Более подробно в википедии.

Т.к. KWP2000 использует сообщения переменной длины, а CAN шина позволяет передавать сообщения не больше 8 байт, то VW TP 2.0разбивает длинное сообщение KWP2000 на части при отправке по CAN шине и собирает заново при получении.

Диагностические данные от двигателя по протоколу KWP2000 (Skoda Octavia A5)
Диагностические данные от двигателя по протоколу KWP2000 (Skoda Octavia A5)

Видео по теме

Голосовое управление с помощью homekit и siri

В одной из своих статей я описывал

Диагностический адаптер elm327

Для меня некоторое время было вопросом, как получить данные из CAN шины и передать на телефон. Можно было бы разработать собственный шлюз с Wi-Fi или Bluetooth, как это делают производители сигнализаций, например Starline. Но изучив документацию на популярный автомобильный сканер ELM327 понял, что его можно настроить с помощью AT команд на доступ к CAN шине.

Копия диагностического сканера ELM327
Копия диагностического сканера ELM327
Не все ELM327 одинаково полезны

Оригинальный ELM327 от компании elmelectronics стоит порядка 50$, в России я таких не встречал в продаже. У нас продаются только китайские копии/подделки, разного качества и цены 10-30$. Бывают полноценные копии, которые поддерживают все протоколы, а бывают и те которые умеют отвечать только на несколько команд, остальные игнорируют, такие адаптеры не имеют доступ к CAN шине. Я например пользуюсь копией Viecar BLE 4.0, который поддерживает 100% всех функций оригинала.

Для работы с протоколом UDS через ELM327 нужно указать адреса назначения, источника и разрешить длинные 8 байтные сообщения, по умолчанию пропускается максимум 7 байт.

Последовательность ELM327 AT команд для работы с UDS по CAN шине:

ATZ // сброс настроек
AT E0 // отключаем эхо
AT L0 // отключаем перенос строки
AT SP 6 // Задаем протокол ISO 15765-4 CAN (11 bit ID, 500 kbaud)
AT ST 10 // Таймаут 10 * 4 мс, иначе EBU шлет повторные ответы каждые 100 мс, а мы не отвечаем, потому что ожидаем конца, а нам нужен только первый ответ
AT CA F0
AT AL // Allow Long (>7 byte) messages
AT SH 7E0 // задаем ID, к кому обращаемся (двигатель)
AT CRA 7E8 // CAN Receive Address. Можно задать несколько 7Xe
AT FC SH 7E0
AT FC SD 30 00 00
AT FC SM 1 // Режим Flow Control 1 должен быть определен после FC SH и FC SD, иначе в ответ придет "?"
03 22 F4 0С 55 55 55 55 // UDS запрос оборотов двигателя

Для работы с протоколом KWP2000 через ELM327 нужно только указать адреса назначения и источника.

Последовательность ELM327 AT команд для работы с VW TP 2.0 по CAN шине:

Как подключить и настроить диагностический автомобильный сканер кодов obd ii can?

Как подключить и настроить диагностический автомобильный сканер кодов OBD II CAN?

КРАТКОЕ СОДЕРЖАНИЕ:

  1. Подключите устройство к телефону по Bluetooth
  2. Подключите устройство в настройках программы Torque

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

Для начала давайте рассмотрим само устройство. Оно представляет собой небольшую коробочку, которая является, фактически, переходником для подключения Вашего смартфона к автомобилю через Bluetooth. Всей расшифровкой и обработкой информации занимается Ваш телефон – при помощи специальной установленной программы. Именно наличие практически у каждого человека небольшого смартфона сделало возможным производство бытовых автомобильных сканеров OBD II. Раньше для расшифровки использовались мощные компьютеры, которые устанавливались только в автосервисах. А теперь проверить состояние всех систем Вашего железного коня можно так же легко, как сделать покупку в обычном магазине! А самое главное – автомобильный сканер является «мультимарочным», то есть, подходит для абсолютно любого автомобиля!

Но вернемся к нашему устройству:

Внешний вид автомобильного диагностического сканера OBD 2

Рис. 1. Внешний вид автомобильного диагностического сканера OBD 2

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

Первое, что нам нужно – это найти диагностический разъем в автомобиле. Многие люди сразу лезут под капот, но в большинстве случаев разъем находится внутри салона, где-то под рулевой колонкой. Скажем честно – чтобы его обнаружить, придётся постараться. Советуем использовать фонарик. Зато после того, как он будет найден, Вы сможете устанавливать сканер не глядя.

Код ошибки:  STool - via Diagnosis - коррекция одометров, смотать пробег ⭐ » Страница 4

Следующим шагом идет установка самого сканера. Желательно производить установку при заглушенном автомобиле. Разъем устроен таким образом, что неправильно вставить устройство невозможно.

После установки в разъем на устройстве загорится индикатор. 

Теперь нам понадобится сама программа. Мы (сотрудники интернет-магазина «Азиада») пользуемся смартфонами на Андроиде, поэтому статью пишем исходя из собственного опыта. На смартфонах с другими операционными системами процесс будет очень похож, мы уверены, что Вы без труда разберётесь.

Итак, открываем Google Play Market. Существует большое количество программ для диагностики, они отличаются возможностями, интерфейсом и т.д.. Лично мы используем программу Torque – управление в ней интуитивно понятно и не требует каких-либо особых знаний. Впоследствии Вы всегда сможете установить другой софт.

Приложения в Play Market при поисковом запросе «Torque»

Рис. 2. Приложения в Play Market при поисковом запросе «Torque»

Вбив в поисковую строку «Torque», мы увидим, что таких программ две – платная версия и бесплатная (см. рис. 2). Для начала есть смысл не тратить деньги и поставить бесплатную версию. В 99% случаев ее возможностей достаточно.

Устанавливаем…

И получаем вот такой ярлык на рабочем столе: 

Ярлык программы «Torque» на рабочем столе

Рис. 3. Ярлык программы «Torque» на рабочем столе

Теперь нам нужно соединить смартфон и автомобильный диагностический сканер кодов через Bluetooth. Соединение происходит в два этапа – первым этапом мы должны объяснить Андроиду, что у нас есть новое Bluetooth – устройство и нам нужно его подключить к телефону. Вторым этапом мы должны объяснить программе Torque, что подключенное по беспроводному каналу устройство и есть наш сканер.

Для этого открываем в вашем телефоне «настройки», выбираем закладку «Bluetooth», затем в списке ищем сканер. Если его там нет – вытащите и установите его в разъем еще раз, возможно, он просто впал в «спящий режим».

Подключение автомобильного диагностического сканера через Bluetooth

Рис. 4. Подключение автомобильного диагностического сканера через Bluetooth

Иногда прибор определяется весьма странно, например, как на рисунке – 00:11:10:24:03:49. Но после того, как Вы его подключите, он обретет свое «настоящее» имя и станет называться Aut-Tech.

Итак, щелкаем на устройство в списке. Выскочит окошко, в котором нужно будет ввести пароль – 1234. Возможно, у других устройств пароль будет другим, но это всегда простейшее сочетание символов – 1111, 0000, 1234, 123456 и так далее. После ввода пароля нажмите клавишу «ОК».

Запрос пароля для подключения

Рис. 5. Запрос пароля для подключения

Устройство будет подключено. Обратите внимание на забавный факт – на многих смартфонах значок беспроводного соединения не меняет цвет!

Тем не менее, в списке появится надпись – «авторизовано». 

Устройство Aut-Tech авторизовано

Рис. 6. Устройство Aut-Tech авторизовано

Теперь запускаем саму программу. Затем на экране щёлкаем на кнопку с шестеренкой – это «настройки». В зависимости от типа Вашего устройства и диагонали экрана внешний вид может отличаться от наших картинок. В некоторых случаях настройки вызываются нажатием на отдельную кнопку на корпусе смартфона. Это зависит только от модели аппарата, который Вы используете.

После нажатия появится меню, в котором выбираем «настройки»:

Кнопка «Меню» в программе «Torque»

Рис. 7. Кнопка «Меню» в программе «Torque»

В настройках среди прочего нам нужно проверить раздел «Connection» – должно быть установлено «Bluetooth» (бывают адаптеры с подключением по Wi-Fi, настраиваются практически так же).

И самое главное – нажмите на раздел «Device». Выскочит список всех устройств, которые Вы подключали по Bluetooth – Ваши гарнитуры, беспроводные колонки и прочее. В списке выберите Aut-Tech – это и есть наш диагностический сканер.

Интересующие нас пункты меню

Рис. 8. Интересующие нас пункты меню

Выбор устройства Bluetooth

Рис. 9. Выбор устройства Bluetooth

Примечание: В нашем случае мы ничего не подключали к данному планшету ранее, поэтому в списке и присутствует только «Aut-Tech». У Вас ситуация может быть немного иная. 

ПОЗДРАВЛЯЕМ! УСТРОЙСТВО ПОДКЛЮЧЕНО И РАБОТАЕТ!

Как это проверить? Самый простой вариант – считать показания какого-либо датчика. Идеально для этих целей подходит датчик напряжения на аккумуляторе. Для этого в основном меню программы на пустом поле задержите палец на несколько секунд. Появится меню, выберите «Add Display» -> «Display» -> «Voltage». Выберите желаемый размер дисплея, и он будет помещен на рабочий стол программы. Заведите машину – и индикатор покажет напряжение – 14 вольт когда машина заведена, или 12 вольт если мотор заглушен.

Напряжение на аккумуляторе

Рис. 10. Напряжение на аккумуляторе

Как прописать новый датчик

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

  1. Активация сенсора через систему контроля TPMS Tool.
  2. Через систему Consult II-III переход в режим инициализации.
  3. Прописка в разделе ID registration, ID каждого элемента.

Процесс инициализации или прописки для каждой модели будет различаться. Например, для моделей Вольво прописать датчики можно через дилерский сканер AutoCom Delphi DS150E. Для моделей Инфинити контроллеры активируются бортовой сетью самостоятельно при условии правильно заполненных АйДи для каждого колеса: передние, левое — 36 psi; правое — 34 psi; задние колеса: левое — 28 psi, правое — 31 psi.

Код ошибки:  Как удалить ошибку горит чек неисправности двигателя кашкай

Стоимость прописки датчиков в автосервисе начинается от 500 руб. Если есть трудности с выбором сенсора, необходимо установить контроллер на модель, в которой нет штатной системы мониторинга с выносом данных на внешние устройства, рекомендуется проконсультироваться у специалистов. Правильность прописки зависит от года выпуска авто, параметров ЭБУ и региона использования.

Когда проводится процедура программирования

Перепрограммировать или прописать контролирующие элементы потребуется в нескольких случаях:

  • при замене неисправных контроллеров на новые;
  • смене колес по сезону;
  • при установке сенсоров с подключением к внешним устройствам.

Если проводится смена резины, без переустановки диска инициализация сенсоров не проводится.

Мобильное приложение vag virtual cockpit

Для разработки мобильного приложения подключаемого к автомобилю требовалось:

Мобильное приложение VAG Virtual Cockpit для iOS
Мобильное приложение VAG Virtual Cockpit для iOS

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

Пару слов про точность данных. Штатная панель приборов не точно показывает скорость – завышает показания на 5-10 км/ч, стрелка охлаждающей жидкости всегда на 90 °C, хотя реальная температура может быть 80 – 110 °C, стрелка уровня топлива до середины идет медленно, хотя топлива уже меньше половины и при нуле на самом деле топливо еще есть в баке. Производитель это делает для удобства и безопасности водителя.

На данный момент приложение показывает следующие параметры:

Я стремлюсь чтобы приложение поддерживало как можно больше моделей автомобилей. Пока что поддерживаются производители: Volkswagen, Skoda, Seat, Audi. На разных комплектациях могут отображаться не все параметры, но это поправимо.

Сейчас я провожу тестирование версии 3.0. Приложение доступно только на iOS, после релиза 3.0 перейду к разработке версии для Android.

Подключение к can шине авто

Немного изучив

я выяснил, что у меня используется 2 шины.

Шина CAN силового агрегата, передающая данные со скоростью 500 кбит/с, связывает все обслуживающие этот агрегат блоки управления.

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

Шина CAN системы «Комфорт» и информационнокомандной системы

, позволяющая передавать данные со скоростью 100 кбит/с между обслуживающими эти системы блоками управления.

Например, к шине CAN системы «Комфорт» и информационно<командной системы могут бытьподключены следующие приборы:


Получив доступ к первой можно у управлять движением (в моем варианте на механике, как минимум можно управлять круиз контролем), получив доступ ко второй можно управлять магнитолой, климатом, центральным замком, стеклоподъемниками, фарами и др.

Обе шины связаны через шлюз, который находится в области под рулем, так же к шлюзу подключен диагностический OBD2 разъем, к сожаление через OBD2 разъем нельзя послушать трафик от обеих шин, можно только передать команду и запросить состояние. Я решил, что буду работать только с шиной «Комфорт» и самым удобным местом подключения к шине оказался разъем в водительской двери.

Теперь я могу слушать, все что происходит в CAN шине «Комфорт» и отправлять команды.

Программный сниффер vcds

Программный сниффер VCDS: CAN-Sniffer
Программный сниффер VCDS: CAN-Sniffer

Чтобы узнать по какому протоколу общаются электронные блоки я использовал специальную версию VCDS с программным сниффером в комплекте. В этот раз никаких железных снифферов на Arduino или RPi не пришлось изобретать. С помощью CAN-Sniffer можно подсмотреть общение между VCDS и автомобилем, чтобы затем телефон мог прикинуться диагностической утилитой и отправлять те же самые запросы.

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

Прописка штатного датчика

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

Перед тем как прописать датчики давления в шинах на экспортированном авто необходимо точно знать регион продажи. Самые распространенные частоты, на которых работают сенсоры контроля давления в зависимости от географии рынка:

  • 315 MHz — Северная Америка (рынок США);
  • 433 MHz — Европа (страны ЕС);
  • 434 MHz — Европа (частота для экспортируемых авто из США).

Чтобы избежать непредвиденных ситуаций при переустановке рекомендуется выбирать сенсоры только по ВИН коду.

Протокол uds

Unified Diagnostic Services (UDS) – это диагностический протокол, используемый в электронных блоках управления (ЭБУ) автомобильной электроники. Протокол описан в стандарте ISO 14229-1 и является производным от стандарта ISO 14230-3 (KWP2000) и ныне устаревшего стандарта ISO 15765-3 (Diagnostic Communication over Controller Area Network (DoCAN)).Более подробно в википедии.

Диагностические данные от двигателя по протоколу UDS (Skoda Octavia A7)
Диагностические данные от двигателя по протоколу UDS (Skoda Octavia A7)

Разработка can шилда для raspberry pi

Схему шилда взял здесь

, там же и описание выводов, для общения с CAN используются 2 микросхемы MCP2515 и MCP2551. К шилду подключаются 2 провода CAN-High и CAN-Low. В SprintLayout 6 развел плату, может кому пригодится

(на заглавном фото прототип шилда на макетке).

Разработка приложения для телефона


Используя полученные команды я написал приложение для iPhone, которое открывает/закрывает стекла и управляет центральным замком.

Код ошибки:  Расшифровка индикаторов приборной панели BMW X1 E84

На Raspberry Pi я запустил 2 маленьких сервера, первый отправляет данные с candump в TCP/IP, второй принимает команды от iPhone и передает их cansend.

Исходники приложения управления авто для iOS
//
//  FirstViewController.m
//  Car Control
//
//  Created by Vitaliy Yurkin on 17.05.15.
//  Copyright (c) 2021 Vitaliy Yurkin. All rights reserved.
//

#import "FirstViewController.h"
#import "DataConnection.h"
#import "CommandConnection.h"

@interface FirstViewController () <DataConnectionDelegate>
@property (nonatomic, strong) DataConnection *dataConnection;
@property (nonatomic, strong) CommandConnection *commandConnection;
@property (weak, nonatomic) IBOutlet UILabel *Door_1;
@property (weak, nonatomic) IBOutlet UILabel *Door_2;
@property (weak, nonatomic) IBOutlet UILabel *Door_3;
@property (weak, nonatomic) IBOutlet UILabel *Door_4;
@property (weak, nonatomic) IBOutlet UIButton *CentralLock;
- (IBAction)lockUnlock:(UIButton *)sender;
@end

@implementation FirstViewController

- (void)viewDidLoad {
    self.dataConnection = [DataConnection new];
    self.dataConnection.delegate = self;
    [self.dataConnection connectToCanBus];
    
    self.commandConnection = [CommandConnection new];
    [self.commandConnection connectToCanBus];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)doorStatusChanged:(char)value {
    /*
     1 - Front Left Door
     2 - Front Right Door
     4 - Back Left Door
     8 - Back Right Door
     
     3 - Front Left&Right Door = 1   3
     5 - Front& Back left Door = 1   4
     */
    
    // Front Left Door
    if (value & 1) {
        self.Door_1.backgroundColor = [UIColor yellowColor];
        self.Door_1.text = @"Открыто";
        NSLog(@"1");
    }
    else {
        self.Door_1.backgroundColor = [UIColor lightGrayColor];
        self.Door_1.text = @"Закрыто";
    }
    
    // Front Right Door
    if (value & 2) {
        self.Door_2.backgroundColor = [UIColor yellowColor];
        self.Door_2.text = @"Открыто";
        NSLog(@"2");
    }
    else {
        self.Door_2.backgroundColor = [UIColor lightGrayColor];
        self.Door_2.text = @"Закрыто";
    }
    
    // Back Left Door
    if (value & 4) {
        self.Door_3.backgroundColor = [UIColor yellowColor];
        self.Door_3.text = @"Открыто";
        NSLog(@"4");
    }
    else {
        self.Door_3.backgroundColor = [UIColor lightGrayColor];
        self.Door_3.text = @"Закрыто";
    }
    
    // Back Right Door
    if (value & 8) {
        self.Door_4.backgroundColor = [UIColor yellowColor];
        self.Door_4.text = @"Открыто";
        NSLog(@"8");
    }
    else {
        self.Door_4.backgroundColor = [UIColor lightGrayColor];
        self.Door_4.text = @"Закрыто";
    }
}

BOOL firstStatusChange = YES;
BOOL lastStatus;

-(void) centralLockStatusChanged:(BOOL)status {
    // At first status changes set lastStatus variable
    if (firstStatusChange) {
        firstStatusChange = NO;
        // Invert status, to pass the next test
        lastStatus = !status;
    }
    
    // Change Lock image only if status changed
    if (!(lastStatus == status)) {
        // Check status
        if (status) {
            [self.CentralLock setBackgroundImage:[UIImage imageNamed:@"lock_close"] forState:UIControlStateNormal];
        }
        else {
            [self.CentralLock setBackgroundImage:[UIImage imageNamed:@"lock_open"] forState:UIControlStateNormal];
        }
        lastStatus = status;
    }
}


// Front Left Glass
- (IBAction)frontLeftUp:(UIButton *)sender {
    [self.commandConnection sendMessage:@"cansend can0 181#0200"];
}
- (IBAction)frontLeftDown:(id)sender {
    [self.commandConnection sendMessage:@"cansend can0 181#0800"];
}

// Front Right Glass
- (IBAction)frontRightUp:(UIButton *)sender {
    [self.commandConnection sendMessage:@"cansend can0 181#2000"];
}
- (IBAction)frontRightDown:(id)sender {
    [self.commandConnection sendMessage:@"cansend can0 181#8000"];
}

// Back Left Glass
- (IBAction)backLeftUp:(UIButton *)sender {
    [self.commandConnection sendMessage:@"cansend can0 181#0002"];
}
- (IBAction)backLeftDown:(id)sender {
    [self.commandConnection sendMessage:@"cansend can0 181#0008"];
}

// Back Right Glass
- (IBAction)backRightUp:(UIButton *)sender {
    [self.commandConnection sendMessage:@"cansend can0 181#0020"];
}
- (IBAction)backtRightDown:(id)sender {
    [self.commandConnection sendMessage:@"cansend can0 181#0080"];
}

- (IBAction)lockUnlock:(UIButton *)sender {
    // If central lock closed
    if (lastStatus) {
        // Open
        [self.commandConnection sendMessage:@"cansend can0 291#09AA020000"];

        int64_t delayInSeconds = 1; // 1 sec
        dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
        dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
            [self.commandConnection sendMessage:@"cansend can0 291#0900000000"];
        });
        
    }
    else {
        // Close
        [self.commandConnection sendMessage:@"cansend can0 291#0955040000"];
        int64_t delayInSeconds = 1; // 1 sec
        dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
        dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
            [self.commandConnection sendMessage:@"cansend can0 291#0900000000"];
        });
    }
    
}
@end

Есть способ не писать свое приложение для телефона, а воспользоваться готовым из мира умных домов, всего лишь потребуется установиться на Raspberry Pi систему автоматизации

командой:

wget -q -O - razberry.z-wave.me/install | sudo bash


После этого добавляем наши CAN устройства в Z-Way систему автоматизации

А. Пахомов. Еще раз о диагностике CAN-шины • CHIPTUNER.RU
И управляем стеклоподъемником как обычным выключателем:А. Пахомов. Еще раз о диагностике CAN-шины • CHIPTUNER.RU
Мобильный приложения для Z-Way: ZWay Home Control и ZWay Control.

Разработка сниффера и изучение протокола can шины

А. Пахомов. Еще раз о диагностике CAN-шины • CHIPTUNER.RU

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

Все утилиты из набора can-utils сами умеют разбирать CAN пакеты и отдают только полезную информацию, а именно:

Данные передаются в не зашифрованном виде, это облегчило изучение протокола. На Raspberry Pi я написал маленький сервер который перенаправляет данные с candump в TCP/IP, чтобы на компьютере разобрать поток данных и красиво показать их.

Для macOS я написал простое приложение, которое для каждого адреса устройства добавляет ячейку в табличку и в этой ячейке я уже вижу какие данные меняются.

Нажимаю кнопку стеклоподъемника я нашел ячейку в которой меняются данные, затем я и определил какие команды соответствуют нажатию вниз, нажатию вверх, удержанию вверх, удержанию вниз.

Проверить, что команда работает, можно отправив из терминала, например команду поднять левое стекло вверх:

cansend can0 181#0200


Команды, которые передают устройства по CAN шине в автомобилях VAG (Skoda Octavia 2021), полученные методом реверс-инжиниринг:

// Front Left Glass Up
181#0200
// Front Left Glass Down
181#0800
// Front Right Glass Up
181#2000
// Front Right Glass Down
181#8000
// Back Left Glass Up
181#0002
// Back Left Glass Down
181#0008
// Back Right Glass Up
181#0020
// Back Right Glass Down
181#0080
// Central Lock Open
291#09AA020000
// Central Lock Close
291#0955040000
// Update Light status of central lock (Когда отправляешь команду открыть/закрыть замок то на кнопке управления замком светодиод не изменяет состояние, чтобы он показал реальное состояние центрального замка, нужно отправить команду обновления)
291#0900000000

Мне было лень изучить все остальные устройства, поэтому в этом списке, только то что мне было интересно.

Установка по для работы с can шиной

На Raspbian 2-x годичной давность мне потребовалось пропатчить bcm2708.c, чтобы добавить поддержку CAN (возможно сейчас это не требуется). Для работы с CAN шиной нужно установить пакет утилит can-utils с

Оцените статью
OBD
Добавить комментарий

Adblock
detector