Можно ли через obd2 завести машину

Обновлено: 07.07.2024


А что вы имеете ввиду под "приложение, которое пока не опубликовано"? Вроде на Маркете есть.




Не совсем понял при каких условиях эта программа будет работать? К примеру kaptur/duster без medianav магнитолы и автозапуска, но с правильным ELM327 v1.5 адаптером все должно работать?


Это программа для настройки автозапуска, без него она работать не будет


Что необходимо докупить чтобы работало?


Докупить ничего не получится. Renault Start ставится на заводе. Тогда у вас три кнопки на ключе и с медианав можно программировать запуск


А блок bic не решит эту проблему?


Ну при чем здесь бик? Бик всего лишь пересылает данные между двумя шинами
Для автозапуска нужен блок автозапуска 285905828R, как это неудивительно. Но просто так его не поставить




Хм, действительно
Но нажатие в верхний правый угол все равно отрабатывается
В любом случае спасибо, исправлю




Завтра попробую тестовую. Адаптер нормально все показывает и позволяет изменять параметры через Python27 с ноутбука. Буду пробовать поставить приложение на ГУ с Андроид — ELM с ним сейчас связан. Получится — конечно нужно покупать приложение. Сразу просьба — графический интерфейс удобный не только для смартфона, но и для горизонтального монитора ГУ на Андроид.


Вроде программа более-менее в ландшафтном режиме выглядит
PS
Так и планировалось, что люди будут проверять у себя на тестовой версии и если все работает, брать полную

Ни для кого не секрет, что в современных автомобилях все системы под завязку забиты различной электроникой, даже простой стеклоподъемник имеет собственный микроконтроллер и адрес в общей сети. Мне, как интересующемуся владельцу, стало интересно, что же можно сделать имея просто доступ к разъему OBD и ничего более.

Все описанное в статье относится к автомобилю 2008 года (Mitsubishi Lancer), но как показала практика, спустя 10 лет у производителя ничего не изменилось и все функции продолжают использоваться и работать на современных авто.

Строение сети в автомобиле изображено на картинке:

image

В открытом доступе лежит ПО для дилерских центров под названием MUT III. Изучив базы данных из него, можно найти всю интересующую нас информацию.

О адресах (запрос-ответ) в CAN сети:

image

image

Взглянув в таблицу, узнаем, что нужны байты 2 и 3.

image

Значение в int16. 0xFFEA = -22, умножая на коэффициент 0,04375 получаем угол поворота руля -0,9625 градуса.

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

image

Хорошо, все что хотели мы узнали, а какая от этого польза? Вот если что-нибудь изменить/включить/отключить…

Небольшое отступление. Почти во всех автомобилях для проведения диагностики и обслуживания используется механизм UDS (он же ISO 14229).

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

В итоге имеем расшифрованный ответ от вариатора: 7F — запрос отклонен, 31 — это PID, который мы отправляли и Negative response code 33, а именно Security Access Denied. То есть, у нас нет прав на изменение или запрос этой функции. У кого же она есть?

image

Таким образом, через OBD разъем можно делать с автомобилем практически все: менять VIN номера в блоках, настраивать кодировку (конфигурацию), менее чем за секунду отключить иммобилайзер, очищать информацию об ошибках, вводить блок в состояние загрузки, когда можно загрузить в RAM контроллера любой код и выполнить его. Система безопасности у японцев слегка хромает.

Пример изменения конфигурации на видео:


Статья написана исключительно в ознакомительных целях. Любое вмешательство в электронные блоки управления автомобиля может стать для них последним. Всем хорошего дня!


После того как мы подковались теоретически (см. Часть 1) и уже представляем, что стоит, а чего и не стоит ожидать от подключения смартфона к вашему авто, можем переходить к практике.


Начнем с того, что для успешной авто диагностики важно наличие 3 устройств:
1. Автомобиль
2. Адаптер
3. Мобильное устройство (ноутбук, ПК, смартфон)

Автомобиль

