- PVSM.RU - https://www.pvsm.ru -
После того как мы подковались теоретически [1] и уже представляем, что стоит, а чего и не стоит ожидать от подключения смартфона к вашему авто, можем переходить к практике.

Начнем с того, что для успешной авто диагностики важно наличие 3 устройств:
1. Автомобиль
2. Адаптер
3. Мобильное устройство (ноутбук, ПК, смартфон)
Итак, у вас есть машина и вы хотите знать можно ли, и если можно, с помощью чего подключаться к вашему автомобилю.
Наличие диагностического разъема (DLC), основная функция которого — обеспечить связь диагностического сканера с блоками управления, автоматически предполагает возможность подключиться к бортовому компьютеру автомобиля извне, в том числе и со смартфона используя соответствующий адаптер. Но как уже говорилось в предыдущей части из множества различных DLC разъемов и проприетарных протоколов мы рассмотрим только соответствующие своду стандартов OBD-II [2], тем более что данному стандарту соответствует большинство современных автомобилей.
И так, первый вопрос: Соответствует ли мой автомобиль стандарту OBD-II?
Предпосылками может быть:
Если машины выпускались для других рынков: СНГ, Азии, Африки и т.д., то четкую дату и гарантии поддержки OBD-II установить сложнее. Также нужно помнить, что некоторые производители могли поддержать стандарт и в более ранних моделях своих автомобилей.
Следующим шагом может быть поиск соответствующей наклейки под капотом авто.
Наклейка должна содержать информацию о соответствии стандарту и может содержать аббревиатуры 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г.в..
Возможные результаты поиска:
Следующим пунктом идет выбор адаптера, которые также могут отличаться как по типу соединения с компьютером/смартфоном (USB, Bluetooth, Wi-Fi) так и по схемотехнике, и, как результат, по командному интерфейсу. Как таковые команды OBD-II унифицированы, но поскольку OBD-II объединяет несколько различных сигнальных протоколов, полного единообразия не получается.

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

(ноутбук, ПК, смартфон и т.д.)
Рассмотрим типы устройств по порядку:
Компьютеры. В ноутбуке, как правило, есть все интерфейсы и выбор определяется ценой, удобством подключения, возможностями использования адаптера с другими устройствами, а также поддержкой со стороны ПО данного типа интерфейса.
iPhone & iPad. Единственный доступный вариант подключения (не считая экзотики в виде специализированного кабеля или сертифицированных Bluetooth адаптеров) это Wi-Fi Direct соединение, поскольку доступ к Bluetooth соединению средствами стандартного API ограничен и не позволяет установить необходимый тип соединения с адаптером.
Android. Наиболее распространенный вариант — Bluetooth адаптер. Wi-Fi Direct может поддерживаться либо на «рутированных» устройствах, либо на версиях Android 4.x, также на некоторых устройствах могут быть нюансы с аппаратной поддержкой Wi-Fi Direct. Если ваше мобильное устройство поддерживает USB-host порт, то есть вариант подключения и USB адаптера.
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 [6]. Актуальные версии 1.3a, 1.4b и совсем новая 2.0. Стоимость решений на базе оригинального ELM327 обычно в районе $100, поскольку стоимость самих микроконтролеров $15-$25.
Клоны ELM327 – чаще всего китайские микроконтроллеры копирующие один из ранних «не защищенных» вариантов ELM327. Могут обозначаться как версиями оригинальных контроллеров 1.3a, 1.4b, так и не существующими 1.4a, 1.5, 1.5a или v2.1. Стоимость таких адаптеров стартует приблизительно с $5 для bluetooth и USB решений, и с $15 для Wi-Fi.
STN1110 – разработка компании OBD Solutions [7]. Независимая разработка совместима на уровне команд с ELM327. Обладает некоторыми расширенными возможностями, в частности декларируется наличие больших возможностей (по сравнению с ELM327) при работе с не OBD-II командами. Также заметно выше (2-4 раза) скорость считывания данных по сравнению с ELM327 версий 1.x. Сравнить с версией ELM327 2.0 возможность еще не представилась. Стоимость такого адаптера (нам известен только один OBDLink MX [8]) $150.
И наконец, Выводы! С нашей точки зрения в 90% случаев возможностей дешевых клонов ELM327 вполне достаточно для подключения к автомобилю и решения простых задач: диагностики автомобиля, считывания и анализа динамических параметров и их соотношений, сброса ошибок и т.п. Использование более дорогих адаптеров оправдано в тех случаях, когда вы точно представляете, что вам нужно от адаптера и каких возможностей вам не хватает в клонах.
Открытым остается вопрос приобретения выбранного адаптера. В зависимости от вашего выбора интерфейса Bluetooth, Wi-Fi, USB, — вводите в строке поиска любимого поисковика одну из фраз “ELM327 Bluetooth”, “ELM327 Wi-Fi” или “ELM327 USB” и выберите подходящий вам вариант поставки – местные продавцы или глобальные интернет площадки вроде eBay или AliExpress.
Желаем успехов в поисках диагностического разъема и выборе оптимального варианта адаптера! А пока вы заняты поиском, мы готовим следующую статью, в которой познакомим вас с доступными программными решениями и покажем как на практике считывать данные с бортового компьютера автомобиля.
Автор: PNNgeek
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/mobile-development/38956
Ссылки в тексте:
[1] подковались теоретически: http://habrahabr.ru/company/pnn/blog/186242/
[2] стандартов OBD-II: http://en.wikipedia.org/wiki/On-board_diagnostics
[3] микроконтроллере ELM327: http://en.wikipedia.org/wiki/ELM327
[4] STN1110 : http://www.obdsol.com/stn1110/
[5] последовательном соединении: https://en.wikipedia.org/wiki/Serial_communication
[6] ELM Electronics: http://www.elmelectronics.com
[7] OBD Solutions : http://www.obdsol.com
[8] OBDLink MX: http://www.scantool.net/scan-tools/smart-phone/obdlink-mx.html
[9] Источник: http://habrahabr.ru/post/186930/
Нажмите здесь для печати.