OBD (On-Board Diagnostic) обозначает диагностику и контроль основных узлов автотранспортного средства (шасси, двигателя и некоторых вспомогательных устройств). Для проведения самостоятельной проверки систем чаще всего используется диагностический адаптер ELM327 – компактный прибор, который передает данные о работе авто в режиме реального времени. Все что необходимо для использования ЕЛМ – это ПК, работающий на ОС Windows, телефон или планшет на Андройд или iOS. Если говорить о том, как пользоваться ELM327, то справиться с подключением девайса сможет даже начинающий автовладелец.
Однако прежде чем приступить к эксплуатации устройства, необходимо уточнить совместимость сканера для диагностики с вашим автомобилем.
С какими автомобилями совместим сканер
Чтобы определить какой автосканер подходит для личного авто, достаточно определить протоколы обмена данными. Для этого необходимо взглянуть на колодку OBD-2 и уточнить, какие контакты на ней присутствуют:
Наличие контакта 7 (K-Line) говорит о том, что для диагностики используется протокол ISO 9141-2. Такие диагностические разъемы используются в автомобилях азиатского и европейского производства.
Выводы 4, 5, 7, 15 и 16 свидетельствуют о протоколе ISO14230-4KWP2000, который обычно используется на машинах Daewoo, KIA, Hyundai, Subaru STi и на некоторых моделях Mercedes.
Во всех описанных выше случаях можно смело пользоваться сканером ELM327. Кроме этого, он будет беспрепятственно работать с протоколами:
SAE J1850 PWM/VPW;
ISO 15765-4 CAN 29/11 bit 250/500 Kbaud;
SAE J1939.
Как правило, автосканер ELM327 без проблем устанавливается и подключается на любой автомобиль.
Как подключить на Android
Для подключения сканера ELM327 используется специальное гнездо, которое расположено под рулевой колодкой автомобиля (в салоне).
Полезно! Если сканер устанавливается на ВАЗ и прочие отечественные авто до 2006 года выпуска, то, скорее всего, потребуется воспользоваться переходником или адаптером.
Далее, необходимо:
Скачать в Google Play небольшую утилиту Torque. Это приложение считается самым лучшим, так как оно позволяет дополнительно считывать ошибки систем авто.
Подключить ELM327 в соответствующий разъем.
Завести двигатель авто.
Активировать блютуз на мобильном устройстве.
Зайти в настройки смартфона и перейти в «Беспроводные сети Bluetooth».
Нажать на «Поиск нового оборудования».
Дождаться, пока на экране телефона не отобразится список доступных устройств.
Выбрать из них OBD 2 и соединиться с ним. Для этого требуется указать специальный код сопряжения, чаще всего это 1234 или 0000.
Когда подключение ELM 327 bluetooth будет завершено, можно переходить к настройкам. Для этого заходим в Torque и выбираем «OBD 2 настройки адаптера».
Далее, необходимо выбрать устройство Bluetooth, то есть сам сканер ELM 327.
Через некоторое время установится соединение, и можно будет приступать к диагностике систем автомобиля.
Интерфейс программы
Если говорить про ELM 327 interface OBD 2, то он интуитивно понятен. После установки подключения необходимо дождаться, пока мигающая иконка с изображением автомобиля не перестанет моргать. Если все было правильно, то, устройство сразу начнет работать.
Разберемся, как пользоваться автосканером, а точнее, какие из иконок программы Torque нас будут больше всего интересовать:
OBD Check Fault Code – позволяет считать и расшифровать возможные ошибки автомобиля.
Realtime Information – счетчики, отображающие показатели параметров двигателя в реальном времени. Пользователь может самостоятельно выбирать и добавлять счетчики, которые ему нужны. Для этого необходимо нажать «Добавить экран».
Map View – отображает маршрут передвижения.
Во время движения автомобиля водитель может смотреть за показателями датчиков давления, скорости, расхода топлива и многого другого.
Если же вы хотите получать более развернутые данные о системах авто, то рекомендуется подключиться к сканеру ЭЛМ через ПК.
Как подключить на Windows
Чтобы разобраться, как подключить сканер к компьютеру необходимо скачать программу ScanMaster.
Полезно! Перед использованием программы, скачанной из сети, ее нужно правильно установить. Для этого, сначала найдите файл с названием «Key» или «Keygen» и сгенерируйте ключ доступа. После этого можно запускать установочный файл с расширением «.exe».
После этого необходимо:
Подключить сканер в разъем в автомобиле.
Завести двигатель машины.
Зайти в панель управления компьютера и перейдите в раздел «Устройства Bluetooth».
Нажать «Добавить устройство» и установить галочку рядом с «Устройство готово к обнаружению» и выбрать «Далее».
Некоторое время будет осуществляться поиск доступных устройств, после чего автосканер подключится к ноутбуку.
Повторно нажать «Далее».
В появившемся окне необходимо вбить один из стандартных кодов: 0000, 1111, 1234 или 6789.
Снова нажать «Далее».
Дождаться автоматической интеграции устройства с ПК и нажать «Готово».
На этом установка ПО для сканера завершена.
Если вы являетесь ярым поклонником яблочной продукции, и вариант подключения к ПК или смартфону Android вас не устраивает, то стоит приобрести специальную модель ELM 327 Wi-Fi, которую можно подключить к любому iOS устройству.
Как подключить к iPhone или iPad
Чтобы заполучить свой собственный диагностический центр для проверки работы автотранспортного средства не обязательно подключаться к сканеру через блютуз. Более современные модели ЕЛМ оснащены Wi-Fi модулем, который позволяет использовать для получения данных практически любое портативное устройство.
Рассмотрим, как установить такое соединение:
Подключить сканер к разъему в авто.
Зайти в раздел, отвечающий за настройки беспроводного соединения и выбрать сеть «CLKDevices».
Справа будет синяя стрелка, на которую необходимо нажать.
В появившемся окне нужно ввести данные адреса IP и маршрутизатора: 192.168.0.11. Также нужно указать стандартную маску подсети: 255.255.255.0.
Чуть ниже необходимо указать порт 35000.
На этом настройка заключена. Зная, как пользоваться сканером ELM 327, достаточно установить любое приложение для быстрой диагностики и прописать в ее настройках те же самые параметры IP и порта.
Однако стоит учитывать, что при настройке частных сканеров могут возникнуть трудности.
Наиболее частые ошибки при подключении
Проблемы, которые могут возникнуть при соединении:
Сканер не подключается к ЭБУ. Такое может случиться по нескольким причинам: прибор не подходит для марки/модели авто, неверно подобран переходник или программа. Иногда водитель забывает пройти инициализацию. Реже подключения не происходит из-за банальной механической поломки – вышел из строя предохранитель, который отвечает за работу разъема OBD II.
ELM327 не показывает данные в реальном времени (например, расход топлива). Дело в том, что данная функция доступна только во время движения автомобиля.
Автосканер не считывает или не сбрасывает ошибки. Часто для активации устройства нужен работающий двигатель, поэтому достаточно просто запустить мотор. Некоторые дешевые модели ELM327 не умеют обнулять ошибки ABS, это решаемо, но требуется модификация прибора.
В заключении
ELM327 – это компактный девайс, который позволит значительно сэкономить на диагностике автомобиля, он прост в использовании и позволяет выводить данные почти на любой ПК или телефон. Тем не менее, перед тем, как самостоятельно подключать автосканер, стоит изучить видео, в котором наглядно показан процесс использования ЕЛМ.
avto-moto-shtuchki.ru/jel…-avtoskanerom-elm327.html
ПРиобрести можно здесь ru.aliexpress.com/item/Ne…042311.0.0.75a633edQKKQsR
ЗА 235 р
Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie
Внезапно загоревшийся на приборной панели индикатор CheckEngine может стать неприятным сюрпризом в самый неподходящий момент. Однако есть способ свести к минимуму неудобства от столь нежелательного сигнала, указывающего на неполадки в одной из систем двигателя. Прежде чем торопиться в автосервис решать проблему, можно самостоятельно провести диагностику автомобиля – выявить ошибку, а в некоторых случаях, даже сразу на месте устранить неисправность, тем самым избавив себя от лишних трат времени и денег.
Наиболее популярным, надежным и доступным вариантом для самодиагностики авто является сканер OBD-2. Расскажу подробнее, что представляет собой это устройство, как работает, какие имеет особенности и преимущества. Также поделюсь советами, какой автосканер выбрать для качественной диагностики и на что обратить внимание при покупке девайса.
OBD-2 адаптер – это компактный сканер для самостоятельной диагностики автомобиля. Сам прибор миниатюрный, он вставляется в диагностический OBD2 разъем, который есть в каждом современном авто. Устройство считывает технические показатели автомобиля, позволяет получить точную оценку состояния электроники, выявить не только очевидные, но и скрытые ошибки, а также сбрасывать их.
Автосканер с актуальной технической начинкой имеет возможность беспроводного соединения по Bluetooth или Wi-Fi, чтобы можно было быстро и удобно подключается к смартфону или другому мобильному устройство. Перед диагностикой на телефон или планшет скачивается программа или приложение для диагностики, рекомендую CarScanner.
При выявлении проблемы приложение выдает код ошибки, также некоторые сканеры показывают подробную расшифровку неисправности на русском языке, в иных случаях описание ошибки следует искать самостоятельно в интернете. Многие ошибки зачастую можно сбросить на месте – удобно, если неисправность возникла в неподходящий момент, например, в долгой дороге.
Сканер проверит работу двигателя и электронных блоков управления, состояние топливной системы и всех технических показателей, включая VIN номер и реальный пробег, что будет особенно кстати при покупке поддержанного авто с рук. Современные автосканеры диагностируют следующие параметры автомобиля:
- Обороты и нагрузка двигателя
- Скорость движения и разгона от 0 до 100 км/ч
- Давление во впускном коллекторе
- Температура охлаждающей жидкости
- Данные кислородного датчика
- Заезд на четверть мили
- Опережение зажигания
Примеры неисправностей, которые способен обнаружить OBD-2 сканер:
- Ошибка корректора фар
- Ошибка пневмоподвески
- Неисправность рулевого усилителя
- Неисправность ABS
- Высокий износ колодок
- Неисправность катализатора
- Ошибка адаптивных амортизаторов
- Неисправности трансмиссий
Конечно, не каждый сканер способен проверить вышеназванные характеристики автомобиля. Поэтому перед покупкой обязательно нужно ознакомиться с техническими параметрами устройства, прочитать отзывы пользователей, чтобы приобрести качественный сканер с обширным современным функционалом и возможностями, которые вам требуются.
Вот несколько простых советов, как выбрать диагностический сканер и на какие параметры стоит обращать особое внимание при покупке.
- Рекомендую отдавать предпочтение устройствам с широким функционалом, позволяющим с помощью сканера выполнять не только диагностику всех систем, но и стирание обнаруженных ошибок. Чем больше возможностей у девайса, тем меньше будет поводов обращаться в автосервис для решения проблем.
- Выбирайте сканер с актуальным программным обеспечением, так девайс обнаружит максимум неточностей в работе систем авто, включая самые нетипичные проблемы. Кстати, полезно будет обратить внимание на стоимость обновления ПО, которое может потребоваться в будущем. Уточните, эта услуга платная или бесплатная, и какую имеет цену в первом случае, ведь иногда годовое обновление обходится в половину стоимости самого сканера.
- Крайне полезная опция – подробная расшифровка ошибки на русском языке, она избавит от необходимости тратить время на самостоятельный поиск описания неисправности.
- Быстрое и удобное подключение играет важную роль в том, насколько легко и комфортно будет пользоваться сканером, поэтому следует отдавать предпочтение таким моделям, которые можно подключить к любому мобильному устройству через Bluetooth или Wi-Fi.
- Для исправной работы сканера и корректной диагностики всех систем автомобиля стоит использовать прибор от проверенного производителя. Сегодня даже при ограниченном бюджете нетрудно найти достойный OBD-2 сканер от надежного бренда.
Современный рынок автосканеров настолько разнообразен, что определиться с выбором подходящего устройства может быть сложно даже опытным автомобилистам. В статье по ссылке — Рейтинг лучших автосканеров 2022 года вы можете познакомиться с рейтингом лучших автосканеров 2022 года – подборка включает в себя топовые модели с актуальным функционалом и положительными отзывами пользователей. Рейтинг будет полезен всем, кто сомневается, какой сканер купить для диагностики автомобиля.
Можно с уверенностью сказать, что OBD-2 сканер для диагностики автомобиля – один из самых полезных девайсов современного автомобилиста. Устройство дает своему владельцу массу преимуществ:
- Самостоятельная проверка всех систем автомобиля значительно экономит время и деньги на посещении автосервисов.
- Позволит своевременно выявить проблему и избежать дорогостоящего ремонта.
- Поможет быстро и точно выполнить диагностику при покупке авто с пробегом.
- Подстраховывает и бережет нервы в дороге. Если в длительной поездке загорится индикатор CheckEngine, вы сможете сразу на месте выяснить причину сбоя и даже устранить ошибку.
Сейчас на главной
Новости
Публикации
В современном мире глупо ограждать детей от
различных гаджетов, ведь запретный плод сладок. Так почему бы не выдать ребенку
игровой планшет Hiper
S-Pad, который может похвастаться не
только…
Интерлайт — международная выставка освещения, электротехники, автоматизации зданий и систем безопасности. Вот уже много лет я посещаю ее. Не исключением стал и 2023 год. Москва,…
В течение последних нескольких недель разбирал письма на электронной почте; писал сценарии и статьи; редактировал фотографии и видео; часами сидел на YouTube, но делал это исключительно с помощью…
Несколько дней назад стало известно, что в Белоруссии будет дан старт производству автомобилей китайского бренда Hongqi. Первый замминистра промышленности страны Александр Огородников заявил, что…
В этой статье я расскажу об основных ошибках, которые вы можете допустить при выборе современного холодильника. Помимо этого, в конце поделюсь статьей-подборкой No Frost холодильников….
В последнее время все чаще слышатся голоса, призывающие к применению солнечной геоинженерии — искусственного изменения климата путем отражения части солнечного излучения обратно в…
На приборной панели автомобиля горит ошибка двигателя? Рассмотрим порядок действий для определения причины возникшей неисправности.
В качестве OBD-II адаптера возьмем один из самых дешёвых и популярных — автосканер ELM327.
Для диагностики двигателя и определения кода ошибки понадобятся:
- Ноутбук, планшет или смартфон с Android/iOS (подойдёт одно любое устройство из перечисленного).
- Адаптер ELM327 с подходящим к вашему устройству типом связи (автосканер выпускается в различных версиях — USB, Wi-Fi и Bluetooth). Уточняйте у продавца заранее, будет ли предлагаемый им адаптер совместим с вашим компьютером или смартфоном.
- Специальная программа для интерпретации полученных от автосканера данных (для определения кода ошибки подойдут бесплатные версии программ) — Torque Lite.
Общий порядок действий (на примере устройства с Android и адаптера ELM327 с Bluetooth связью):
- Подключаем адаптер ELM327 к специальному диагностическому разъёму OBD2 в вашем автомобиле.
- Включаем зажигание (можно запустить двигатель — автосканер будет работать даже в движении). На адаптере должны загореться светодиоды.
- Включаем Bluetooth в Android.
- В настройках Android заходим в беспроводные сети Bluetooth, далее выбираем поиск нового устройства для сопряжения. Идентификатор автосканера обычно OBDII, но может быть и другое имя. Стандартный пароль для сопряжения 1234 или 0000 (в случае неудачи попробуйте 9999, 1111, 5678, 6789).
- Открываем диагностическую программу на Android (например, Torque) и следуем инструкции ниже.
Настройка программы Torque для ELM327 и определение кода ошибки
Первым делом подружим программу с нашим диагностическим сканером.
- Нажимаем кнопку «Настройки».
- Выбираем пункт «Настройки адаптера OBD».
- Жмём «Тип подключения».
- Выбираем ваш тип подключения (в нашем случае Bluetooth) и сопряжённый адаптер.
Настройка программы в скриншотах
Осталось только проверить соединение: вернитесь на главный экран программы и нажмите «Adapter Status» (данный пункт меню может называться и по-другому, например «OBD2 Status» или «Состояние адаптера»).
Статус «Ok» должен быть напротив всех четырёх пунктов. Если всё в порядке, то приступайте к диагностике автомобиля.
Возникли проблемы при настройке? Задайте вопрос в комментариях указав модель автомобиля и год его производства, а также как можно больше информации об используемом адаптере и переносном устройстве.
Сканируем ЭБУ на ошибки
Возвращаемся на главный экран программы. Желательно настроить профиль диагностируемого автомобиля, однако вы уже можете провести диагностику.
- Жмём «CHECK Fault Codes» (может называться иначе, например «Считывание ошибок»).
- Получаем код ошибки (в нашем случае P0420, код ошибки всегда содержит только латинские буквы и цифры).
- Данный код можно ввести в форму поиска на нашем сайте. Получаем перевод ошибки на русский язык и советы по устранению неисправности.
Также программа позволяет сбросить ошибки (как это сделать показано на скриншоте).
Если программа показывает, что в ЭБУ нет сохранённых кодов ошибок, то всё в порядке, либо ошибки были сброшены.
Любой может прочитать информацию о неисправности с помощью диагностического устройства и ноутбука или мобильного телефона. Часто лучше доверить это профессионалам.
➤ Считать информацию о неисправностях
➤ Когда вы должны прежде всего считать память?
➤ Где расположен интерфейс OBD-2?
➤ Интерпретация кодов ошибок
➤ Затраты и продолжительность
Современные автомобили имеют все больше и больше технологий. Если происходит сбой в электронике, механике или датчиков, все остается в памяти неисправностей автомобиля. Если память неисправностей считывается, владелец получает всю информацию о дефектах, зарегистрированных его автомобилем, и может устранить их до того, как повреждение со временем ухудшится. Когда следует проверить память неисправностей, как это работает и какие затраты?
Считывание неисправностей памяти автомобиля не очень сложное. При условии, что автомобиль не датируется годом выпуска 2001 (бензин) или 2004 (дизель). С тех пор все модели были оснащены так называемым интерфейсом OBD-2. Аббревиатура OBD обозначает бортовую диагностику, диагностическую систему, встроенную в автомобиль. Если вызывается память ошибок, существующие дефекты могут быть идентифицированы и устранены до того, как они станут серьезными и, следовательно, обычно дорогостоящими проблемами. До того, как системы были стандартизированы с использованием разъема OBD-2, было намного сложнее считывать память ошибок. У каждого производителя автомобилей было как минимум одно соединение, информация была записана и оценена по разным принципам. Мастерские не могли оборудовать себя всеми доступными устройствами для считывания памяти. Даже сегодня владельцам старых автомобилей приходится искать мастерские, которые имеют необходимую технику.
Когда вы должны пройти диагностику ошибок памяти?
Независимо от того, новый или старый автомобиль: нет никаких предписанных интервалов для диагностики автомобиля. Но самое позднее, это когда на приборной панели появятся предупреждающие сигналы, память неисправностей должна быть считана.
Считать ошибки памяти самостоятельно
Каждая мастерская может считать память неисправностей автомобиля. Тем не менее, есть также несколько вариантов считывания памяти неисправностей без помощи мастерских. Это работает через диагностическое устройство, ноутбук или мобильный телефон. Эти устройства подключаются к автомобилю с помощью подходящего адаптера OBD-2. Сообщения об ошибках, включая коды ошибок, отображаются на дисплее. При наличии ноутбука, диагностического адаптера, соответствующего программного обеспечения и, возможно, адаптера для вашей модели автомобиля. Существуют многочисленные и частично бесплатные приложения для считывания памяти неисправностей со смартфона. Если мобильный телефон подключается к блоку управления через разъем Bluetooth OBD-2, драйверы могут сами считывать и удалять сообщения об ошибках.
Где находится интерфейс OBD-2
Для доступа к сохраненным данным мастерской требуется диагностическое устройство и кабель для интерфейса OBD-2. Положение интерфейса OBD-2 не зависит от каких-либо стандартов, но часто находится в непосредственной близости от рулевого колеса, обычно слева от него. В старых автомобилях интерфейс также может быть расположен в багажнике или под крышкой рядом с ручным тормозом. При необходимости, посмотрите инструкцию по эксплуатации автомобиля. Как только порт доступа найден, модуль подключается к нему. Если связь между автомобилем и диагностическим устройством установлена, память неисправностей может быть считана. Специальное программное обеспечение в диагностическом устройстве позволяет отображать сообщения об ошибках на устройстве. Каждая ошибка хранится в виде определенного кода. Профессионалы знают самые распространенные коды. В Интернете существует множество списков, которые помогут расшифровать коды. Большое количество кодов быстро показывает, насколько сложны современные транспортные средства и сколько информации хранится.
Интерпретация кодов ошибок
В мастерских используются профессиональные измерительные приборы, которые могут гораздо точнее считать информацию, чем диагностические приборы для личного пользования.
Любой, у кого есть подходящее диагностическое устройство, может прочитать память ошибок. Тем не менее, вы должны посетить мастерскую позже, чтобы исправить ошибки. Потому что коды ошибок могут иметь разные причины и поэтому не могут быть установлены точно. Даже если ошибка описана, далеко не всегда ясно, как ее можно исправить. Если, например, появляется сообщение «P0300: Пропуск зажигания в цилиндре 1», причина не может быть четко определена. Владельцы авто должны искать проблему, но эксперты могут ограничить область непосредственно свечами зажигания, кабелями зажигания или катушками зажигания. Владельцы недорогих диагностических приборов не имеют этих опций. Ежегодные обновления профессиональных измерительных приборов, которые включают все соответствующие обновления, а также новые модели, недоступны для домашнего использования. Диагностические устройства из Интернета часто могут провести только поверхностную диагностику, их область применения очень ограничена. Предлагаются даже профессиональные устройства, программное обеспечение которых может выполнять поиск практически во всех областях автомобиля, но они очень дорого стоят и вряд ли их стоит приобретать человеку, который лишь изредка считывает память неисправностей. Так что каждый может считать ошибки, но их интерпретировать и исправлять лучше специалистам.
Считать память неисправностей: стоимость и продолжительность
Если диагностика неисправностей проводится в мастерской, это стоит от 25 до 60 евро. Это становится дороже, когда обнаруживаются серьезные ошибки, которые должны быть исправлены немедленно. Какова будет стоимость счета, зависит от соответствующего ремонта. Иногда память ошибок считывается бесплатно в некоторых авторизованных мастерских. Тем не менее, продолжительность этого процесса всегда одинакова, в среднем от 15 до 30 минут. Диагностическое устройство OBD-2 для независимого считывания ошибок стоит от 20 евро и обычно совместимо с большинством моделей автомобилей. Если предлагаются чрезвычайно дешевые модули ODB-2, это часто товары из Китая, которые не соответствуют требованиям или не функционируют вообще.
Время на прочтение
6 мин
Количество просмотров 60K
При создании приложения мы столкнулись с множеством выборов, проблем и так далее, с которыми попробуем ознакомить вас в этой статье. Как оказалось с автомобилем можно вести диалог, причем довольно таки продуктивный. Естественно для того чтобы организовать общение с автомобилем необходимо «установить контакт», «задать правильный вопрос» и правильно понять «ответ», полученный от автомобиля. Соответственно статья и будет нацелена на то, чтобы доступным языком объяснить организацию диалога, а также рассказать вам какие ошибки могут встретиться вам на пути и как с ними бороться.
Выбор подключения
Изначально необходимо пояснить что для подключения к авто будет использоваться ELM327 адаптер. ELM327 – это микросхема, которая позволяет преобразовать протоколы, используемые в диагностических шинах автомобилей в протокол RS232, которым мы и будем передавать данные. За счет того что передача данных по протоколу RS232 происходит последовательно возникает первая проблема – скорости передачи данных, которую мы постараемся обойти в одном из следующих пунктов.
Существует несколько вариаций адаптера ELM327, которые классифицируются по способу передачи данных – Bluetooth, WIFI, USB. Исходя из того что целью разработки является мобильное устройство под операционной системой Android можно подобрать две наиболее подходящие версии ELM327, такие как Bluetooth и WIFI. Так как способ получения и обработки данных один, а отличаются они всего лишь вариантами подключения к адаптеру, то можно выбрать всего один, организовать при помощи него диалог, а после добавить остальные варианты подключения.
ELM327 1.5 vs ELM327 2.1
Одной из первых проблем, с которыми можно столкнуться стала проблема выбора непосредственно адаптера, в нашем случае Bluetooth. Оказывается если вам необходимо поддерживать все (по крайней мере большинство) автомобилей необходимо выбирать версию v1.5 вместо v2.1, что на самом то деле необходимо несколько раз уточнить при покупке адаптера, потому как продавцы пытаются выдать версию адаптера не за ту, которая есть на самом деле, т.к. они особо ничем не отличаются. На деле же в версии v2.1 отсутствует поддержка протоколов J1850 PWM и J1850 VPW, что говорит о том, что у вас не получится подключиться к автомобилям, которые используют эти протоколы.
Подключение
Подключение к адаптеру происходит в несколько этапов:
- Подключение к адаптеру (Bluetooth, WIFI)
- Отправка инициализационных команд (инициализационной строки)
Если с организацией подключения все понятно. Принцип работы такой же как и у любого Bluetooth/WIFI чата. То для того чтоб понять как отправлять инициализационную строку, необходимо изучить какие команды существуют, а также какие функции они выполняют.
AT Z [reset all]
Сброс настроек адаптера до заводского состояния.
AT L1-0
Включить/Отключить символы перевода строки.
AT E1-0
Echo on – off
AT H1-0
Headers on – off
AT AT0-1-2
Adaptive Timing Off — adaptive Timing Auto1 — adaptive Timing Auto2
AT ST FF
Установить таймаут на максимум.
AT D [set all to Default]
Сброс настроек в исходное, настроенное пользователем состояние.
AT DP [Describe the current Protocol]
Сканер способен самостоятельно определять протокол автомобиля, к которому он подключен.
AT IB10 [set the ISO Baud rate to 10400]
Команда устанавливает скорость обмена данных для ISO 9141-2 и
ISO 14230-4 10400
AT IB96 [ set the ISO Baud rate to 9600]
Команда устанавливает скорость обмена данных для ISO 9141-2 и
ISO 14230-4 9600 для протоколов 3,4,5.
AT SP h [ Set Protocol h]
Команда выбора протокола h, где h:
0 – Automatic;
1 — SAE J1850 PWM (41.6 Kbaud);
2 — SAE J1850 VPW (10.4 Kbaud);
3 — ISO 9141-2 (5 baud init, 10.4 Kbaud);
4 — ISO 14230-4 KWP (5 baud init, 10.4 Kbaud);
5 — ISO 14230-4 KWP (fast init, 10.4 Kbaud);
6 — ISO 15765-4 CAN (11 bit ID, 500 Kbaud);
7 — ISO 15765-4 CAN (29 bit ID, 500 Kbaud);
8 — ISO 15765-4 CAN (11 bit ID, 250 Kbaud);
9 — ISO 15765-4 CAN (29 bit ID, 250 Kbaud);
AT SP Ah [Set Protocol h with Auto]
Команда устанавливает по умолчанию протокол h, если подключение по протоколу h не удалось, тогда адаптер начинает автоматический подбор протокола.
Исходя из описанных выше команд, формируем инициализационную строку.
initializeCommands
= Arrays.asList("ATZ", "ATL0", "ATE1", "ATH1", "ATAT1", "ATSTFF", "ATDP", "ATSP0");
Желательно давать возможность пользователю сменять инициализационные команды, потому как для того чтобы подобрать «ключ» к некоторым авто необходимо выбрать более подходящие настройки адаптера. В нашем же случае используются настройки, которые походят для большинства стандартных протоколов.
Так же желательно обратить внимание на команду APSP0, таким образом мы устанавливаем по умолчанию автоматический подбор протокола, это может занять некоторое время.
Соответственно если пользователь знает какой у его авто протокол, то используя возможность смены протокола подключения он может поменять 0 на номер его протокола.
Считывание диагностических данных
Для считывания диагностических данных используются специальные команды PID’s.
PID (Parameter id’s — Бортовые диагностические идентификаторы параметров) – коды, которые используются для запроса показателей определенных датчиков автомобиля.
Основные пиды можно найти в Википедии, там полный набор основных команд, которые должны поддерживать все автомобили. Так же есть наборы команд для определенных марок и типов автомобилей, эти наборы предоставляются за отдельную плату. В нашем случае приложение заточено на базовую диагностику автомобилей соответственно мы используем базовый набор команд.
Также есть возможность получать текущие данные от автомобиля при этом команда получения данных от авто будет иметь вначале 01, указывая на то что мы хотим получить real data. Если же мы хотим получить сохраненные данные автомобиля, то вначале команды необходимо указать 02. Например, команда для получения текущей скорости автомобиля – 010D, а для получения сохраненной скорости – 020D.
Если внимательно посмотреть на то количество команд, которое предоставляется открытыми ресурсами, то можно как раз и заметить ту проблему, о которой я писал в самом начале, а именно проблема скорости ответа адаптера. Так как отправка и получение команд идет последовательно, то для того чтобы получить показания датчика на текущий момент времени необходимо дождаться ответа на все предыдущие команды. Соответственно если запрашивать на получение все команды, то большая вероятность того что обновление реальных данных будет происходить очень медленно. Но и эту проблему можно решить, если воспользоваться командами, которые отобразят только те команды, что существуют в автомобиле. Например:
0100 – PIDs supported [01 — 20]
0120 – PIDs supported [21 — 40]
0140 – PIDs supported [41 — 60]
0160 – PIDs supported [61 — 80]
0180 – PIDs supported [81 – A0]
01A0 – PIDs supported [A1 — C0]
Я продемонстрирую как определить какие датчики присутствуют в автомобиле при помощи одного из пидов. Например:
- 0100 \\ запрос
- BB1E3211 \\ ответ от авто
Переводим ответ от автомобиля в двоичную систему счисления
BB1E3211(16) > 10111011000111100011001000010001(2)
Используя следующую табличку можем определить какие пиды поддерживаются нашим автомобилем, начиная от 01 до 20:
Исходя из получившихся данных можем определить, что наш автомобиль поддерживает следующие пиды:
01, 03, 04, 05, 07, 08, 0C, 0D, 0E, 0F, 13, 14, 17, 1C, 20
Теперь вместо отправки всех 32 команд и ожидания ответа на них, несмотря на то, что некоторые могут отсутствовать, мы будем использовать всего 15 команд. Но и это не предел так называемой оптимизации. Для того чтобы данные обновлялись еще быстрее советую запрашивать только данные о тех датчиках, которые отображаются на экране. Хотя это ограничивает некоторый функционал приложения. Например, запись истории.
Считывание и расшифровка ошибок автомобиля
Ошибки автомобиля тоже могут быть различными и для них тоже существуют отдельные команды. Например:
- 03 – Для отображения сохраненных кодов ошибок
- 0A – Для отображения постоянных кодов ошибок.
Так как и с остальными командами ошибки автомобиля приходят в закодированном виде, соответственно, как и в остальных командах их нужно раскодировать чтоб получить необходимую информацию. Приведу пример работы декодирования ошибки. Код:
private final static char[] dtcLetters = {'P', 'C', 'B', 'U'};
private final static char[] hexArray = "0123456789ABCDEF".toCharArray();
private void performCalculations(String fault) {
final String result = fault;
String workingData = "";
int startIndex = 0;
troubleCodesArray.clear();
try {
if (result.contains("43")) {
workingData = result.replaceAll("^43|[\r\n]43|[\r\n]", "");
} else if (result.contains("47")) {
workingData = result.replaceAll("^47|[\r\n]47|[\r\n]", "");
}
for(int begin=startIndex; begin < workingData.length(); begin += 4) {
String dtc = "";
byte b1 =
Utility.hexStringToByteArray(workingData.charAt(begin));
int ch1 = ((b1 & 0xC0) >> 6);
int ch2 = ((b1 & 0x30) >> 4);
dtc += dtcLetters[ch1];
dtc += hexArray[ch2];
dtc += workingData.substring(begin + 1, begin + 4);
if (dtc.equals("P0000")) {
continue;
}
troubleCodesArray.add(dtc);
}
} catch (Exception e) {
Log.e(TAG, "Error: " + e.getMessage());
}
}
А теперь пояснение.
Исходя из полученного ответа мы можем получить код ошибки, для этого декодируем полученное сообщение используя следующие таблички.
Первый символ:
Второй символ:
3, 4, 5 символы формируются по этой таблице:
Исходя из этого можем попробовать разобрать следующий ответ 0001000000111110
Код ошибки: P103E
Эпилог
На данном этапе мы разобрались в том, каким образом организовать диалог с адаптером, посылать ему команды, получать и расшифровывать его ответы. Это большая часть работы, если считать то, сколько времени уходит на изучение материала, но в то же время довольно таки интересная. За пределами этой статьи осталось множество проблем связанных с визуальным интерфейсом, а также множество дополнительных функций, таких как добавление новых пидов из файла, стандартный и расширенный способ подключения к адаптеру и построения графиков.
Матвиенко Александр, Хоссейн Фахр.
P.S. Оригинальную английскую версию статьи можно найти здесь