2013-03-21 3 views
-1

Мне нужно разработать приложение для смартфонов, которое будет связываться с диагностическим инструментом автомобиля. Обычно протоколы, используемые в диагностике, представляют собой KWP2000, UDS и OBD. Мой вопрос «как общаться с автомобилем? И как работать с этими протоколами?CAN диагностика

ответ

2

Вы также можете обратиться к UDS: http://neweagle.net/support/wiki/index.php?title=Unified_Diagnostic_Services

Если ваш автомобиль имеет CAN шину, то вам, вероятно, понадобится:

  1. использовать CAN устройства для подключения к CAN шине (сконфигурированный соответственно)
  2. реализовать (взять из любого места) поддержку сообщений CAN TP
  3. написать свою реализацию, используя протокол UDS через сообщения CAN TP.

С уважением,

Дмитрий

0

Большинством автомобилей поставляются с» On Board Diagnostic Port». Вы можете связаться с внутренним двигателем автомобиля, используя этот порт. Автомобиль отбросят данные на этом порту в любом из диагностических протоколов, который включает KWP2000, ISO15765 и т. д.

Вы должны проектировать что-то, что может связываться с вашего телефона на этот порт. Это может быть устройство с поддержкой Bluetooth, подключенное к этому порту, которое будет получать данные и передавать на ваш телефон через Bluetooth. Например, this

с этого момента, вы можете обрабатывать данные в телефоне по каким-либо причинам.

0

Автомобили с 2001 года имеют порт OBD-II в Европе. Я думаю, США с 1996 года.

Существуют различные типы разъемов OBD-II. ELM327-чип внутри позволяет легко общаться с автомобилем, так как чип делает коммуникацию ASCII-based для нас. Все, что вам нужно сделать, это отправить правильные команды, и вы получите ответ в ASCII.

Если приложение должно запускаться на смартфоне, у меня есть несколько предупреждений для вас. В большинстве разъемов реализовано bluetooth, и Android поддержит это, но WP7, Win8RT и iPhones не поддерживают связь по последовательному порту bluetooth, которую вам нужно будет настроить. Существуют также разъемы ad-hoc на основе wifi, и с ними может быть возможно.

http://en.wikipedia.org/wiki/OBD-II_PIDs
В wikipedia имеется список команд, которые вы можете отправить для получения данных в реальном времени.