Android OBD-II reader designed to connect with Bluetooth Elm327 OBD reader.
The latest release can be found here.
- JDK 8
- Android Studio 1.5.x or newer
- Android SDK (API 22, Build tools 23.0.1)
- OBD Java API (already included)
Test with device
Be sure to have the device connected to your computer.
cd whatever_directory_you_cloned_this_repository gradle clean build installDebug
Test with OBD Server
If you want to upload data to a server, for now, check the following:
- OBD Server - a simple implementation of a RESTful app, compiled into a runnable JAR.
- Enable the upload functionality in preferences
- Set proper endpoint address and port in preferences.
As @dembol noted:
Have you checked your ELM327 adapter with Torque or Scanmaster to see if it works with your car? Maybe the problem is with your device?
Popular OBD diagnostic tools reset state and disable echo, spaces etc before protocol selection. Download some elm327 terminal for android and try following commands in order:
ATD ATZ AT E0 AT L0 AT S0 AT H0 AT SP 0
One may need to turn off echo and headers depending on the dongle in use:
AT E0 - Turn echo off. Characters sent to ElmScan are not retransmitted back to the host computer. AT E1 - Turn echo on. This is the default state, characters are echoed back to the host computer. AT H0 - Turn headers off. This is the default state, header information and CRC byte are omitted. AT H1 - Turn headers on. Header information and CRC byte are displayed.
Building with custom
This project depends on a pure-Java OBD library. For testing with a custom version of it, do the following:
- Clone obd-java-api it into your project folder:
git clone https://github.com/pires/obd-java-api.git
obd-java-api/build.gradlewith the following content:
apply plugin: 'java'
main build.gradleand change:
- Samsung Galaxy Nexus (Android 4.4.1)
- LG Nexus 5 (Android 6.0 Preview 3)
- Nexus 7 2013 WiFi (Android 4.4.4)
- Samsung Galaxy S4 Active I9295 (Android 5.0.2)
- Samsung Galaxy S6 Edge SM-925F (Android 5.0.2)
- Samsung Galaxy Note 3