Невозможно отправить команду ATZ на ELM327 после установления соединения с ELM327 на Android.Android

Форум для тех, кто программирует под Android
Anonymous
Невозможно отправить команду ATZ на ELM327 после установления соединения с ELM327 на Android.

Сообщение Anonymous »

Я написал код, который успешно находит спаренный OBD-II и устанавливает соединение с ELM327, но когда я пытаюсь отправить команду ATZ, приложение аварийно завершает работу.
Вот фрагмент кода, который я, возможно, сделал неправильно:

Код: Выделить всё

public HashMap startOBDCommunicator(
BluetoothSocket btSocketConnected, String paramClassName,
String methodName) {

HashMap dataRetriever = new HashMap();
sendDataToOBD(btSocketConnected, "ATZ\r");
dataRetriever.put("Reset", readDataFromOBD(btSocketConnected));

sendDataToOBD(btSocketConnected, "ATS0\r");
dataRetriever.put("Space Control", readDataFromOBD(btSocketConnected));

sendDataToOBD(btSocketConnected, "ATE0\r");
dataRetriever.put("Echo control", readDataFromOBD(btSocketConnected));

sendDataToOBD(btSocketConnected, "ATL0\r");
dataRetriever.put("Line feed", readDataFromOBD(btSocketConnected));

sendDataToOBD(btSocketConnected, "ATAT0\r");
dataRetriever
.put("Adaptive Timing", readDataFromOBD(btSocketConnected));

sendDataToOBD(btSocketConnected, "ATST10\r");
dataRetriever.put("Time Out", readDataFromOBD(btSocketConnected));

sendDataToOBD(btSocketConnected, "ATI\r");
dataRetriever.put("Device Description",
readDataFromOBD(btSocketConnected));

sendDataToOBD(btSocketConnected, "ATDP\r");
dataRetriever.put("Protocol Information1",
readDataFromOBD(btSocketConnected));

sendDataToOBD(btSocketConnected, "ATSPA0\r");
dataRetriever
.put("Auto Protocol",
readBytesFromOBD(btSocketConnected, paramClassName,
methodName));

sendDataToOBD(btSocketConnected, "010C\r");

dataRetriever
.put("RPM param",
readBytesFromOBD(btSocketConnected, paramClassName,
methodName));

sendDataToOBD(btSocketConnected, "010D\r");

dataRetriever
.put("Speed parameters",
readBytesFromOBD(btSocketConnected, paramClassName,
methodName));

sendDataToOBD(btSocketConnected, "0104\r");

dataRetriever
.put("engine load value parameters",
readBytesFromOBD(btSocketConnected, paramClassName,
methodName));

sendDataToOBD(btSocketConnected, "0105\r");

dataRetriever
.put("Engine coolant temperature parameters",
readBytesFromOBD(btSocketConnected, paramClassName,
methodName));

sendDataToOBD(btSocketConnected, "012F\r");

dataRetriever
.put("Fuel Level Input",
readBytesFromOBD(btSocketConnected, paramClassName,
methodName));

return dataRetriever;
}
Я не уверен, где я допустил ошибки, поэтому делю весь ход кода в виде двух основных моментов. https://gist.github.com/sankarganesh/6376031. Эта суть содержит файл активности и еще одну суть прослушивателя сокетов Bluetooth: https://gist.github.com/sankarganesh/6376039.


Подробнее здесь: https://stackoverflow.com/questions/185 ... ith-elm327

Вернуться в «Android»