Developing Android System application to Obtain Information from Vehicles On-Board Diagnostics using Bluetooth Protocol Network Connectivity
Contents
Research and Literature review
Assessment of Development Software
Existing OBD Applications on the market currently
Assessing my application against Existing Applications
How the ECU communicates with OBD Hardware
Software used for Implementation
Application Testing and Result Analysis
Limitations and Future Improvements
“My Simple OBD Application” limitations
Real-time data Analysis Limitations
The aim of the project is to develop a free android based OBD Application implementing the Bluetooth network protocol connectivity that enables inspection of a vehicles DTC faults. Through obtaining the DTC codes stored in the Engine Control Unit (ECU) by means of connecting an android application using the Bluetooth communication protocols to a Bluetooth enabled On-Board Diagnostics kit (OBD). If a DTC code is obtained during communication between the two Bluetooth devices, the android application allows removal of the DTC code.
Many people have to pay a fee of around £30-£60 to a mechanic or download an Android vehicle diagnostic application costing £10-£15 along with an OBD (On-board Diagnostics) reader, to be able to attain meanings of the DTC’s (Diagnostic Trouble Code). The purpose of the project is to design and build a free Android Bluetooth network enabled application that successfully communicates and transfers data to a Bluetooth enabled OBD reader, for the purpose of the report an ELM327 was purchased and used as the OBD reader to attain the DTC meanings.
The majority of modern cars are all controlled by an Engine Control Unit commonly known as ECU. The ECU controls the vehicles engine functions by obtaining values from various sensors e.g. the camshaft sensor, exhaust emissions sensor, and many others. If there is any major issue with any of the sensors the MIL (Malfunction Indication Lamp) located on the instrument cluster (See Appendices A) will illuminate indicating to the owner there is an issue with the vehicle. The data is processed to diagnose any problems the sensors obtain, which can help identify vehicle problems. All modern cars also contains a 16-pin Data-Link-Connector (DLC) which is known as the OBD port (See Appendices B). The port is designed to enable the user to connect the Diagnostics kit, such as the OBD reader. Once the issues fixed the code should be cleared, this will allow the MIL to turn off.
OBD System was designed to monitor how the vehicle performs while also controlling emissions. Depending on the pins available in the OBD port determines what protocol the vehicle uses for its communication (See Appendices C).
New knowledge and information that had to be acquired in order to build and test an Android Application. Numerous databases and sources of information were accessed for this Project. The following databases, and search terms that were searched to obtain knowledge and information are listed below:-
Databases
Search Terms Used
The above databases and search terms yielded a vast amount of knowledge and information. The most relevant data was gathered, stored, analysed. All non-relevant literature and information was disregarded. The information was processed into data sources types, all relevant website information was stored into a Folder labelled Website information. Further subsection Folders were also created within Website information and labelled, such as Android Developer website and GitHub website. This Method was also implemented in other data source types e.g. Articles, Books, and Online Videos.
The main objectives of the project are listed in the Objectives table (Table 1) below and must be implemented correctly for the aroid application to function properly. The desirable objectives have also been considered, they are implemented for the purpose of making the application to be more productive and user friendly.
Main Objective | Comments |
Successfully connect two Bluetooth devices | This is successfully achieved by connected the mobile application to the elm327 Device |
Successfully transfer data between devices | This is also successfully achieved as the trouble codes are received from the ECU |
Successfully work of android devices | This objective has also been achieved as the application works on a Samsung s6, a HTC m8 and a LG G5 |
Allow application to be able to retrieve Vehicle Fault Codes | This objective has also been achieved as fault codes are displayed on the screen by the application |
Allow user to obtain any type of information they want | This has not been achieved, although the user can input any Parameter ID the information is not displayed the correct way |
Allow user to be able clear error codes | This has also been achieved as for the benefit of the test a faulty vehicle was used and the codes were cleared once the “remove” button was pressed. |
Objectives(Table1)
Desirable Objective | Comments (At end of project) |
|
Not completed due to Time constraints and knowledge limitations |
|
Implemented as shown is Usability Test |
|
Not implemented due to Time constraints and knowledge limitations |
This section of the report will show how the rest of the report is organised, in stage 2 of the report, will detail background research conducted and the issues worked on within the project. The information observed is essential to read and understand to comprehend the sections that follow. Contained within section is the additional research that was conducted. Stage 3 details the thought-out plan of the design along with design layouts. Stage 4 contains details of the implementation phase, within this section it details, what steps were taken to achieve the end goal. Section 5 consists of the Testing phase, detailing how testing was conducted, what types of test cases were performed along with the test results. The Final stage contains details of the analysation phase, which describes the difficulties that were encountered as the project progressed, in addition to how they were overcome and the limitations faced. This section furthermore contains further improvements that could have been implemented including future work that can be conducted. The final sub section within the final stage of the project giving the conclusion of the report along with detailed description of the learning curve achieved
Insert Gantt chart
There are number of studies available in the literature on the study of the OBD system, several applications have been built for use on mobile phones using the Android platform to provide various services.
When focusing specifically on the OBD applications developed for diagnosis of DTC fault codes using mobile phones, very few works are available.
The study done by Tahat et al., (2012), Ganapati et al. (2014), Kene and Khisti,(2014), and Nille et al., 2015)are identical prior projects to each other and that of Kumar, T. and Sivaji, S. (2015). These projects however does not connect to a vehicles in built Liquid crystal display like that of Kumar, T. and Sivaji, S. (2015) who created a system to provide a low-cost means of monitoring a vehicle’s performance and tracking by communicating the obtained data to a mobile Android device. By means of a hardware device built to interface between the vehicle’s on-board liquid crystal display and a Bluetooth module which communicates with an Android device. The results can be viewed on the application developed by the authors to monitor Temperature, Humidity and Fuel consumption. The application is further capable of transmitting data to a server using cellular internet connection.
Another project designed and developed by V.Malpani, S. et al (2015) is similar to that of the projects above. A purpose built hardware unit with Bluetooth connectivity is built for the purposes of relaying data to a mobile Android device. In this project two android applications were developed. One application for measuring vehicle data e.g. oil level and engine temperature, the other application utilising android GPS to display if the vehicle is exceeding the speed limit similarly the project of Al-taee et al (2007) Warns the driver in the event that a vehicle exceeds the speeding limit a designated sound and text prompting occurs(G.F.Turker, 2016)
Y.Yang et al (2015) proposed a system using a Bluetooth OBD II reader for acquiring real time vehicle parameters from the CAN bus of a hybrid electrical vehicle. The OBD II reader used the ELM 327 integrated chip to interpret the CAN protocol. The data was received wirelessly by an Android mobile device over a Bluetooth network. The data could also be sent via GPRS to a remote server from the android mobile device.
J. Zaldivar et al(2011) developed an Android-based application that monitored the vehicle via an OBD II interface. They measured various parameters for example measuring the air-bag trigger and G-force experienced by the passenger during a collision in order to detect accidents. In the event of a collision the data could be sent to emergency services and any other persons desired.
It is observed from the studies above that real time vehicle parameters can be measured, however there is a limitation in the parameters measurable using standard PIDs defined by OBD II. Fuel consumption does not have standard PIDs, this parameter will have to be computed from parameters such as mass air flow and speed. (Malekian et al., 2017)
Primarily being a venture of Four men, Android Inc. was created in 2003, for the purpose of constructing an advanced Digital Camera Operating system, as development progressed it became obvious the original target was too restrictive. The team started to focus on a system to compete with Symbian Operating system which at the time was used on PDAs and early smartphones. In 2005 Google, had brought the company while keeping the original team on, with the help of Google the Android operating system went on to become one of the most commonly used operating system for major phone manufactures such as Samsung, HTC and Sony consuming over 80% of the mobile market.
The Android operating system is developed on the Linux kernel system which uses C as its main programming language. The C programming language was one the first Programming languages that was created for programmers using simple syntax, making it an easy to use language. To date it is still one of the most powerful programming languages as it has developed and evolved. (Fresh2refresh.com, 2017) In recent times Android has moved on to use Java programming language, a derivative form of the C programming language. The major difference between the two is that the Java language is more Object Orientated programming whereas the C programming language is a procedure orientated programming Language. (Dev, 2010)
When creating the application, there were many different types of Software Development Applications available in order to design and build the Android application (Jr., 2015). The Software Development Application chosen to create the application was Android Studio. The reason this was chosen is because the vast amount of resources that are available for Developers of Android Applications from the official Android website as well as other sources. The alternative Software Development Applications that were considered, consist of the following in the table below table 2;
Software | |||||
Features | PhoneGap |
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more