Итак, у вас есть машина и вы хотите знать можно ли, и если можно, то с помощью чего подключаться к вашему автомобилю.
Наличие диагностического разъема (DLC), основная функция которого — обеспечить связь диагностического сканера с блоками управления, автоматически предполагает возможность подключиться к бортовому компьютеру автомобиля извне, в том числе и со смартфона используя соответствующий адаптер. Но как уже говорилось в предыдущей части из множества различных DLC разъемов и проприетарных протоколов мы рассмотрим только соответствующие своду стандартов OBD-II, тем более что данному стандарту соответствует большинство современных автомобилей.

И так, первый вопрос: Соответствует ли мой автомобиль стандарту OBD-II?

  • машина выпускалась для рынка США (OBD-II) после 1996 г.
  • машина выпускалась для рынка Евросоюза (EOBD), бензиновые после 2001 г., дизельные после 2004 г.
  • машина выпускалась для рынка Японии (JOBD) после 2004 г.

Следующим шагом может быть поиск соответствующей наклейки под капотом авто.
Наклейка должна содержать информацию о соответствии стандарту и может содержать аббревиатуры OBD-II, EOBD или JOBD. Выглядеть она может по-разному, вот некоторые из возможных вариантов.

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


Мы ищем 16-контактный диагностический разъем трапециевидной формы, такой как на рисунке. Разъем DLC должен соответствовать стандартам SAE J1962. Согласно этим стандартам, разъем DLC обязан занимать определенное центральное положение в автомобиле. Он должен находиться в пределах 16 дюймов (40 см) от рулевого колеса. Производитель может разместить DLC в одном из восьми мест, определённых EPA. Каждый контакт разъема имеет свое назначение.


В соответствии со стандартом диагностический разъем должен располагаться недалеко от рулевой колонки, чаще всего внизу под торпедой левее, правее или непосредственно под рулевой колонкой. Однако встречаются и экзотические случаи:
за панелью на передней стороне торпеды, за откидным ящичком возле водительской двери и т.д., всего возможных мест расположения 8, мы попытались проиллюстрировать картинками со стрелочками и подсказками где можно искать разъем.

1. На стороне водителя, под щитком приборов, в области под рулевой колонкой: Skoda Octavia Tour, 2008 г., Volkswagen Transporter 2002 г.
2. На стороне водителя, под щитком приборов, в области между дверью водителя и рулевой колонкой — Ford Focus C-Max, 2006; Ford Focus (USA) 2001 г., Fiat Linea, 2008; Subaru, Impreza WRX, 2005.

3. На стороне водителя, под щитком приборов, между рулевой колонкой и центральной консолью. Также разъем может находиться на самой консоли со стороны водителя. Honda Civic 2009 г.

4. На стороне водителя, в области щитка приборов, между рулевой колонкой и центральной консолью Volkswagen Passat 1996 г…

5. На стороне водителя, в области щитка приборов, между дверью водителя и центральной консолью BWM X5 2001г.

6. Центральная консоль, на вертикальной поверхности (радио, пульт управления отоплением и т.д.). Доступ к диагностическому разъему может быть закрыт пепельницей, монетницей, держателем стакана и т.д. Honda Accord (США) 1997г.

7. На стороне пассажира, на центральной консоли Honda Shuttle 1996 г.в…

8. Центральная консоль, на горизонтальной поверхности Volvo 850 95-97г.в..

Возможные результаты поиска:

Адаптер

  • Во-первых, для передачи информации могут использоваться различные физические линии (контакты), K-Line, L-Line…
  • Во-вторых, могут значительно отличаться частоты передачи от 4,8 до 500 Кбод.
  • В-третьих, могут отличаться правила формирования вспомогательной информации: заголовков и окончаний пакетов.


Подавляющее большинство современных адаптеров базируется на микроконтроллере ELM327, пиратских копиях ранней версии ELM327, либо на микроконтроллере STN1110 (совместимом с ELM327 на командном уровне). Как уже упоминалось выше для связи с компьютером или смартфоном может использоваться беспроводное (Bluetooth, Wi-Fi Direct) или проводное (USB, RS232). Во всех случаях речь идет о последовательном соединении поверх перечисленных интерфейсов. Выбор конкретного типа интерфейса зависит от возможностей поддержки данного интерфейса вашим компьютером или смартфоном.

