2015-01-02 2 views
4

Я работаю над приложением, которое мне нужно рассчитать расстояние, пройденное от точки A до точки B (на машине).Android OBD-II Как очистить пройденное расстояние (PID0131)?

Я спросил Elm Electronics (производитель чипсета), и они сказали, что нет стандартного ПИД-идентификатора OBD-II, чтобы вернуть пробег с одометра, хотя производители автомобилей могут предоставить PID. Поскольку этот способ не является стандартным, я нашел другой путь.

PID 0131 (Пройденное с тех пор, как коды были очищены), возвращает что-то, что, я думаю, может быть полезно. ЕСЛИ я могу очистить его в точке A и прочитать его значение в точке B, тогда я закончил :)

Я думал, что угадать, что означает «коды очищены», но я не мог понять, что делает это значит? и еще один важный вопрос: как очистить код или сбросить этот PID?

Любое предложение будет оценено. Благодарю.


Update

Я просто проверял на двух автомобилей.

  1. На автомобиле Benz нет работы OBD-II. Я не мог получить никаких данных :(
  2. Я получил правильный ответ на Persona car (Local Malaysia), но 0x0131 PID всегда возвращался 7F01, который был 16608KM, даже после прохождения нескольких Kms. Я попытался сбросить его, отправив команду 04 (как Эрик предложил по его ответу), Однако ничего не получилось :) И я все еще получил 7F01 в качестве ответа.

Моя библиотека может использоваться для тех, кто ищет OBD-II lib from here.

Итак, я планирую, так как я могу получить скорость (v), тогда я могу рассчитать расстояние по формуле d = v * t.

+0

Вот подсказка, коды могут быть очищены с любым obd2 читателя или отсоединении аккумулятора автомобиля. В принципе, ваш метод не будет работать. –

+0

@ElliottFrisch Спасибо за быстрый ответ. Я фактически использую Bluetooth ELM327, который является читателем и подключен к моему приложению. Я могу отправить код и получить результат. Но мне интересно, могу ли я сбросить (очистить код) командой? – Hesam

+1

Согласно [этому] (http://www.elmelectronics.com/ELM327/AT_Commands.pdf) да. Это 'Z'. –

ответ

1

Elm Electronics являются правильными. Решение проблем с ошибками сброса является возможным, но, возможно, нежелательным обходным решением.

Режим 04 предназначен для сброса кодов. Отправка 04 сбрасывает MIL (индикатор индикатора неисправности) и сбрасывает коды, которые вы хотите сбросить.

В комментариях Крис предложил использовать значение, а также отслеживать это значение самостоятельно. Таким образом, вам не нужно злоупотреблять режимом 04. Значение Th 0131 переполняется на 65535 км. Но когда вы приносите вам автомобиль для обслуживания, они могут сбросить это значение, в зависимости от того, кто поддерживает ваш автомобиль.

Источник: Mode 04 - Wikipedia

+0

Очистка диагностических кодов для несвязанных целей не кажется хорошей идеей. –

+0

Действительно, читатели , будьте осторожны! Однако это единственный способ, которым он может использовать ПИД-код 0131, упомянутый в вопросе. –

+1

Быстро ли это переполнение? В противном случае сохранение исходного значения val ue для вычитания должен работать, если кто-то другой (например, законный сервис двигателя) не очищает его между ними, но это тоже нарушит этот подход. –

Смежные вопросы