First of all, you would need a OBDII adapter to be able to use the OBDII interface. There are many adapters from different manufacturers. Some of them have a COM interface, others have a USB interface, and some have a Bluetooth interface. The adapters are used to interface your Android device. 57 Responses to 'Torque OBD 2 engine. _ org.prowl.torquefree.comms.OBD$CommsThread.run(OBD.java.
- Sample Program In Java Programming
- Obd Diagnostic Interface App
- Obd Diagnostic Interface Program In Javascript
- Obd Diagnostic Interface Bluetooth Software
Description
Car diagnostic software for vehicles with OBD2 compatible interface.
Example
- now we can run two actions. Program looks for serial interfaces and lets the user to select one.Then it runs the action.
- report creates a text file in the current directory containing all implemented values.
- clear_trouble_codes erases the saved errors.
Targets
- support for most of today's operating systems
- communication via USB ELM327/OBD2 car interface, probably other in future
- stability
- simple startup, no system modifications needed (only JRE6 and higher)
- pretty maintainable code covered by tests, both unit (without real serial interface)and integration (with interface and car)
- open source free code
Problems
- how
- only available hardware for testing - ELM327 clone (1.5a)
- only few available cars for testing - Lada Kalina 1.6 8V 2007, Škoda Fabia 2010, Ford Focus 2007, Seat Ibiza 2001.
- need help with a selection of the license ... GNU GPL v3? EPL? BSD? MIT?
Troubleshooting
Port name - /dev/ttyUSB0; Method name - openPort(); Exception type - Permission denied. (Linux)
- sudo gpasswd --add ${USER} dialout
- or run the program with sudo.
Current stage
- early development.
- can reset error codes
- can produce a report file with the current values
- version 0.0.1 will be released after I will fix my problem with my car (P300, P303, P304) ... or later, in 2017 ;)
- if someone will start implementing GUI, many people will be finally happy ;)
Useful links
Maybe useful links
These libraries were not selected due to license or incompatibilities or other reason:
There is OBD-II
device like http://www.rczd.com/c/2015/Car_Diagnostic_Tools_0223/41193.html this device provider does not have its web page or documentation source. We have short 'quick start' in box and assurance that it support OBD-II PIDs
.
Recently I used to follow https://en.wikipedia.org/wiki/OBD-II_PIDs#Mode_1_PID_41
The question is, if there are any general pattern how to communicate with this icar device.
Before I've used to connect with (freematics)dongle
that has send the stream of data which I've parsed on fly.
Current one send only one value after one request we send to it (it is synchronous and can't handle more than one request per time).
Sample Program In Java Programming
I would like to get up-to-date OBD-II
params to display them(frequently).
Any ideas ?
JacobJacob1 Answer
Obd Diagnostic Interface App
If your device is compatible with the ELM327 you can use multiple PID requests but only if adapter is connected to the vehicle with CAN protocol. So it would work only with a subset of vehicles because not all vehicles support CAN.
Popular scan tools simply sends sequential requests. Maximum throughput you can gain with this approach is about 30-40 rps.
I don't know how freematics dongle works but I can see it has some SD card mounted - maybe it gives only emulation of parallelism and internally every request is sent sequentially?
Obd Diagnostic Interface Program In Javascript
If you are searching for reliable Java library for connecting to OBD II device I would recommend you https://github.com/pires/obd-java-api . You can also take a look at my library - https://github.com/devesion/java-obd-adapter