Мобильное устройство

(ноутбук, ПК, смартфон и т.д.)

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

iPhone & iPad. Единственный доступный вариант подключения (не считая экзотики в виде специализированного кабеля или сертифицированных Bluetooth адаптеров) это Wi-Fi Direct соединение, поскольку доступ к Bluetooth соединению средствами стандартного API ограничен и не позволяет установить необходимый тип соединения с адаптером.

Windows CE, Windows Mobile, Windows Phone. Windows CE и Windows Mobile устройства достаточно открыты в плане низкоуровневых аппаратных интерфейсов, соответственно при наличии физического интерфейса в устройстве подключиться к нему будет возможно. Чаще всего используется Bluetooth адаптер.
Windows Phone устройства версий 7.x не имеют необходимого доступа к Bluetooth и Wi-Fi на уровне стандартного API. Реализация взаимодействия с адаптером на этих устройствах проблематична.
Windows Phone 8.x получил необходимый уровень поддержки для работы с Bluetooth адаптерами.

BlackBerry. Возможна реализация взаимодействия с Bluetooth адаптерами.

Symbian. Возможна реализация взаимодействия с Bluetooth адаптерами.

Из вышесказанного можно сделать вывод: более универсальны, с точки зрения поддерживаемых устройств Bluetooth адаптеры, но если вам необходимо подключаться с устройств компании Apple то нужно искать Wi-Fi Direct адаптеры.

С интерфейсами боле менее разобрались. Теперь, думаю, многих может заинтересовать вопрос выбора микроконтроллера (ELM327, ELM327 клон, STN1110), поскольку цены могут отличаться более чем на порядок от $5-7 до $100 и более за устройство.

ELM327 – оригинальная разработка и продукт компании ELM Electronics. Актуальные версии 1.3a, 1.4b и совсем новая 2.0. Стоимость решений на базе оригинального ELM327 обычно в районе $100, поскольку стоимость самих микроконтролеров $15-$25.

STN1110 – разработка компании OBD Solutions . Независимая разработка совместима на уровне команд с ELM327. Обладает некоторыми расширенными возможностями, в частности декларируется наличие больших возможностей (по сравнению с ELM327) при работе с не OBD-II командами. Также заметно выше (2-4 раза) скорость считывания данных по сравнению с ELM327 версий 1.x. Сравнить с версией ELM327 2.0 возможность еще не представилась. Стоимость такого адаптера (нам известен только один OBDLink MX) $150.

И наконец, Выводы! С нашей точки зрения в 90% случаев возможностей дешевых клонов ELM327 вполне достаточно для подключения к автомобилю и решения простых задач: диагностики автомобиля, считывания и анализа динамических параметров и их соотношений, сброса ошибок и т.п. Использование более дорогих адаптеров оправдано в тех случаях, когда вы точно представляете, что вам нужно от адаптера и каких возможностей вам не хватает в клонах.

Открытым остается вопрос приобретения выбранного адаптера. В зависимости от вашего выбора интерфейса Bluetooth, Wi-Fi, USB, — вводите в строке поиска любимого поисковика одну из фраз “ELM327 Bluetooth”, “ELM327 Wi-Fi” или “ELM327 USB” и выберите подходящий вам вариант поставки – местные продавцы или глобальные интернет площадки вроде eBay или AliExpress.

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


Мы продолжаем цикл статей о том, как подключиться к бортовой системе своего автомобиля (см. Часть 1 и Часть 2 ) и сегодня расскажем как считывать данные.

Предполагается, что к текущему моменту у нас есть машина с диагностическим разъемом, отвечающим OBD-II стандарту, любимое мобильное устройство (ноутбук, смартфон, планшет) и адаптер на базе ELM327, который позволит соединить машину и мобильное устройство.

