Я пытаюсь отправить команду из ANDROID в протокол ELM327/OBD2 (проблемы диагностики WIFI). Я скачал API или библиотеку с: https://github.com/pires/android-obd-reader Проблема в том, что у этого API нет документации. Нужна помощь по поводу команды и протокола для обмена данными. Спасибо!
ПРОТОКОЛ ANDROID ELM327/OBD2
Ответы (2)
Что вы действительно хотите знать?
С ELM327 протокол довольно прост. Вы просто отправляете PID в ASCII и получаете ответ в ASCII. Он основан на опросе. Так вы получите 1 ответ на 1 запрос. Пока вы не отправляете, вы не получаете.
Для преобразования и того, какие команды отправлять, проверьте ссылки, которые я предоставил.
Еще несколько ссылок:
Если вы хотите использовать эту библиотеку, вы должны скачать исходный код. Исходный код говорит сам за себя. Также есть исходный код примера приложения. Я попытался запустить пример приложения, но у меня это не сработало. Тем не менее, я просмотрел исходный код, и это помогло мне в моем приложении.
В этой библиотеке вы найдете уже реализованные и простые в использовании основные запросы. Я нашел ошибку только в классе ObdResetCommand. Этот класс реализует суперкласс ObdCommand и переопределяет метод readResult следующим образом:
@Override
public void readResult(InputStream in) throws IOException {
// do nothing
return;
}
Чтобы заставить его работать, вы должны удалить этот переопределяющий метод, чтобы использовать метод суперкласса. Если вы этого не сделаете, ответ не будет прочитан, и он будет прочитан в следующей команде, так что каждый ответ будет задержан на один запрос.
Я надеюсь, что это помогает.