Android System Application to Obtain Information from Vehicles On-Board Diagnostics

Developing Android System application to Obtain Information from Vehicles On-Board Diagnostics using Bluetooth Protocol Network Connectivity

Contents

Acknowledgements

Abstract

Introduction

Background

Research Methodology

Objectives

Report structure

Research and Literature review

Literature Review

History of Android

Assessment of Development Software

Existing OBD Applications on the market currently

Assessing my application against Existing Applications

Type of Network Connections

Bluetooth Network

Client Side

Server Side

Security Risks

Evolution of Bluetooth

Bluetooth Low Energy

Alternatives to Bluetooth

Infrared

Near Field Communication

Wi-Fi

How the ECU communicates with OBD Hardware

Protocols

Parameter IDs

Diagnostic Trouble Codes

Usability and Design

Usability Features

Storyboard

Class Diagram

Implementation

Software used for Implementation

Bluetooth Implementation

Connecting Bluetooth

Communication

Design Implementation

Trouble code Implementation

Application Testing and Result Analysis

Usability Testing

Low level resource testing

Compatibility Testing

General Testing

Discussion and Evaluation

Limitations and Future Improvements

“My Simple OBD Application” limitations

Real-time data Analysis Limitations

Usability Limitations

Conclusion

Appendices

References

Bibliography

References

Abstract

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.

Introduction

Background

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).

Research Methodology

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

  1. Using the university intranet to search for suitable books and articles contained within the University of Hertfordshire library.
  2. Elsevier
  3. University of Hertfordshire Intranet to search for articles located in other university institutions
  4. Google Scholar
  5. Google search Engine

Search Terms Used

  1. Android
  2. Android Plays store
  3. Google
  4. Java
  5. Programming
  6. OBD applications
  7. Android Manifest
  8. Bluetooth Network Connectivity
  9. Wi-Fi Network Connectivity
  10. NFC
  11. Network Connectivity
  12. Android Manifest
  13. Android programming for beginners

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.

Objectives

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)
  1. Successfully implement real-time data view
Not completed due to Time constraints and knowledge limitations
  1. Successfully implement a user-friendly design
Implemented as shown is Usability Test
  1. Successfully connect to the device automatically.
Not implemented due to Time constraints and knowledge limitations

Report structure

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

Research and Literature review

Literature Review

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)

History of Android

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)

Assessment of Development Software

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
Place your order
(550 words)

Approximate price: $22

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our Guarantees

Money-back Guarantee

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 more

Zero-plagiarism Guarantee

Each 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 more

Free-revision Policy

Thanks 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 more

Privacy Policy

Your 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 more

Fair-cooperation Guarantee

By 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