- Toad Pro: best OBD2 programming software for Windows
- . DashCommand: best OBD2 software for OLD Windows PC laptop
- OBDwiz: best Free OBD2 ELM327 software full version for laptop/PC
- FORScan: Free ELM327 OBD2 software
- Pros
- TouchScan: best OBD2 software for Windows 10
- OBD Auto Doctor: best OBD2 ELM327 software for Linux
- LapLogger: best OBD2 ELM327 software for Mac OS
- Engine Check LE: OBD2 free software full version
- EOBD Facile: best ELM327 software for EU vehicles
- PCMSCAN: best ELM327 software for Windows 8 PC laptop
- Ble support on linux
- Boost pressure
- Closing
- Elm327 1.5 vs elm327 2.1
- Elm327 программы для android устройств (смартфон или планшет)
- Elm327 программы для iphone и ipad (ios)
- Elm327 программы для windows phone
- Elm327 программы для компьютера или ноутбука (windows)
- Free versions vs. paid versions
- Linux obd free download – sourceforge
- New dtcs
- Obd2 data graph exported from google sheets
- Obd2 data graph exported from libreoffice calc
- On-board system, test or component activation
- Operating system requirements
- Other changes
- Pyobd – делаем диагностику вашего автомобиля при помощи nokia n900
- Requirements
- Sensor graph grid
- Torque
- Typical prices and update information
- Using a laptop to scan your obd-ii system
- Using an old nokia internet tablet to scan your obd-ii system
- Vehicle coverage
- What is (elm327) obd2 software?
- Who is pcmscan made for?
- Выбор подключения
- Подключение
- Считывание диагностических данных
- Считывание и расшифровка ошибок автомобиля
- Эпилог
- Final thoughts
Toad Pro: best OBD2 programming software for Windows
Operating System: Windows XP, Vista, 7, 8, 8.1, and 10
. DashCommand: best OBD2 software for OLD Windows PC laptop
Operating systems: Windows 95, 98, ME, NT, 2K, XP, Vista, and Windows 7
For the same $40 price tag, you can get a copy of DashCommand, another ELM327 compatible application, specially designed with touchscreens in mind. It runs on Windows OS from Win95 to Win10 and includes all the usual functions like clearing the check engine light and reading and resetting trouble codes.
The most impressive features are the technical analysis algorithms and the graphical interface. You can design your dials and gauges to recreate your vehicle’s dashboard or modify one of the great-looking standard layouts. This software is fantastic for tuning specialists as you can playback, analyze, archive, or share your real-time data using customizable graphs and charts.
There’s an onboard simulator to analyze tuning parameter changes before you make them in real life. It enables you to write and implement scripts to reprogram your ECU (Electronic Control Unit) and monitor the changes’ effects. You can adjust torque, fuel efficiency, turbo boost, acceleration profile, etc. to fine-tune your vehicle for each track you visit.
Dashcommand gets good customer ratings, but common gripes include unintuitive navigation between the important screens, compatibility issues with older iPhones, and some sensor accuracy concerns. None of these issues are show-stoppers.
Overall, DashCommand delivers what it claims and does it well.
If you love DashCommand, get an OBDLink MX for the best experiences.
Read More:DashCommand Review: Useful OBD2 App for Car Diagnostics
OBDwiz: best Free OBD2 ELM327 software full version for laptop/PC
Operating System: Windows 7 – Windows 10
Price: Free [full version], included when you buy an OBDLink scan tool such as OBDLink MX or OBDLink LX.
OBDWiz is a product of OBDLink, the owner of OBDLink OBD2 adapters today.
OBDwiz can read and erase engine codes, test emissions readiness, monitor fuel economy, display live sensor data, etc. Whether you want your data as text or graphs, this OBD2 software will deliver.
Plus, it can record and save the data, which may come in handy when you need to analyze the data later on.
This OBD2 software for Windows is most suitable for ordinary car owners. And the specialty is that it is free.
But, how to get OBDWiz for free? OBDWiz is included when you buy an OBDLink’s OBD2 adapter such as:
My recommendation is OBDLink MX Bluetooth OBD2 Adapter.
But if you’re looking for something affordable, take OBDLink SX.
FORScan: Free ELM327 OBD2 software
Operating System: Windows
FORScan allows you to read and erase any DTCs from all available systems.
FORScan for Windows is FREE. With a base FORScan, you can retrieve vehicle information, read parameters, read and clear DTCs, run diagnostic tests, perform some service functions, etc.
In addition to that, this software can display live sensor data, test status, and service procedures. Its most significant consideration comes in vehicle compatibility. Although it’s an OBD2 software, FORScan only works on Ford, Lincoln, Mazda, and Mercury vehicles.
To have access to the configuration, programming functions, and service functions (such as PATS programming), you need to buy a FORScan Extended License for Windows. There are free Extended Licenses and paid long-term licenses. The best way to get a 2-month free Extended License is to register an account on the FORScan forum.
Read more:Best FORScan Adapters Review 2021
Pros
- Can read and clear engine codes. As already mentioned, a software that does that also allows you to reset the Check Engine Light.
- Gives you access to codes from other systems like transmission, ABS and SRS. As such, you can use FORScan to reset warning lights for those systems
- Displays live sensor data
- Can display the status of onboard tests and also run test diagnostic procedures
- Runs service procedures
- Supports multiple hardware adapters, including ELM327, J2534, CANtieCAR, OBDLink EX, OBDLink MX , and ELS27 (STN1170).
FORScan is for DIYers and enthusiasts who need deep access to onboard systems. It offers significantly more than entry-level software.
What you need to is installing FORScan on your laptop/PC, connect the computer to your car via an OBD2 adapter. The best USB adapter for FORScan is the OHP ELM327 FORScan USB Adapter.
Please note that FORScan Lite for iOS and Android smartphone is paid.
TouchScan: best OBD2 software for Windows 10
Operating System: Windows 7 – Windows 10
Price: Paid Add-ons from $24.95-$64.95
TouchScan is another product of OBDLink. As you would expect, TouchScan and OBDWiz are similar in functionality.
Touchscan is excellent for clearing your check engine light, reading trouble codes, and monitoring your car in real-time. You can design custom dashboards and graphs to display your data, and it has the all-important emissions readiness testing functions.
This PC OBD2 software presents itself as a comprehensive package at a very reasonable price. It’s designed to be intuitive to use, and has excellent customer support should you encounter any problems.
There is a free 2-week trial available, at the end of which you will need to pay. The standard version costs US$29.95, but there are add-ons available, discounted to around US$60 per vehicle manufacturer. Their Pro-addon costs $24.95 and contains lots of more in-depth technical functions, including sensor calibration. The price of the add-ons are as below:
A popular feature is an integral database for trouble codes, so clearing faults is a straightforward process. They offer free updates, so there are no surprise charges for keeping your software up to date. Reports are that the customer service is very responsive and knowledgeable, and they typically respond promptly via email.
Along with the standard features, TouchScan offers real-time tracking and display of all your sensor data displayed as a chart, which is much more comfortable to diagnose a fault.
This ELM327 software is only compatible with Windows (Windows 7, Windows 8, Windows 8.1, and Windows 10.)
TouchScan works with all standard ELM-327 OBD2 adapters including:
My recommendation is the OBDLink LX.
Read more: Best Bluetooth OBD2 adapters review 2021 [by Tim Miller]
OBD Auto Doctor: best OBD2 ELM327 software for Linux
Operating Systems: Mac OSX10.12 or later, Windows 7 and later, any Linux
Price: Paid
LapLogger: best OBD2 ELM327 software for Mac OS
Operating systems: Windows, Mac OS
LapLogger has versions for your laptop (Mac OS, Windows) and your mobile devices (Android, iOS, Windows Mobile, Blackberry). Again, it provides all the expected fault diagnosis and resetting functions, but this application’s real power is the suite of real-time telemetry recording and analytics features.
As the name suggests, you can use LapLogger at the race track to record and compare lap times, racing lines, and tuning strategies. It displays real-time throttle, speed, RPM, and coolant temp data, displaying the results in custom-built charts and graphs for instant analysis.
The GPS function ensures that this ELM327 software knows exactly where your device is on track at each moment, so you can compare racing strategies for each section of the circuit.
The price is low at $20 for Windows versions and $25 for Mac, and there’s even a free version with limited functionality. The free software does have the fault code reading and resetting functions activated, so it’s worth considering in its own right.
It’s worth noting that LapLogger gets more than its fair share of complaints about software stability issues. Reports of the application crashing when trying to display data in charts were common, and perusing customer reviews gave us some concerns about paying the $20.
Overall, this is an excellent application for racing and tuning fans to communicate with their vehicle’s electronic systems. The reviews stress its ease of use and reliability, so it’s an excellent deal for the money.
Engine Check LE: OBD2 free software full version
Operating System: Windows XP – Windows 10
EOBD Facile: best ELM327 software for EU vehicles
Operating Systems: Macbook OS X; Windows 7, 8.0, 8.1, & 10.
Another well presented diagnostic software tool with all the critical functions is EOBD Facile (EOBD is the European version of OBD2). With a built-in library of 11,000 error codes in the basic version of this software, you can quickly diagnose and clear faults.
There’s a free download with some essential functions, plus two other versions with extra features. The Basic package costs around €39.90 with the fully-featured Plus coming in at approximately €59.90.
If you already own a scanner, this software will work with it, so there’s no need to buy extra hardware. Customers enjoy using the application and find it intuitive, comparing it favorably with other software.
European customers should take a look at EOBD Facile. It has all the diagnostics and fault identification tools most people will need. Download the free version before buying to confirm that it functions well and reads all the codes and data you require. There are versions for Macbook OS X and Windows 7, 8.0, 8.1, & 10.
If you are in Europe or you service European marques, EOBD Facile is the right choice. It’s not expensive, and you can try it out for free in a trial version.
All ELM 327 adapters are supported, along with EM320, 320 & 323. They recommend you buy their KlavKarr hardware, but any generic interfaces will work fine. I would buy OBDLink SX for Windows if I were you.
PCMSCAN: best ELM327 software for Windows 8 PC laptop
Operating System: Windows 95 – Windows 8
Ble support on linux
Bluez is the library in Linux that provides Bluetooth support. You need to have version of Bluez that has the support included. Check your distribution for more details.
Boost pressure
Boost pressure value yields from the intake manifold absolute pressure. Barometric pressure is also taken into consideration. Now, the vehicle is required to support MAP (manifold absolute pressure) in order for the boost pressure to appear as supported.
Negative pressure values represent vacuum. Positive values are boosted by a turbocharger or supercharger.
Closing
Computer control systems in cars used to be mysterious, overly
complicated, finicky pieces of technological voodoo to even
the most seasoned mechanic. Scan tools were proprietary and cost
thousands of dollars, and mechanics needed a special tool for each car
manufacturer.
With the advent of OBD-II and inexpensive computers,
it’s now easy to de-mystify and diagnose your car. Don’t let the strange
terms fool you—like the computers you’re already familiar with, an
automobile is just a collection of technology and machinery, and you can
troubleshoot it just like a computer.
Elm327 1.5 vs elm327 2.1
Одной из первых проблем, с которыми можно столкнуться стала проблема выбора непосредственно адаптера, в нашем случае Bluetooth. Оказывается если вам необходимо поддерживать все (по крайней мере большинство) автомобилей необходимо выбирать версию v1.5 вместо v2.
1, что на самом то деле необходимо несколько раз уточнить при покупке адаптера, потому как продавцы пытаются выдать версию адаптера не за ту, которая есть на самом деле, т.к. они особо ничем не отличаются. На деле же в версии v2.1 отсутствует поддержка протоколов J1850 PWM и J1850 VPW, что говорит о том, что у вас не получится подключиться к автомобилям, которые используют эти протоколы.
Elm327 программы для android устройств (смартфон или планшет)
С помощью этих программ Вы сможете провести полноценную диагностику Вашего автомобиля используя elm327 адаптер и Ваш смартфон или планшет на базе android. Эти elm327 программы для android поддерживают как bluetooth, так и wi-fi адаптеры. Вместе с описанием программы есть ссылка на скачивание программы с официального сайта Google Play, поэтому Вы можете быть уверены в безопасности Вашего устройства. Так же Вы можете установить её просто набрав название программы в поиске Google Play Вашего устройства.
Elm327 программы для iphone и ipad (ios)
Ниже представлены elm327 программы для использования на iPhone и iPad, т.е. на смартфонах и планшетах с операционной системой iOS. Программ для этих устройств достаточно немного и, как правило, все они на английском языке. Но мы всё таки постарались подобрать для Вас хорошие программы с лёгким освоением и широким набором функций. Обратите внимание, что устройства от Apple поддерживают только Wi-Fi адаптеры, потому программы, соответственно тоже.
Elm327 программы для windows phone
Ниже представлены elm327 программы для смартфонов на базе Windows Phone.
Elm327 программы для компьютера или ноутбука (windows)
Эти elm327 программы предназначены для диагностики автомобиля с помощью компьютера, устанавливаются на компьютеры на базе Windows. В описании к программе написано для каких автомобилей она предназначена, а так же с какими типами адаптеров она работает – USB, Wi Fi или bluetooth.
Free versions vs. paid versions
Most software providers will release a free version with basic functionality. They enable the full version once you decide to hand over your cash. You’ll need to weigh up the functions you require against the price you’re willing to pay. We’ll look at the purchasing options for each of the products I include in this post.
Linux obd free download – sourceforge
Create great-looking surveys, forms, polls, voting, questionnaires, NPS, customer satisfaction, customer experience, employee satisfaction surveys… on your computer or tablet, customize the look of your survey however you like, & display collected data with eye-catching and insightful graphics.
New dtcs
J2021 is the document that defines the OBD2 Trouble Codes. The standard hasn’t been updated for a while but few months ago it got a new revision. The newest revision contained a bunch of new DTCs. These DTCs take new technology such as hybrid vehicles into better consideration, for example.
OBD Auto Doctor contains now all the possible generic OBD2 Trouble Codes that exists. We added total of 3899 new DTCs to the software.
The software contains total of 18193 Trouble Codes. The latest PC & Mac software as well as the Android and iOS apps have all these codes included.
The codes include:
- Powertrain: 6631 codes
- Network & Vehicle Integration: 1017 codes
- Chassis: 363 codes
- Body: 165 codes
- Rest of the codes are manufacturer specific trouble codes
Obd2 data graph exported from google sheets
Click the image for full size.

