Table of Contents
Abstract
On-board diagnostics (OBD) is an automotive term referring to a vehicle’s self-diagnostic and reporting capability. OBD systems give the vehicle owner or repair technician access to the status of the variety of vehicle subsystems. The amount of diagnostic information available via OBD has varied broadly since its introduction in the early 1980s versions of on-board vehicle computers. With the help of OBD II engine parameters like engine oil temperature, engine RPM, throttle position, run time since engine start, engine coolant temperature etc are monitored.
With the help of OBD II and raspberry pi using IOT, we will access all information regarding engine from OBD II so it is helpful for heavy duty machines like used in excavation on site so owner monitor engine condition of vehicle from anywhere.
Introduction
The advances in cloud computing and internet of things (IOT) have provided a promising opportunity to resolve the challenges caused by the increasing transportation issues. We present a novel multilayered vehicular data cloud platform by using cloud computing and IOT technologies. Two innovative vehicular data cloud services, an intelligent parking cloud service and a vehicular data mining cloud service, for vehicle warranty analysis in the IOT environment are also presented. The automotive engine contains different systems that operate to fulfill the continuous function of the combustion. To insure un-interrupted function and optimal performance, various types of condition monitoring technologies are being used with different new advanced data processing techniques.
Developing an embedded system for detecting the vehicle condition by monitoring the internal parameters that are used in evaluating the vehicle‘s current health condition. Traveler information plays a critical role in supporting safety, security, mobility, and in improving the reliability of travel. This traveler information can be a continuous data on performance of the vehicle and the status of its internal components.
An in-vehicle embedded system is being developed to generate a vehicle health report (VHR) whenever needed by the user. It also acts as an eco friendly vehicle by monitoring the emissions from the car which in turn helps in regulating (by taking proper actions to reduce the emissions as per the faults indicated in the VHR) the environmental pollution. It predicts the future errors so that the driver can have an uninterrupted journey and can avoid accidents.
The data required for generating the health report consists of parameter values (outputs of in-built sensors) of different systems inside the vehicle. This data can be obtained using the OBD-II protocol which is followed by the vehicles manufactured after 1996. It uses Lab VIEW as platform that has automotive diagnostic command set tool kit which helps in building up the software required to communicate with the vehicle’s ECU through OBD-II system. OBD-II technology has been created to diagnos Vehicle’s condition. OBD-II scanner plugged to OBD-II port or usually called Data Link Connector (DLC), and after that it sends the diagnostics to Raspberry Pi. Compared from another Microcontrollers, Arduino, Raspberry Pi are chosen because it sustains the application to receive Real-time diagnostics, process the diagnostics and send command to automobiles at the same Time, rather than Arduino that must wait for another process finished to run another process.
Raspberry Pi 3 is tiny single board computer, introduced by Raspberry Pi Foundation that comes with CPU, GPU, USB ports and I/O pins and capable of doing some simple functions like regular computer.
Introduced in 2016, Raspberry Pi 3 Model B comes with a quad core processor that shows robust performance which is 10 times more than Raspberry Pi 1. And a speed exhibit by Raspberry Pi 3 is 80% more than Raspberry Pi 2.
The Raspberry hardware has gone through a number of variations in terms of peripheral device support and memory capacity. Every new addition comes with a little improvement in terms of design where advance features are added in the device so it can do as many function as possible like a regular computer.
On-Board Diagnostics refers to a vehicle’s self-diagnostic and reporting capability. OBD systems give the vehicle owner or a repair technician access to state of health information for various vehicle sub-systems. On-board diagnostics (OBD) is an automotive term referring to a vehicle’s self-diagnostic and reporting capability. OBD systems give the vehicle owner or repair technician access to the status of the various vehicle subsystems. The amount of diagnostic information available via OBD has varied widely since its introduction in the early 1980s versions of on-board vehicle computers.
The OBD-II system allows for monitoring of most electrical systems on the vehicle. The OBD-II standard specifies the type of diagnostic connector and its pinout, the electrical signaling protocols available, and the messaging format. It also provides a candidate list of vehicle parameters to monitor along with how to encode the data for each. Monitored items include speed, rpm, ignition voltage, and coolant temperature. This system also informs an engineer when an individual cylinder has a misfire. The OBD-II standard also provides an extensible list of DTCs. As a result of this standardization, a single device can query the on-board computer(s) in any vehicle.
Interfacing Technologies
CAN Protocol:
A CAN protocol is a CSMA-CD/ASM protocol or carrier sense multiple access collision detection arbitration on message priority protocol. Controller Area Network or CAN protocol is a method of communication between various electronic devices like engine management systems, active suspension, ABS, gear control, lighting control, air conditioning, airbags, central locking etc embedded in an automobile.
For two or more devices to interface they should have the required hardware and software which allows them to communicate with each other. CAN protocol was introduced to address this problem.
CAN contains OSI reference model to transfer data among nodes connected in a network. The OSI reference model defines a set of seven layers through which the data passes during communication between devices connected in a network. The 7-layered structure of the OSI model is a very robust approach widely adopted in many communication protocols.
A Message is packet of data that carries the information to be exchanged between the nodes. Each message in CAN has a unique identification number. The identification number is specified according to the content of the message and stored in message identifier. This identification number is also unique within the network so when the transmitting node places the data on the network for access to all nodes it checks unique ID number to allow the message to pass through the filter and rest are ignored. This is done to save the time spent on sorting. With message based protocol other nodes can be added without re-programming since the units connected to the bus have no identifying information like node addressing.
Internet of Things-
The Internet of things (IoT) is the network of physical devices, vehicles, home appliances, and other items embedded with electronics, software, sensors, actuators, and network connectivity which enable these objects to connect and exchange data. The IoT allows objects to be sensed or controlled remotely across existing network infrastructure, creating opportunities for more direct integration of the physical world into computer-based systems, and resulting in improved efficiency, accuracy and economic benefit in addition to reduced human intervention. In IoT platform, ‘Things’ can refer to a wide variety of devices such as heart monitoring implants, biochip transponders on farm animals, cameras streaming live feeds of wild animals in coastal waters, automobiles with built-in sensors, DNA analysis devices for environmental/food/pathogen monitoring, or field operation devices that assist firefighters in search and rescue operations.
The four-stage architecture of an IoT system-Stage 1 of an IoT architecture consists of your networked things, typically wireless sensors and actuators. Stage 2 includes sensor data aggregation systems and analog-to-digital data conversion. In Stage 3, edge IT systems perform preprocessing of the data before it moves on to the data center or cloud. Finally, in Stage 4, the data is analyzed, managed, and stored on traditional back-end data center systems.
Thingspeak server-
ThingSpeak is an IoT analytics cloud platform service that allows us to aggregate, visualize and analyze live data streams in the cloud. ThingSpeak provides instant visualizations of data posted by ESP8266 to ThingSpeak.
ThingSpeak requires a user account and a channel. A channel is where you send data and where ThingSpeak stores data. Each channel has up to 8 data fields, location fields, and a status field. ThingSpeak has integrated support from the numerical computing software MATLAB from MathWorks allowing ThingSpeak users to analyze and visualize uploaded data using Matlab without requiring the purchase of a Matlab license from Mathworks.
Its simple just enter users email id and verify users account. Create New Channel with field data. Using API Keys data will be uploaded and updated on channel.
Apache 2-
Apache is most commonly used web server or Linux system. Languages such as Python and PHP It are free and open-source cross-platform web server software. Web servers are used to serve Web pages requested by client computers. Clients typically request and view Web pages using Web browser applications such as Internet Explorer Opera, Chromium, or Firefox. Apache supports features like implementation of compiled modules which extend the core functionality. These support server-side programming.
Apache 2 web server installed by using sudo apt install apache2 command. Apache2 is a virtual-host-friendly default configuration. That is, it is configured with a single default virtual host which can be modified or used as-is if we have a single site, or used as a template for additional virtual hosts if you have multiple sites. The ServerAdmin directive specifies the email address to be advertised for the server’s administrator. The default value is [email protected]. The Listen directive specifies the port, and optionally the IP address, Apache2 will listen on IP address assigned to the machine it runs on. The DocumentRoot directive specifies where Apache2 should look for the files that make up the site. The default value is /var/www/html.
PHP-
Hypertext Preprocessor (or simply PHP) is a server-side scripting language designed for Web development, and also used to a general-purpose programming language. PHP interpreters became available on most existing 32-bit and 64-bit operating systems, either by building them from the PHP source code, or by using pre-built binaries.
MySQL-
MySQL is an open source relational database management system which is a database system used on the web. MySQL is a database system that runs on a server and it is ideal for both small and large applications. It is very fast, reliable, and easy to use and uses standard SQL. MySQL compiles on a number of platforms which is free to download and use MySQL is developed, distributed, and supported by Oracle Corporation.
System Architecture
Overview
In this system, the main objective of the proposed work is to observe the parameters and location of engine and give feedback from cloud to engine for processing like to start or stop engine from owner’s location.
The user should connect OBD II Bluetooth module to DLC port of engine & get parameters like engine oil temperature, coolant temperature, engine RPM, engine run time from engine using an OBD II. The user will communicate with Raspberry pi through Wi-Fi network or Internet. Then user will connect OBD II to Raspberry pi via MAC address of Bluetooth module. Machines geographical position can be detected using GPS module. User will access these parameters using python in raspberry pi and upload the data on cloud using IOT. For that Sign up on thingspeak server, create new channel and get API keys for that channel & upload the data using APIs. For engine start- stop generate command from cloud by sending feedback to engine from cloud.
User will get information of engine related to health and maintenance of engine by sending message
System Operation
- First step is to connect OBD II Bluetooth to DLC (data link connector) port of engine for obtaining engine parameters from ECU (engine control unit) like engine oil temperature, coolant level, speed, engine RPM, coolant temperature, GPS height and so on.
- Connect OBD II Bluetooth module to Raspberry pi 3 controller board through its MAC address of OBD module. The parameters like oil temperature, GPS height, coolant temperature, RPM etc will displays on display when algorithm run on python.
- After obtaining data from engine through OBD II, for uploading data thingspeak server will be used. Thingspeak is an IoT analytics cloud platform service that allows aggregating, visualizing and analyzing.
- Live data streams in the cloud. First sign up thingspeak through email address and verify account then create channel on server with name and field which is required for data and get API keys for uploading data on that particular channels.
- All the parameters data will be displayed on thingspeak channels from that channel data will be analyzed or observed by owner. By sending alert massage or notification on mobile phone by using microcontroller.
- Send feedback to engine from owner through cloud and generate commands like to start or to stop engine from owner’s location. By getting feedback massage from owner engine should turn on or off as per feedback.
Conclusion
Using OBD II module, we can communicate with various sensors of vehicle like engine rpm, speed, ignition voltage, and coolant temperature etc. It provides list of vehicle parameters to monitor along with how to encode the data for each. The monitoring and diagnostics of vehicle data can be done successfully using raspberry pi and internet source.
In this system, the main objective is to gain engine parameter data using OBD II Bluetooth module and upload these parameters on cloud and make provision to analyze data and generate command on cloud to start-stop engine as per client requirement.