ПРОТОКОЛ ANDROID ELM327/OBD2

Я пытаюсь отправить команду из ANDROID в протокол ELM327/OBD2 (проблемы диагностики WIFI). Я скачал API или библиотеку с: https://github.com/pires/android-obd-reader Проблема в том, что у этого API нет документации. Нужна помощь по поводу команды и протокола для обмена данными. Спасибо!


person toto    schedule 27.02.2013    source источник


Ответы (2)


Что вы действительно хотите знать?

С ELM327 протокол довольно прост. Вы просто отправляете PID в ASCII и получаете ответ в ASCII. Он основан на опросе. Так вы получите 1 ответ на 1 запрос. Пока вы не отправляете, вы не получаете.

Для преобразования и того, какие команды отправлять, проверьте ссылки, которые я предоставил.

Еще несколько ссылок:

AT-команды
Команды OBD-II

person Eric Smekens    schedule 28.03.2013
comment
Ссылка на команду AT обновлена. sparkfun.com/datasheets/Widgets/ELM327_AT_Commands.pdf - person Avinash Ranjan; 09.08.2016

Если вы хотите использовать эту библиотеку, вы должны скачать исходный код. Исходный код говорит сам за себя. Также есть исходный код примера приложения. Я попытался запустить пример приложения, но у меня это не сработало. Тем не менее, я просмотрел исходный код, и это помогло мне в моем приложении.

В этой библиотеке вы найдете уже реализованные и простые в использовании основные запросы. Я нашел ошибку только в классе ObdResetCommand. Этот класс реализует суперкласс ObdCommand и переопределяет метод readResult следующим образом:

@Override
public void readResult(InputStream in) throws IOException {
    // do nothing
    return;
}

Чтобы заставить его работать, вы должны удалить этот переопределяющий метод, чтобы использовать метод суперкласса. Если вы этого не сделаете, ответ не будет прочитан, и он будет прочитан в следующей команде, так что каждый ответ будет задержан на один запрос.

Я надеюсь, что это помогает.

person bplpu    schedule 15.07.2013
comment
не могли бы вы увидеть этот заголовок вопроса ="невозможно отправить команду atz на elm 327 после установления соединения с elm327"> stackoverflow.com/questions/18528792/ - person Sankar Ganesh PMP; 11.09.2013