Как пользоваться автосканером ELM327
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 – это компактный девайс, который позволит значительно сэкономить на диагностике автомобиля, он прост в использовании и позволяет выводить данные почти на любой ПК или телефон. Тем не менее, перед тем, как самостоятельно подключать автосканер, стоит изучить видео, в котором наглядно показан процесс использования ЕЛМ.
Разработка Android приложения для работы с OBDII протоколом
Задумывались ли вы над тем чтоб отобразить параметры работы вашего автомобиля в собственном Android приложении? Если да, тогда добро пожаловать под кат. Мы как раз будем обсуждать вопрос разработки подобного приложения.
Для начала давайте взглянем на протоколы, используемые для диагностики транспортных средств.
OBD — это сокращение для “on-board diagnostics” и относится к средствам само-диагностики и отчетности автомобиля. Протокол изначальное предназначен для ускорения процесса диагностики обслуживающим персоналом. Первые версии позволяли диагностировать некоторые проблемы в двигателе. Сейчас же в дополнении к возможностям диагностики добавляются и другие возможности такие как получение разной информации например о текущем расходе топлива, управление разными узлами например АКПП, режиме работы трансмиссии, получение координат GPS и другое. Узнать более детально как это работает и историю вы можете в Wikipedia.
Необходимые материалы
Прежде всего нам нужен OBDII адаптер способный работать с вашим автомобилем. Существует множество таких адаптеров. Некоторые из них имеют COM интерфейс, некоторые — USB интерфейс, а некоторые — Bluetooth интерфейс. Теоретически любой может быть использован для нашего приложения, но на практике лучшим вариантом все-же будет Bluetooth. Также адаптеры могут отличатся поддерживаемыми OBDII протоколами (т.е. фактически поддерживаемыми автомобилями). Так что если у вас под рукой есть автомобиль и подходящий OBDII адаптер, мы можем начать разработку нашего приложения.
Подождите — у вас действительно есть автомобиль достаточно близко к среде разработки? На самом деле мы могли бы использовать симулятор на первых порах. Один из вариантов, работающий у меня — это приложение OBDSim. Это открытый проект доступный для многих платформ. Но поскольку Bluetooth не поддерживается в Windows, то приложение нужно будет собрать из исходных кодов в Linux. Также обратите внимание, что скорее всего вам нужно будет внести изменения в исходный код для того чтоб изменить RFCOMM канал на первый доступный вместо предлагаемого канала 1.
Второй вариант — это аппаратный симулятор, который можно использовать вместо автомобиля. Я использовал ECUsim 2000 standard с включенным протоколом ISO 15765 (CAN). А OBDII адаптер я использовал ELM327 v.1.5
Разработка приложения
Давайте начнем с описания протокола, используемого для связи между Android устройством и OBDII адаптером/автомобилем. Это текстовый polling протокол. Это значит что все что вам нужно — это послать команду для того чтоб получить ответ. И знание какие команды можно посылать является ключевым.
Мы будем подключатся к адаптеру через Bluetooth. Похоже что Bluetooth Low Energy API был бы хорошим вариантом. Но поскольку он поддерживается всего несколькими устройствами, то сейчас слишком рано использовать его.
Протокол поддерживает некоторые AT комманды например выключение эха и управление возвратом каретки. Вторая часть протокола — это непосредственно протокол управления OBDII.
- подключится в OBDII адаптеру через Bluetooth
- инициализировать OBDII адаптер с помощью AT комманд
- непрерывно получать требуемые данные с автомобиля путем отправки соответствующих PID кодов
Подключение к OBDII адаптеру достаточно стандартное. Но одна вещь которую нужно сделать перед подключением — это выбор Bluetooth устройства. Отображение alert диалога со списком устройств вполне подойдет:
ArrayList deviceStrs = new ArrayList(); final ArrayList devices = new ArrayList(); BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter(); Set pairedDevices = btAdapter.getBondedDevices(); if (pairedDevices.size() > 0) < for (BluetoothDevice device : pairedDevices) < deviceStrs.add(device.getName() + "\n" + device.getAddress()); devices.add(device.getAddress()); >> // show list final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.select_dialog_singlechoice, deviceStrs.toArray(new String[deviceStrs.size()])); alertDialog.setSingleChoiceItems(adapter, -1, new DialogInterface.OnClickListener() < @Override public void onClick(DialogInterface dialog, int which) < dialog.dismiss(); int position = ((AlertDialog) dialog).getListView().getCheckedItemPosition(); String deviceAddress = devices.get(position); // TODO save deviceAddress >>); alertDialog.setTitle("Choose Bluetooth device"); alertDialog.show();
Не забудьте где нибудь сохранить адрес выбранного устройства. Теперь мы можем подключится к выбранному устройству:
BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter(); BluetoothDevice device = btAdapter.getRemoteDevice(deviceAddress); UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); BluetoothSocket socket = device.createInsecureRfcommSocketToServiceRecord(uuid); socket.connect();
UUID в коде выше представляет «последовательный» интерфейс через Bluetooth. Конечно этот код должен быть исполнен в не UI потоке. Также я бы рекомендовал посмотреть здесь за деталями и решением ошибки в Android которая может приводить к невозможности подключения в некоторых случаях.
Теперь мы можем обмениваться данными. Для этого мы будем использовать OBD-Java-API библиотеку. Библиотека достаточно простая. Она имеет несколько классов, которые соответствуют разным OBD командам. Не забудьте инициализировать OBDII адаптер путем посылки конфигурационных команд:
new EchoOffObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new LineFeedOffObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new TimeoutObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new SelectProtocolObdCommand(ObdProtocols.AUTO).run(socket.getInputStream(), socket.getOutputStream());
Теперь мы готовы посылать другие команды:
EngineRPMObdCommand engineRpmCommand = new EngineRPMObdCommand(); SpeedObdCommand speedCommand = new SpeedObdCommand(); while (!Thread.currentThread().isInterrupted()) < engineRpmCommand.run(sock.getInputStream(), sock.getOutputStream()); speedCommand.run(sock.getInputStream(), sock.getOutputStream()); // TODO handle commands result Log.d(TAG, "RPM: " + engineRpmCommand.getFormattedResult()); Log.d(TAG, "Speed: " + speedCommand.getFormattedResult()); >
Здесь я хочу отметить что библиотека имеет некоторые проблемы с парсингом и часто падает из-за недостаточно хорошей обработки ошибок. Первая проблема это метод performCalculations, который присутствует во всех классах команд. Было бы хорошо проверять размер буфера перед доступом к нему потому что в некоторых случаях ответ может быть короче чем нужно. Само собой проблема короткого ответа лежит на стороне OBDII адаптера/автомобиля, но библиотека должна быть готова к таким проблемам.
Кроме прочего там есть еще некоторые проблемы, так что эта библиотека все еще требует улучшений или просто может быть использована как источник информации.
Полученные данные могут быть сохранены где-нибудь для дальнейшего анализа, например в ElasticSearch.
А сейчас мы работаем над приложением Hours of Service для водителей грузовиков и продолжаем делится опытом в нашем блоге. Stay tuned!
P.S. На самом деле я также являюсь и автором оригинальной англоязычной версии статьи, которая была опубликована на blog.lemberg.co.uk, так что могу ответить на технические вопросы.
Лучшая программа OBD2
В конструкции современного автомобиля предусмотрено множество датчиков, которые собирают информацию о работе систем и узлов. Эти данные затем становятся доступными мастерам сервисного центра, куда обращается большинство автомобилистов для проведения профессиональной диагностики. Однако получить всю эту информацию можно самостоятельно, не обращаясь на СТО — вам поможет специальная сервисная программа для Android или Windows. Чтобы подключиться к ней, необходимо найти в автомобиле разъем OBD2 и купить подходящий адаптер.
Что такое OBD2 и ELM327
OBD2 — это стандартизированный протокол автодиагностики, и на сегодняшний день мы имеем дело со второй, улучшенной и более функциональной, версией программного приложения для диагностики и сброса ошибок бортового компьютера автомобиля.
Разъем для подключения диагностического сканера или смартфона может находиться в бардачке, под рулевой колонкой или под передней панелью. Определить точнее его расположение помогут мобильные приложения типа «Где мой OBD2 разъем? Find it!». Остается выбрать подходящий адаптер, установить ПО и — можно работать.
Для считывания информации, в том числе, технологических ошибок, к автомобилю можно подключить специальный диагностический сканер, которым обычно пользуются на автосервисах. Если дорогой прибор для вас не подходит, можно обойтись бюджетной моделью ELM327, который подключается к смартфону по Bluetooth или WiFi. ПО диагностики для телефона или ПК выбирайте на свое усмотрение — в Интернете есть множество приложений с разными возможностями. Даже платный вариант обойдется дешевле, чем диагностика на СТО, тем более, что программой вы сможете пользоваться постоянно.
Топ 5 программ для Андроида
Выбирая приложение для телефона с ОС Android, ориентируйтесь на ТОПовые предложения, отзывы пользователей и экспертов. Желательно, чтобы программа была бесплатной и русифицированной.
MotorData OBD
Одна из самых популярных и бесплатных диагностических программ для смартфонов на ОС Android и адаптеров ELM327. С ее помощью можно считывать ошибки и удалять их из памяти ЭБУ, снимать показания в реальном времени, контролировать более 70 показателей. Интерфейс программы на русском языке. Для профессионального анализа полученной информации, все же, необходимо купить дополнительные расширения.
Из плюсов: интеграция с большинством адаптеров (включая дешевые китайские модели), стоп-кадрами и графическими изображениями параметров, возможность получения полной паспортной информации, включая версию прошивки и VIN. Минусы — ограничения для бесплатной версии (для большинства пользователей их достаточно).
OBD Car Doctor
Еще одна русифицированная программа для ОС Android, поддерживающая практически любые беспроводные адаптеры. Способна определять состояния Check Engine, удалять коды ошибок, рассчитывать мгновенное и среднее потребление топлива, вести журнал заправок и техобслуживания, отображать показания датчиков в реальном времени.
Среди плюсов: русскоязычный интерфейс и широкий функционал, легкая интеграция с ЭБУ для изменения настроек работы мотора. Минусы: сложные настройки для начинающих пользователей. Неопытному водителю изменять настройки самостоятельно не рекомендуется.
ScanMaster
Мобильное диагностическое приложение, превращающее смартфон на Андроид в многофункциональный автомобильный сканер. Имеет мощную бесплатную версию Lite, с помощью которой считывает и стирает ошибки, строит графики по полученным данным и контролирует состояние топливной системы. Еще больше возможностей предлагает платная версия ScanMaster Pro.
Из плюсов ПО: поддержка любых моделей адаптеров, получение информации по Bluetooth и WiFi. Удобно применяется для диагностики автомобилей американского производства, выпущенных с 1996 года, и европейских моделей с 2001-2004 года. Недостатки: сложные настройки, высокая стоимость платной версии приложения.
Torque
Приложение Torque позволяет получать информацию об техническом состоянии автомобиля в реальном времени, сохранять логи поездки и устанавливать собственные рабочие экраны с показаниями выбранных датчиков. Программа может определить время разгона до 100 км/ч и стереть ошибки из ЭБУ. При добавлении плагинов сторонних разработчиков возможности программы можно существенно расширить.
Плюсы ПО: функциональность и поддержка большинства адаптеров. Минусы: наличие некоторых диагностических функций только в платной версии.
InCarDoc
Приложение тестирует большинство технических параметров автомобиля в реальном времени (в том числе, скорость, углы поворота, давление в системе, температуру и характеристики двигателя), удаляет ошибки, способно отправлять диагностические отчеты на электронную почту, поддерживает несколько языков, включая русский.
Из плюсов: определение скорости и местонахождения авто с помощью GPS, наличие консольного режима для опытных пользователей, ведение журналов и выгрузка информации в Интернет, установка пользовательских настроек для работы с широким спектром параметров. Минусы: нестабильное соединение с дешевыми адаптерами.
Программы для Windows
Кроме мобильных приложений для телефонов на ОС «Андроид», для автодиагностики можно использовать программные приложения для ОС Windows.
- Утилита ScanMaster-ELM , работающая с любыми видами адаптеров ELM327. Возможности этого ПО достаточно широкие: удобный и понятный интерфейс, мониторинг работы мотора в реальном времени, построение графиков, просмотр, расшифровку и удаление ошибок. Минусы таких приложений: необходимость покупки лицензии для использования ряда функций и требование русификации для упрощения работы.
- Диагностическая утилита – PCMScan , которая легко определяет неисправности европейских, американских и азиатских машин, получает данные со стоп-кадра и удаляет ошибки в ЭБУ. Для расширения функционала можно добавлять сторонние плагины. Из плюсов: многофункциональность, бесплатная демо-версия. Минусы: необходимость покупки платного ПО для подключения некоторых опций и русификации.
- Мультифункциональная программа автодиагностики для ОС Windows – FORScan. Обрабатывает данные датчиков в реальном времени, считывает основные параметры и сбрасывает коды ошибок. Плюсы: Возможность получения данных практически обо всех функциональных узлах и основных системах авто. Минус: рассчитана на диагностику только 4 марок авто – Ford, Mazda, Lincoln и Mercury.
В заключении следует отметить, что необходимую автомобилю диагностику можно выполнять самостоятельно, экономя на недешевых услугах СТО. Для этого достаточно приобрести диагностический сканер и установить на смартфон, планшет или ПК специализированное программное обеспечение.
При выборе диагностического ПО, обращайте внимание на функционал, наличие русскоязычного меню, возможность установки дополнительных функциональных плагинов, способность приложений составлять аналитические отчеты, передавать данные по Интернету, расшифровывать и удалять ошибки в ЭБУ. В принципе, имеющихся в Сети бесплатных приложений достаточно для проведения большинства диагностических операций. Но даже платная программа обойдется намного дешевле, чем услуги диагностики в автосервисах.
Автор: Киселев Я.Л.
При подготовке материала использовались источники:
https://www.drive2.ru/b/512779788675449146/
https://habr.com/ru/articles/223949/
https://www.driver-helper.ru/text/sovetiy/luchshaya-programma-obd2