Obd2 data graph exported from libreoffice calc
Click the image for full size.

On-board system, test or component activation
The software has now support for OBD2 mode 8. The mode 8 is the on-board system, test or component activation service. This service allows bi-directional communication to start or perform specific tests. This is different from the most OBD2 services because they just read information from the car. In that sense, this service or mode is a rather powerful tool.
Operating system requirements
Not all OBD2 software packages for laptopsare compatible with all the major operating systems (Windows, Mac, or Linux). It’s essential to ensure that your intended device and operating system (OS) are supported before deciding to buy. We will look carefully at this for each product we consider.
Other changes
We did a lot of other smaller changes for the software too. The following list highlights the most important ones.
Pyobd – делаем диагностику вашего автомобиля при помощи nokia n900
Данная статья посвящается всем автомобилистам и владельцам Nokia N900!
Даже если вы следите за своим авто, то никто не застрахован от некачественного сервиса или, что особенно актуально топлива. Да и сам автомобиль со временем “стареет” и имеет место износ деталей.
И вот в один из дней вы садитесь в свое авто и заводя его ключом наблюдаете на приборной панели негаснущую желтую надпись или пиктограмму «check engine»:
или что-то подобное.
В голове проносится две мысли: глушить или всё обойдется? Может просто заправились некачественным топливом накануне, а может пришло время сервисного замена изношенной детали… Не волнуйтесь, если с вами N900 с установленной программой pyOBD и адаптером! 🙂
PyOBD (оно же pyOBD-II или pyOBD2) – программа, написанная на Python, которая позволяет проводить диагностику автомобиля с разъемом OBD. К таковым относятся автомобили произведенные в США после 1996 года и в Европе (в т.ч. России) после 2001 года.
Список довольно обширный и его можно посмотреть здесь http://www.o-b-d.ru/carinfo/ или поиском в интернете по наименованию своего авто и ключевому слову «OBD». Для проведения тестирования нам также понабиться Bluetooth-адаптер с чипом ELM327, например как у меня версии 1.4 или выше:
Сразу оговорюсь, лучше брать адаптер с кнопкой отключения, т.к. если без неё, то аккумулятор немного, но «подсаживается» и все же это удобнее, не вынимать после каждой поездки, а просто нажать кнопку «off». Кроме того, в коробке с адаптером был диск с драйверами и программами для диагностики под другие операционные системы:
Подключаем все репозитории и ставим pyOBD с зависимостями. В основном много весят библиотеки Python… да и почему-то возникал конфликт с CSSU-Tmaemo обновлениями после версии 8.2.
Далее, вставляем наш адаптер в разъем в автомобиле и жмем кнопку включения:
Включаем модуль Bluetooth на Nokia N900 и производим поиск устройств. Видим новое устройство, например, с именем OBD-II, выбираем подключиться и вводим пароль подключения. У меня подошел 1234, у вас может быть 0000:
Открываем установленную программу pyOBD. Далее идем по меню в «OBD-II» в раздел «Search and connect paired BT dongle», ждем некоторое время и далее снова «OBD-II» в раздел «Connect to ECU»:
Как видим в разделе Trace по записям:
соединение установлено удачно, можно приступить к диагностике электроники.
Следуем в раздел «DTC» и видим код нашей ошибки и расшифровка:
Единственное неудобство, это то, что программа на английском языке. Но самое главное, что мы узнали в чем причина и можем приступить к устранению ошибки.
Далее можем скинуть эту ошибку, нажав Clear DTC.
Кроме того программа показывает прохождение тестов разными датчиками и другие параметры:
Вот так мы провели диагностику собственными силами, определили причину неисправности, считали ошибки, сбросили их и сэкономили время и нервы…а причину можем устранить сами или едем на сервис, подсчитывая стоимость ремонта 😉
Вот здесь или можно получить расшифровку кода ошибки. Эту программа портирована с настольной версии под linux и ее «взрослые» дистрибутивы можно скачать здесь
§
Данная статья посвящается всем автомобилистам и владельцам Nokia N900!
Даже если вы следите за своим авто, то никто не застрахован от некачественного сервиса или, что особенно актуально топлива. Да и сам автомобиль со временем “стареет” и имеет место износ деталей.
И вот в один из дней вы садитесь в свое авто и заводя его ключом наблюдаете на приборной панели негаснущую желтую надпись или пиктограмму «check engine»:
или что-то подобное.
В голове проносится две мысли: глушить или всё обойдется? Может просто заправились некачественным топливом накануне, а может пришло время сервисного замена изношенной детали… Не волнуйтесь, если с вами N900 с установленной программой pyOBD и адаптером! 🙂
PyOBD (оно же pyOBD-II или pyOBD2) – программа, написанная на Python, которая позволяет проводить диагностику автомобиля с разъемом OBD. К таковым относятся автомобили произведенные в США после 1996 года и в Европе (в т.ч. России) после 2001 года.
Список довольно обширный и его можно посмотреть здесь http://www.o-b-d.ru/carinfo/ или поиском в интернете по наименованию своего авто и ключевому слову «OBD». Для проведения тестирования нам также понабиться Bluetooth-адаптер с чипом ELM327, например как у меня версии 1.4 или выше:
Сразу оговорюсь, лучше брать адаптер с кнопкой отключения, т.к. если без неё, то аккумулятор немного, но «подсаживается» и все же это удобнее, не вынимать после каждой поездки, а просто нажать кнопку «off». Кроме того, в коробке с адаптером был диск с драйверами и программами для диагностики под другие операционные системы:
Подключаем все репозитории и ставим pyOBD с зависимостями. В основном много весят библиотеки Python… да и почему-то возникал конфликт с CSSU-Tmaemo обновлениями после версии 8.2.
Далее, вставляем наш адаптер в разъем в автомобиле и жмем кнопку включения:
Включаем модуль Bluetooth на Nokia N900 и производим поиск устройств. Видим новое устройство, например, с именем OBD-II, выбираем подключиться и вводим пароль подключения. У меня подошел 1234, у вас может быть 0000:
Открываем установленную программу pyOBD. Далее идем по меню в «OBD-II» в раздел «Search and connect paired BT dongle», ждем некоторое время и далее снова «OBD-II» в раздел «Connect to ECU»:
Как видим в разделе Trace по записям:
соединение установлено удачно, можно приступить к диагностике электроники.
Следуем в раздел «DTC» и видим код нашей ошибки и расшифровка:
Единственное неудобство, это то, что программа на английском языке. Но самое главное, что мы узнали в чем причина и можем приступить к устранению ошибки.
Далее можем скинуть эту ошибку, нажав Clear DTC.
Кроме того программа показывает прохождение тестов разными датчиками и другие параметры:
Вот так мы провели диагностику собственными силами, определили причину неисправности, считали ошибки, сбросили их и сэкономили время и нервы…а причину можем устранить сами или едем на сервис, подсчитывая стоимость ремонта 😉
Вот здесь или можно получить расшифровку кода ошибки. Эту программа портирована с настольной версии под linux и ее «взрослые» дистрибутивы можно скачать здесь
Requirements
- An ELM 32x OBD-II interface such as ELM-USB
- Python 2.x or greater
- pySerial
- A car supporting OBD-II (lookup your car in our cars database)
Sensor graph grid
The graph grid is the newest addition to the monitoring tools. You can now track up to four different sensors side by side with the Sensor Graph Grid. Each sensor has separate graph with it’s own scale. This makes it easier to interpret the data in some cases.