Как уже говорилось в предыдущей части, независимо от типа связи между мобильным устройством и адаптером (Bluetooth, Wi-Fi, USB) на логическом уровне, — это последовательное соединение. На программном уровне необходимо открыть Socket соединение между компьютером и адаптером поверх имеющегося соединения нижнего уровня. Практическая программная реализация будет зависеть от операционной системы и типа соединения, примеров можно найти массу под все ваши любимые языки программирования. В качестве базового примера можно брать реализацию соединения на примерах чат-программ для Bluetooth или TCP\IP. В данной статье мы не будем останавливаться подробно на реализации такого соединения, для экспериментов нам хватит возможностей имеющихся программ а-ля Telnet, для экспериментов под Андроид и iOS мы встроили простую командную консоль в наше приложение OBD Car Doctor.

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

  • Для ноутбука с Windows (Linux) можно воспользоваться Putty ,
  • для Андроид и iOS можно воспользоваться OBD Car Doctor Android, OBD Car Doctor iOS. Обратите внимание, что на момент публикации статьи на iTunes может еще быть старая версия 1.2, консоль будет доступна в версии 1.3.
После скачивания и установки программ пора брать компьютер (смартфон), адаптер и выдвигаться к машине. Распечатка этой статьи тоже не помешает.
Подробнее остановимся на связи с Bluetooth адаптером, как наиболее популярном и распространенном типе адаптеров.

Windows:

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

Смотрим на свойства, вкладка Оборудование

Теперь свойства Последовательного порта.

Видим и запоминаем, что Последовательное подключение Bluetooth мапится на порт COM3. Если есть необходимость, меняем на другой порт. Теперь запускаем Putty и настраиваем программу на работу с определенным на предыдущем шаге COM портом (в примере с COM3).

Итак, вводим имя COM порта, скорость 9600, тип Serial и кликаем Open для открытия терминального окна.

Android:

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

Выше мы упомянули, что команды подразделяются на 2 типа: команды управления адаптером и собственно OBD-II команды. Обычно команды управления начинаются с последовательности AT, в то время как OBD-II команды состоят только из шестнадцатеричных цифр.

Итак, наша первая команда:

• Следующей командой может быть команда установки протокола, вводим команду ATSP0, в ответ мы должны получить
ATSP0 OK >
Команда ATSP0 не устанавливает непосредственно протокол взаимодействия адаптера с автомобилем, это специальная команда, которая устанавливает автоматический режим определения протокола адаптером. Для непосредственного поиска и установления связи мы должны послать OBD-II команду.


• Отправляем команду 0100 (которая расшифровывается как MODE 01, PID 00), в случае успеха мы должны получить что-то вроде
0100 Searching…
41 00 XX XX XX XX >
Где X может быть любой шестнадцатеричной цифрой.

Здесь обратим внимание на несколько моментов:

• пробелы могут игнорироваться как в командах так и в ответах; наличие или отсутствие пробелов в ответе управляется отдельной командой ATS <0|1>
• в ответе может присутствовать или отсутствовать эхо (т.е. повтор команды, как в приведенном выше примере); наличие или отсутствие пробелов в ответе управляется отдельной командой ATE <0|1>
• сам ответ на команду содержит модифицированное значение команды, а именно (mode+0x40)(PID), т.е. положительный ответ на команду 0100, должен начинаться с 4100.

В случае неудачи ответы могут быть следующими:

0100 SEARCHING.
UNABLE TO CONNECT >
или
0100 SEARCHING.
NO DATA >

Подобные ответы означают, что адаптеру не удалось автоматически определить протокол связи с авто.

Вместо автоматического поиска протокола можно явно установить номер протокола, поддерживаются шестнадцатеричные номера от 1 до C.
1 - SAE J1850 PWM
2 - SAE J1850 VPW
3 - ISO 9142-2
4 - ISO 14230-4 KWP (5 baud init)
5 - ISO 14230-4 KWP (fast init)
6 - ISO 15765-4 CAN (11 bit, 500 Kbaud)
7 - ISO 15765-4 CAN (29 bit, 500 Kbaud)
8 - ISO 15765-4 CAN (11 bit, 250 Kbaud)
9 - ISO 15765-4 CAN (29 bit, 250 Kbaud)
A - SAE J1939 CAN (29 bit, 250 Kbaud)
B - USER1 CAN (11 bit, 125 Kbaud)
C - USER2 CAN (11 bit, 50 Kbaud)

