The new cars today have more and more smart functions, and a lot of switches, buttons and gauges ont he dashboard are replaced with lcd- or touchscreens.
Within my diploma thesis I got familiar with the basics of OBD communication, as well as the message send and receive protocol which is used by it. I understood the CAN based systems, and studied the communication with ELM327 microcontrollers via Bluetooth, which was patented by ELM Electronics. I got familiar with reading OBD II data through ELM327 adapters with an Android device.
I made an MVVM pattern driven model, to easily send the OBD II PID messages, and built it in an Android application. This app can send PIDs to an ELM327 adapter, which connects to the OBD II interface. The app can read three datas from the car real-time (rpm, speed, and coolant temperature). I made a simple, easy to use, and easily understandable user-interface, and tested it with two cars from different model-years.
Developing was made in Java programming language and Android Studio. I needed to test the app without a car, for this I used the OBDSim application. I tested the finished application on a 2012 Nexus 7 tablet (Android 5.1, and later 6.0) and a Doogee X5 phone (Android 6.0) because of different screen sizes. Finally I did live testing with real cars , a 2002 Renault Mégane I Coupé, and a 2004 Renault Mégane II GranTour.