Torque
Torque is calculated from the engine power and RPM. With these two pieces of information, the torque can be estimated quite accurately. Torque is measured at the wheels just like the engine power.
Since torque is using engine power for the calculation, the vehicle weight is a factor in the calculation. Remember to set the correct weight!
Typical prices and update information
There’s a range of price points from the low hundreds to thousands of dollars. Most offerings have several options, from free basic options and free trials to paid, full versions. The prices vary between hobbyist systems and professional setups. Some packages come with proprietary OBD-11 scanners and cables; others are software only.
Using a laptop to scan your obd-ii system
Although it’s possible to use a laptop to do the same duty as an Android
device, it’s a little more involved, as the Bluetooth protocol stack on
a Linux laptop requires some more massaging than simply pairing up an
Android device. However, if you’re comfortable with the command line and
Bluetooth commands like rfcomm, it’s absolutely possible, and
there are some good OBD-II packages like pyobd and openobd.
Using an old nokia internet tablet to scan your obd-ii system
In the December 2008 issue of LJ, I wrote an article
called “Hacking the Nokia
Internet Tablet”, and I talked about ways to hack and extend the Nokia
N800 tablet. It turns out there’s an application for the N800 and N810
called Carman that was designed to work with wired OBD-II adapters,
but it works just fine with the Soliport Bluetooth Scanner.
Carman used
to be in the Maemo repositories. I no longer have a working N800,
so I can’t check that now, but when my N800 did work, I used it a few
times to diagnose the car. So, if you’ve got a Nokia device sitting in
a drawer gathering dust, pull it out and put it to use!
Vehicle coverage
Although OBDII generates data according to an agreed industry standard, at least five popular protocols may apply. Different software packages cover different makes of vehicles, so it’s essential to buy the software that will meet your present and future requirements.
What is (elm327) obd2 software?
OBD2 software is designed for a laptop/PC (Mac OS, Windows, or Linux Operating Systems) to connect with a vehicle via an ELM327 interface and collect, analyze, share, and store your OBD2 data. Over time, it has spawned a competitive niche of software providers, specializing in analytics, diagnostics, and reprogramming.
Who is pcmscan made for?
PCMSCAN is designed for ordinary car owners. It’s simple to use and installs on almost all versions of Windows. OBDLink LX is my recommendation for this software.
Выбор подключения
Изначально необходимо пояснить что для подключения к авто будет использоваться ELM327 адаптер. ELM327 – это микросхема, которая позволяет преобразовать протоколы, используемые в диагностических шинах автомобилей в протокол RS232, которым мы и будем передавать данные.
Существует несколько вариаций адаптера ELM327, которые классифицируются по способу передачи данных – Bluetooth, WIFI, USB. Исходя из того что целью разработки является мобильное устройство под операционной системой Android можно подобрать две наиболее подходящие версии ELM327, такие как Bluetooth и WIFI.
Подключение
Подключение к адаптеру происходит в несколько этапов:
Если с организацией подключения все понятно. Принцип работы такой же как и у любого Bluetooth/WIFI чата. То для того чтоб понять как отправлять инициализационную строку, необходимо изучить какие команды существуют, а также какие функции они выполняют.
Считывание диагностических данных
Для считывания диагностических данных используются специальные команды PID’s.
PID (Parameter id’s — Бортовые диагностические идентификаторы параметров) – коды, которые используются для запроса показателей определенных датчиков автомобиля.
Основные пиды можно найти в Википедии, там полный набор основных команд, которые должны поддерживать все автомобили. Так же есть наборы команд для определенных марок и типов автомобилей, эти наборы предоставляются за отдельную плату. В нашем случае приложение заточено на базовую диагностику автомобилей соответственно мы используем базовый набор команд.
Также есть возможность получать текущие данные от автомобиля при этом команда получения данных от авто будет иметь вначале 01, указывая на то что мы хотим получить real data. Если же мы хотим получить сохраненные данные автомобиля, то вначале команды необходимо указать 02.
Если внимательно посмотреть на то количество команд, которое предоставляется открытыми ресурсами, то можно как раз и заметить ту проблему, о которой я писал в самом начале, а именно проблема скорости ответа адаптера. Так как отправка и получение команд идет последовательно, то для того чтобы получить показания датчика на текущий момент времени необходимо дождаться ответа на все предыдущие команды.
Соответственно если запрашивать на получение все команды, то большая вероятность того что обновление реальных данных будет происходить очень медленно. Но и эту проблему можно решить, если воспользоваться командами, которые отобразят только те команды, что существуют в автомобиле. Например:
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]
Я продемонстрирую как определить какие датчики присутствуют в автомобиле при помощи одного из пидов. Например:
Переводим ответ от автомобиля в двоичную систему счисления
BB1E3211(16) > 10111011000111100011001000010001(2)
Используя следующую табличку можем определить какие пиды поддерживаются нашим автомобилем, начиная от 01 до 20:
Исходя из получившихся данных можем определить, что наш автомобиль поддерживает следующие пиды:
01, 03, 04, 05, 07, 08, 0C, 0D, 0E, 0F, 13, 14, 17, 1C, 20
Теперь вместо отправки всех 32 команд и ожидания ответа на них, несмотря на то, что некоторые могут отсутствовать, мы будем использовать всего 15 команд. Но и это не предел так называемой оптимизации. Для того чтобы данные обновлялись еще быстрее советую запрашивать только данные о тех датчиках, которые отображаются на экране. Хотя это ограничивает некоторый функционал приложения. Например, запись истории.
Считывание и расшифровка ошибок автомобиля
Ошибки автомобиля тоже могут быть различными и для них тоже существуют отдельные команды. Например:
Так как и с остальными командами ошибки автомобиля приходят в закодированном виде, соответственно, как и в остальных командах их нужно раскодировать чтоб получить необходимую информацию. Приведу пример работы декодирования ошибки. Код:
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|[rn]43|[rn]", "");
} else if (result.contains("47")) {
workingData = result.replaceAll("^47|[rn]47|[rn]", "");
}
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. Оригинальную английскую версию статьи можно найти здесь
Final thoughts
People’s requirements vary according to their circumstances, so the most effective options for a professional mechanic may be different from those of an experienced hobbyist or home tinkerer. Aside from a wide range of prices, this software niche varies significantly in the functions they include.
There’s considerable variation in the prices, licensing terms, update schedules, and other fees. The most expensive is not always the most suitable, however. Some products come bundled with scanners, cables, software, access to technical information libraries, and direct customer support.
Hope this article will help you decide which is the right OBD2 USB software package for you.