Например, для явного установления связи по протоколу ISO 9142-2 набираем команду ATSP3, получаем в ответ ATSP3 OK >
И проверяем результативность командой 0100, опять же в случае успеха ожидаем увидеть
0100 Searching…
01 00 41 00 XX XX XX XX >

Если видим что-то другое, вроде
0100 BUS INIT:
…ERROR
Что значит — связь по данному протоколу не установлена.

Для тестирования и установления протокола связи может использоваться любая поддерживаемая автомобилем OBD-II команда, но рекомендуется использовать именно 0100, поскольку она должна поддерживаться производителем в соответствии со стандартом. Данная команда должна возвращать информацию о поддержке PID c 01 по 20 для MODE 01.

Напомним, что MODE 01 отвечает за чтение динамических параметров автомобиля (скорость, обороты, температуры и т.д.) в реальном времени. Соответственно, прочитав ответ на 0100, который содержит информацию о том, какие из PID c 01 по 20 (шестнадцатеричные) поддерживаются. Для расшифровки мы должны конвертировать шестнадцатеричное представление числа в бинарное, при этом позиция бита (от старшего к младшему) соответствует номеру PID (от 01 до 20).
Например, ответ содержащий 80 00 00 00 = 1000 0000 0000 0000 0000 0000.
Означает поддержку единственного PID, а именно 01.

Сейчас вы можете прочитать ответ вашего автомобиля на команду 0100 и узнать номера всех команд (PID) поддерживаемых в вашем автомобиле. Обратите внимание, что если поддерживается команда 0120, то отправив ее, можно прочитать номера поддерживаемых PID в диапазоне 21 – 40 и т.д., т.е. 0100, 0120, … 01D0, которые отвечают за определение номеров всех поддерживаемых команд в MODE 01.

Чтобы закрепить полученные знания, предлагаем выполнить еще одну простую команду и разобрать результат. Если вы расшифровали ответ команды 0100 и получили, что PID 0C поддерживается, отправим команду 010C (обороты двигателя), ответ должен быть в виде:
01 0C 41 0C 0B B8 >
Для получения значения в оборотах в минуту, необходимо полученный ответ (0B B8 = 3000) разделить на 4, т.е. получаем 750 об/мин.
Список поддерживаемых стандартом команд и формулы преобразования можно найти здесь.

Управляем электроникой автомобиля через смартфон

Лучше, чем бортовой компьютер: устройство OBD-2 позволяет более тонко осуществлять настройку и управление электроникой машины. Мы расскажем, как помочь автомобилю и смартфону правильно понимать друг друга, а также покажем соответствующие приложения для iOS и Android.


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

OBD-2-разъем в автомобиле

Необходим только лишь маленький модуль с Bluetooth или WLAN, который можно приобрести примерно за 500 рублей. С помощью этого модуля вы быстро получите доступ к системе OBD-2 (On-Board-Diagnose), которой оснащается каждый бензиновый автомобиль, выпущенный не ранее 2001 года, и каждый дизельный — начиная с 2004 года. Место, в котором располагается разъем OBD-2, зависит от производителя и конкретной модели, но чаще всего его можно найти под панелью приборов со стороны водителя.

Так мобильный телефон превращается в бортовой компьютер

Smart Control Lite

Чтобы получить возможность использовать мобильный телефон в качестве бортового компьютера и диагностического прибора, вы должны подключить его через Bluetooth или WLAN к разъему OBD-2.

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

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

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

Примечание: из-за ограничений, которые имеют Bluetooth-протоколы под iOS, с iPhone совместимы только OBD-2-модули с WLAN-связью.

OBD-2-приложения для Android и iOS

Смартфон должен обладать способностью правильно обмениваться информацией с автомобилем, то есть с модулем, подключенным к разъему OBD-2 — и для этого необходимо соответствующее приложение.

Несколько интересных программ, которые могут предложить что-то действительно стоящее, мы собрали для вас воедино в нижеприведенной таблице для Android (Google Play) и iOS (Appstore).

Читайте также: