SlideShare a Scribd company logo
1 of 15
OBD
How to Guide
www.letsnurture.com
What is OBD?
OBD is an acronym for “on-board diagnostics”
and refers to vehicle's self-diagnostics and
reporting capability.
Originally it was intended to help mechanics
run quick vehicle diagnostics.
www.letsnurture.com
OBD Chip
First of all, you would need a OBDII adapter to be
able to use the OBDII interface. There are many
adapters from different manufacturers. Some of
them have a COM interface, others have a USB
interface, and some have a Bluetooth interface
www.letsnurture.com
www.letsnurture.com
How it works
Theoretically, any adapter can be used by the
Android application, but in practice, your best
choice is the Bluetooth interface.
Also, adapters can be differentiated by supported
OBDII protocols (i.e. by supported vehicles).
So if you have a car within reach and good OBDII
adapter we can start developing OBDII reader
application.
You can use OBD Simulator software also.
www.letsnurture.com
OBD Simulator
The one that worked for me is OBDSim: it is an
open source project available for different
platforms.
A hardware emulator can be used instead of a real
car. I used ECUsim 2000 standard with ISO 15765
(CAN) protocol enabled.
As for the OBDII adapter - I used ELM327 v.1.5
adapter.
www.letsnurture.com
Developing the application
Let's start with describing the protocol that is used
for communication between Android device and
OBDII adapter/vehicle.
It is text-based polling type protocol. This means
that all you need is to send a command to receive
a response. And knowing what commands to send
is key.
We will connect to the adapter through Bluetooth.
It seems that Bluetooth Low Energy API is just the
thing we should use.
www.letsnurture.com
The protocol supports AT commands like turning
echo and control line feed. Another part of the
protocol is OBDII control protocol itself.
The general workflow of the application
functionality should go like this:
1) connect to the OBDII adapter through
Bluetooth;
2) initialize OBDII adapter with AT commands;
3) continuously get data from the vehicle through
issuing the corresponding PID codes.
www.letsnurture.com
Connecting to the OBDII adapter is straightforward. But one thing you need to do before connecting is to select the Bluetooth device.
Displaying an alert dialConnecting to the OBDII adapter is straightforward. But one thing you need to do before connecting is to select the
Bluetooth device. Displaying an alert dialogue with single choice items is a good way to go:ogue with single
choice items is a good way to go:
Connection with OBD Adapter
Connecting to the OBDII adapter is straightforward.
But one thing you need to do before connecting is to
select the Bluetooth device. Displaying an alert dialogue
with single choice items is a good way to go.
The UUID I mentioned represents a “serial” interface
through Bluetooth. Of course, this code should be
executed in a non-UI thread.
Also, I would recommend checking this article for details
and a solution of a bug in Android that can lead to
connection failure in some cases.
Don't forget to initialize the OBDII adapter first by issuing
configuration commands
www.letsnurture.com
new EchoOffObdCommand().run(socket.getInputStream(), socket.getOutputStream());
new LineFeedOffObdCommand().run(socket.getInputStream(), socket.getOutputStream());
new TimeoutObdCommand().run(socket.getInputStream(), socket.getOutputStream());
new SelectProtocolObdCommand(ObdProtocols.AUTO).run(socket.getInputStream(), socket.getOutputStream());
OBD Configuration Commands
new
EchoOffObdCommand().run(socket.getInputStream(),
socket.getOutputStream());
new
LineFeedOffObdCommand().run(socket.getInputStream(),
socket.getOutputStream());
new
TimeoutObdCommand().run(socket.getInputStream(),
socket.getOutputStream());
new
SelectProtocolObdCommand(ObdProtocols.AUTO).run(s
ocket.getInputStream(), socket.getOutputStream());
www.letsnurture.com
Measuring RPM & Speed
EngineRPMObdCommand engineRpmCommand = new
EngineRPMObdCommand();
SpeedObdCommand speedCommand = new SpeedObdCommand();
while (!Thread.currentThread().isInterrupted())
{
engineRpmCommand.run(sock.getInputStream(),
sock.getOutputStream());
speedCommand.run(sock.getInputStream(), sock.getOutputStream());
// TODO handle commands result
Log.d(TAG, "RPM: " + engineRpmCommand.getFormattedResult());
Log.d(TAG, "Speed: " + speedCommand.getFormattedResult());
}
www.letsnurture.com
OBD II Trouble Codes
OBD-II codes consist of a number of parts. Here is a
sample OBD2 code:
P0171
The first character identifies identifies the system related
to the trouble code. P = Powertrain B = Body C = Chassis
U = Undefined
The second digit identifies whether the code is a generic
code (same on all OBD-II equpped vehicles), or a
manufacturer specific code. 0 = Generic (this is the digit
zero -- not the letter "O") 1 = Enhanced (manufacturer
specific)
www.letsnurture.com
new EchoOffObdCommand().run(socket.getInputStream(), socket.getOutputStream());
new LineFeedOffObdCommand().run(socket.getInputStream(), socket.getOutputStream());
new TimeoutObdCommand().run(socket.getInputStream(), socket.getOutputStream());
new SelectProtocolObdCommand(ObdProtocols.AUTO).run(socket.getInputStream(), socket.getOutputStream());
The third digit denotes the type of sub-system that
pertains to the code
1 = Emission Management (Fuel or Air)
2 = Injector Circuit (Fuel or Air)
3 = Ignition or Misfire
4 = Emission Control
5 = Vehicle Speed & Idle Control
6 = Computer & Output Circuit
7 = Transmission
8 = Transmission
9 = SAE Reserved
0 = SAE Reserved
www.letsnurture.com
new EchoOffObdCommand().run(socket.getInputStream(), socket.getOutputStream());
new LineFeedOffObdCommand().run(socket.getInputStream(), socket.getOutputStream());
new TimeoutObdCommand().run(socket.getInputStream(), socket.getOutputStream());
new SelectProtocolObdCommand(ObdProtocols.AUTO).run(socket.getInputStream(), socket.getOutputStream());
OBD Code Explained
The most common OBD-II codes are P0xxx powertrain
codes, along with P2xxx generic & P3xxx generic codes
(please scroll down).
For the other OBD-II codes, choose from Bxxxx - B Codes
- OBD-II Body Codes or Cxxxx - C Codes - Chassis
Codes, and Uxxxx - U - Network Codes.
If your DTC (diagnostic trouble code) begins with P1xxx,
that means it's a manufacturer specific code
www.letsnurture.com
Let's Analyse OBD Codes
and
Know Car's Health Now
Follow us on
https://www.facebook.com/LetsNurture
https://twitter.com/letsnurture
http://www.linkedin.com/company/letsnurture
Mail Us on
info@letsnurture.om
www.letsnurture.com | www.letsnurture.co.uk

More Related Content

What's hot

Obd Сar Doctor_Promo
Obd Сar Doctor_PromoObd Сar Doctor_Promo
Obd Сar Doctor_PromoPNN Soft
 
U381 live data scanner auto code reader obd2 user manual
U381 live data scanner auto code reader obd2 user manualU381 live data scanner auto code reader obd2 user manual
U381 live data scanner auto code reader obd2 user manualautoobdtools
 
IRJET- Voice Controlled Robotic Vehicle
IRJET- Voice Controlled Robotic VehicleIRJET- Voice Controlled Robotic Vehicle
IRJET- Voice Controlled Robotic VehicleIRJET Journal
 
Voice Recognition Car
Voice Recognition CarVoice Recognition Car
Voice Recognition Carrchovatiya
 
Voice controlled spy robot for security system
Voice controlled spy robot for security systemVoice controlled spy robot for security system
Voice controlled spy robot for security systemMayank Prajapati
 
Forklift impacts, IM3 RFID operator card access control
Forklift impacts, IM3 RFID operator card access controlForklift impacts, IM3 RFID operator card access control
Forklift impacts, IM3 RFID operator card access controlTed Jurca
 
How to use V-Scan VAG+CAN OBDII V802 Professional Car Diagnostic Tool
How to use V-Scan VAG+CAN OBDII V802 Professional Car Diagnostic ToolHow to use V-Scan VAG+CAN OBDII V802 Professional Car Diagnostic Tool
How to use V-Scan VAG+CAN OBDII V802 Professional Car Diagnostic ToolBuyobdtoolShop
 
Automatic Toll Tax Collection System by Using RFID
Automatic Toll Tax Collection System by Using RFIDAutomatic Toll Tax Collection System by Using RFID
Automatic Toll Tax Collection System by Using RFIDSahal Patel
 
Advanced motion controls mc1xdzpc01
Advanced motion controls mc1xdzpc01Advanced motion controls mc1xdzpc01
Advanced motion controls mc1xdzpc01Electromate
 
Bluetooth Controlled Robot
Bluetooth Controlled RobotBluetooth Controlled Robot
Bluetooth Controlled RobotPankaj Rai
 
Eld presentation
Eld presentationEld presentation
Eld presentationJames Minor
 
Advanced motion controls dvc250a060
Advanced motion controls dvc250a060Advanced motion controls dvc250a060
Advanced motion controls dvc250a060Electromate
 
UID CODE FOR ANTICRIME/ TOLL TAX COLLECTION
UID  CODE  FOR ANTICRIME/ TOLL TAX COLLECTIONUID  CODE  FOR ANTICRIME/ TOLL TAX COLLECTION
UID CODE FOR ANTICRIME/ TOLL TAX COLLECTIONraj singh
 
MEN - Rail and Public Transport Computers
MEN - Rail and Public Transport ComputersMEN - Rail and Public Transport Computers
MEN - Rail and Public Transport ComputersMEN Micro
 

What's hot (19)

Obd Сar Doctor_Promo
Obd Сar Doctor_PromoObd Сar Doctor_Promo
Obd Сar Doctor_Promo
 
Obdii
ObdiiObdii
Obdii
 
U381 live data scanner auto code reader obd2 user manual
U381 live data scanner auto code reader obd2 user manualU381 live data scanner auto code reader obd2 user manual
U381 live data scanner auto code reader obd2 user manual
 
IRJET- Voice Controlled Robotic Vehicle
IRJET- Voice Controlled Robotic VehicleIRJET- Voice Controlled Robotic Vehicle
IRJET- Voice Controlled Robotic Vehicle
 
Voice Recognition Car
Voice Recognition CarVoice Recognition Car
Voice Recognition Car
 
Voice controlled spy robot for security system
Voice controlled spy robot for security systemVoice controlled spy robot for security system
Voice controlled spy robot for security system
 
Forklift impacts, IM3 RFID operator card access control
Forklift impacts, IM3 RFID operator card access controlForklift impacts, IM3 RFID operator card access control
Forklift impacts, IM3 RFID operator card access control
 
How to use V-Scan VAG+CAN OBDII V802 Professional Car Diagnostic Tool
How to use V-Scan VAG+CAN OBDII V802 Professional Car Diagnostic ToolHow to use V-Scan VAG+CAN OBDII V802 Professional Car Diagnostic Tool
How to use V-Scan VAG+CAN OBDII V802 Professional Car Diagnostic Tool
 
Automatic Toll Tax Collection System by Using RFID
Automatic Toll Tax Collection System by Using RFIDAutomatic Toll Tax Collection System by Using RFID
Automatic Toll Tax Collection System by Using RFID
 
BMW ICOM A+B+C
BMW ICOM  A+B+CBMW ICOM  A+B+C
BMW ICOM A+B+C
 
Advanced motion controls mc1xdzpc01
Advanced motion controls mc1xdzpc01Advanced motion controls mc1xdzpc01
Advanced motion controls mc1xdzpc01
 
Bluetooth Controlled Robot
Bluetooth Controlled RobotBluetooth Controlled Robot
Bluetooth Controlled Robot
 
LTE 4G FDD GPS tracker TK419 -Eelink
LTE 4G FDD GPS tracker TK419 -Eelink LTE 4G FDD GPS tracker TK419 -Eelink
LTE 4G FDD GPS tracker TK419 -Eelink
 
Vip000
Vip000Vip000
Vip000
 
VIRDI Virtual terminal
VIRDI Virtual terminalVIRDI Virtual terminal
VIRDI Virtual terminal
 
Eld presentation
Eld presentationEld presentation
Eld presentation
 
Advanced motion controls dvc250a060
Advanced motion controls dvc250a060Advanced motion controls dvc250a060
Advanced motion controls dvc250a060
 
UID CODE FOR ANTICRIME/ TOLL TAX COLLECTION
UID  CODE  FOR ANTICRIME/ TOLL TAX COLLECTIONUID  CODE  FOR ANTICRIME/ TOLL TAX COLLECTION
UID CODE FOR ANTICRIME/ TOLL TAX COLLECTION
 
MEN - Rail and Public Transport Computers
MEN - Rail and Public Transport ComputersMEN - Rail and Public Transport Computers
MEN - Rail and Public Transport Computers
 

Viewers also liked

Life Card Plus How To Generate New Leads And Revenue Streams In ANY Market En...
Life Card Plus How To Generate New Leads And Revenue Streams In ANY Market En...Life Card Plus How To Generate New Leads And Revenue Streams In ANY Market En...
Life Card Plus How To Generate New Leads And Revenue Streams In ANY Market En...lifecardplus
 
rhetoric, images and the language of seeing
rhetoric, images and the language of seeingrhetoric, images and the language of seeing
rhetoric, images and the language of seeingBrian McCarthy
 
embarazos en adolecentes
embarazos en adolecentesembarazos en adolecentes
embarazos en adolecentes9531267195
 
Valderrama eliana producto_3
Valderrama eliana producto_3Valderrama eliana producto_3
Valderrama eliana producto_3Elivalcas
 
More Than Words: Localizing Your International Content
More Than Words: Localizing Your International ContentMore Than Words: Localizing Your International Content
More Than Words: Localizing Your International ContentZeph Snapp
 
Artesania fina con Arundo Donax
Artesania fina con Arundo DonaxArtesania fina con Arundo Donax
Artesania fina con Arundo DonaxRene Alanoca
 
[WEBINARIO] Ciclo Amdia OM Latam "Performance Email Marketing"
[WEBINARIO] Ciclo Amdia OM Latam "Performance Email Marketing" [WEBINARIO] Ciclo Amdia OM Latam "Performance Email Marketing"
[WEBINARIO] Ciclo Amdia OM Latam "Performance Email Marketing" OM Latam
 
Galapagos en Google Maps
Galapagos en Google MapsGalapagos en Google Maps
Galapagos en Google MapsCarlos Mena
 
Barter and Cross Promotions at Gas Stations - Get Noticed!
Barter and Cross Promotions at Gas Stations - Get Noticed!Barter and Cross Promotions at Gas Stations - Get Noticed!
Barter and Cross Promotions at Gas Stations - Get Noticed!Selina Markham
 
Calculo de multa por datos falsos
Calculo de multa por datos falsosCalculo de multa por datos falsos
Calculo de multa por datos falsosVicente Orbegoso
 

Viewers also liked (15)

Delito político
Delito políticoDelito político
Delito político
 
Life Card Plus How To Generate New Leads And Revenue Streams In ANY Market En...
Life Card Plus How To Generate New Leads And Revenue Streams In ANY Market En...Life Card Plus How To Generate New Leads And Revenue Streams In ANY Market En...
Life Card Plus How To Generate New Leads And Revenue Streams In ANY Market En...
 
rhetoric, images and the language of seeing
rhetoric, images and the language of seeingrhetoric, images and the language of seeing
rhetoric, images and the language of seeing
 
embarazos en adolecentes
embarazos en adolecentesembarazos en adolecentes
embarazos en adolecentes
 
Valderrama eliana producto_3
Valderrama eliana producto_3Valderrama eliana producto_3
Valderrama eliana producto_3
 
More Than Words: Localizing Your International Content
More Than Words: Localizing Your International ContentMore Than Words: Localizing Your International Content
More Than Words: Localizing Your International Content
 
TV Connect London 2013 Preview Brochure
TV Connect London 2013 Preview BrochureTV Connect London 2013 Preview Brochure
TV Connect London 2013 Preview Brochure
 
Artesania fina con Arundo Donax
Artesania fina con Arundo DonaxArtesania fina con Arundo Donax
Artesania fina con Arundo Donax
 
[WEBINARIO] Ciclo Amdia OM Latam "Performance Email Marketing"
[WEBINARIO] Ciclo Amdia OM Latam "Performance Email Marketing" [WEBINARIO] Ciclo Amdia OM Latam "Performance Email Marketing"
[WEBINARIO] Ciclo Amdia OM Latam "Performance Email Marketing"
 
Yuuu
YuuuYuuu
Yuuu
 
Galapagos en Google Maps
Galapagos en Google MapsGalapagos en Google Maps
Galapagos en Google Maps
 
Barter and Cross Promotions at Gas Stations - Get Noticed!
Barter and Cross Promotions at Gas Stations - Get Noticed!Barter and Cross Promotions at Gas Stations - Get Noticed!
Barter and Cross Promotions at Gas Stations - Get Noticed!
 
Calculo de multa por datos falsos
Calculo de multa por datos falsosCalculo de multa por datos falsos
Calculo de multa por datos falsos
 
Molinari
MolinariMolinari
Molinari
 
Tipos de sstemas y aps
Tipos de sstemas y apsTipos de sstemas y aps
Tipos de sstemas y aps
 

Similar to Obd how to guide

Vgate iCar Pro Bluetooth 4.0 (BLE) User's Manual
Vgate iCar Pro Bluetooth 4.0 (BLE) User's ManualVgate iCar Pro Bluetooth 4.0 (BLE) User's Manual
Vgate iCar Pro Bluetooth 4.0 (BLE) User's ManualTim Miller
 
Foseal OBD2 WIFI Scanner User's Manual
Foseal OBD2 WIFI Scanner User's ManualFoseal OBD2 WIFI Scanner User's Manual
Foseal OBD2 WIFI Scanner User's ManualTim Miller
 
D900 manual v1.30
D900 manual v1.30D900 manual v1.30
D900 manual v1.30Bill Zhao
 
Wifi obd auto checker using step
Wifi obd auto checker using stepWifi obd auto checker using step
Wifi obd auto checker using stepBill Zhao
 
IRJET- An Android Solution for Car Monitoring and Alerting System
IRJET- An Android Solution for Car Monitoring and Alerting SystemIRJET- An Android Solution for Car Monitoring and Alerting System
IRJET- An Android Solution for Car Monitoring and Alerting SystemIRJET Journal
 
Presentation board
Presentation boardPresentation board
Presentation boardzieraw
 
OBD-II On Board Diagnostics - Electrónica del automóvil
OBD-II On Board Diagnostics - Electrónica del automóvilOBD-II On Board Diagnostics - Electrónica del automóvil
OBD-II On Board Diagnostics - Electrónica del automóvildegarden
 
Details of the obd2 tools -www.obd2cart.com
Details of the obd2 tools -www.obd2cart.comDetails of the obd2 tools -www.obd2cart.com
Details of the obd2 tools -www.obd2cart.comobd2carter
 
What Is OBD-II? How OBD-II work?
What Is OBD-II? How OBD-II work?What Is OBD-II? How OBD-II work?
What Is OBD-II? How OBD-II work?Auto pumkin
 
Automotive Diagnostic Systems - From OBD to Open Diagnostics Exchange format
Automotive Diagnostic Systems - From OBD to Open Diagnostics Exchange formatAutomotive Diagnostic Systems - From OBD to Open Diagnostics Exchange format
Automotive Diagnostic Systems - From OBD to Open Diagnostics Exchange formatTorben Haagh
 
Mb880 CAN BUS manual-How to Use MB880 CAN BUS Auto Scanner
Mb880 CAN BUS manual-How to Use MB880 CAN BUS Auto ScannerMb880 CAN BUS manual-How to Use MB880 CAN BUS Auto Scanner
Mb880 CAN BUS manual-How to Use MB880 CAN BUS Auto ScannerBill Zhao
 
Mb880 manual
Mb880 manualMb880 manual
Mb880 manualBill Zhao
 
D pduapi user-manual
D pduapi user-manualD pduapi user-manual
D pduapi user-manuallinhdoanbro
 
Obd2 ii scanner tool gs500
Obd2 ii scanner tool gs500Obd2 ii scanner tool gs500
Obd2 ii scanner tool gs500autoobdtools
 
Launch crecorder obd2
Launch crecorder obd2Launch crecorder obd2
Launch crecorder obd2autoobdtools
 

Similar to Obd how to guide (20)

Vgate iCar Pro Bluetooth 4.0 (BLE) User's Manual
Vgate iCar Pro Bluetooth 4.0 (BLE) User's ManualVgate iCar Pro Bluetooth 4.0 (BLE) User's Manual
Vgate iCar Pro Bluetooth 4.0 (BLE) User's Manual
 
Foseal OBD2 WIFI Scanner User's Manual
Foseal OBD2 WIFI Scanner User's ManualFoseal OBD2 WIFI Scanner User's Manual
Foseal OBD2 WIFI Scanner User's Manual
 
D900 manual v1.30
D900 manual v1.30D900 manual v1.30
D900 manual v1.30
 
D900 manual v1.30
D900 manual v1.30D900 manual v1.30
D900 manual v1.30
 
Wifi obd auto checker using step
Wifi obd auto checker using stepWifi obd auto checker using step
Wifi obd auto checker using step
 
IRJET- An Android Solution for Car Monitoring and Alerting System
IRJET- An Android Solution for Car Monitoring and Alerting SystemIRJET- An Android Solution for Car Monitoring and Alerting System
IRJET- An Android Solution for Car Monitoring and Alerting System
 
Presentation board
Presentation boardPresentation board
Presentation board
 
OBD-II On Board Diagnostics - Electrónica del automóvil
OBD-II On Board Diagnostics - Electrónica del automóvilOBD-II On Board Diagnostics - Electrónica del automóvil
OBD-II On Board Diagnostics - Electrónica del automóvil
 
Details of the obd2 tools -www.obd2cart.com
Details of the obd2 tools -www.obd2cart.comDetails of the obd2 tools -www.obd2cart.com
Details of the obd2 tools -www.obd2cart.com
 
CarCare presentation
CarCare presentationCarCare presentation
CarCare presentation
 
What Is OBD-II? How OBD-II work?
What Is OBD-II? How OBD-II work?What Is OBD-II? How OBD-II work?
What Is OBD-II? How OBD-II work?
 
Automotive Diagnostic Systems - From OBD to Open Diagnostics Exchange format
Automotive Diagnostic Systems - From OBD to Open Diagnostics Exchange formatAutomotive Diagnostic Systems - From OBD to Open Diagnostics Exchange format
Automotive Diagnostic Systems - From OBD to Open Diagnostics Exchange format
 
What is OBD and OBD II Software Stack?
What is OBD and OBD II Software Stack?What is OBD and OBD II Software Stack?
What is OBD and OBD II Software Stack?
 
Mb880 CAN BUS manual-How to Use MB880 CAN BUS Auto Scanner
Mb880 CAN BUS manual-How to Use MB880 CAN BUS Auto ScannerMb880 CAN BUS manual-How to Use MB880 CAN BUS Auto Scanner
Mb880 CAN BUS manual-How to Use MB880 CAN BUS Auto Scanner
 
Mb880 manual
Mb880 manualMb880 manual
Mb880 manual
 
OBD II Stack Solutions and Services
OBD II Stack Solutions and ServicesOBD II Stack Solutions and Services
OBD II Stack Solutions and Services
 
D pduapi user-manual
D pduapi user-manualD pduapi user-manual
D pduapi user-manual
 
Obd2 ii scanner tool gs500
Obd2 ii scanner tool gs500Obd2 ii scanner tool gs500
Obd2 ii scanner tool gs500
 
Launch crecorder obd2
Launch crecorder obd2Launch crecorder obd2
Launch crecorder obd2
 
OBD II Stack Solutions And Services
OBD II Stack Solutions And ServicesOBD II Stack Solutions And Services
OBD II Stack Solutions And Services
 

More from Ketan Raval

Amazon Alexa Auto Software Development Kit (SDK)
Amazon Alexa Auto Software Development Kit (SDK)Amazon Alexa Auto Software Development Kit (SDK)
Amazon Alexa Auto Software Development Kit (SDK)Ketan Raval
 
Proximity Marketing Solutions enhancing Businesses leveraging iBeacon SDK Int...
Proximity Marketing Solutions enhancing Businesses leveraging iBeacon SDK Int...Proximity Marketing Solutions enhancing Businesses leveraging iBeacon SDK Int...
Proximity Marketing Solutions enhancing Businesses leveraging iBeacon SDK Int...Ketan Raval
 
Zero ui future is here
Zero ui   future is hereZero ui   future is here
Zero ui future is hereKetan Raval
 
Android n and beyond
Android n and beyondAndroid n and beyond
Android n and beyondKetan Raval
 
IoT and Future of Connected world
IoT and Future of Connected worldIoT and Future of Connected world
IoT and Future of Connected worldKetan Raval
 
#Instagram API Get visibility you always wanted
#Instagram API   Get visibility you always wanted#Instagram API   Get visibility you always wanted
#Instagram API Get visibility you always wantedKetan Raval
 
Keynote - Devfest 2015 organized by GDG Ahmedabad
Keynote - Devfest 2015 organized by GDG AhmedabadKeynote - Devfest 2015 organized by GDG Ahmedabad
Keynote - Devfest 2015 organized by GDG AhmedabadKetan Raval
 
Android notifications
Android notificationsAndroid notifications
Android notificationsKetan Raval
 
How to make your Mobile App HIPPA Compliant
How to make your Mobile App HIPPA CompliantHow to make your Mobile App HIPPA Compliant
How to make your Mobile App HIPPA CompliantKetan Raval
 
3 d touch a true game changer
3 d touch a true game changer3 d touch a true game changer
3 d touch a true game changerKetan Raval
 
Vehicle to vehicle communication using gps
Vehicle to vehicle communication using gpsVehicle to vehicle communication using gps
Vehicle to vehicle communication using gpsKetan Raval
 
Garmin api integration
Garmin api integrationGarmin api integration
Garmin api integrationKetan Raval
 
Beacon The Google Way
Beacon The Google WayBeacon The Google Way
Beacon The Google WayKetan Raval
 
Edge detection iOS application
Edge detection iOS applicationEdge detection iOS application
Edge detection iOS applicationKetan Raval
 
Google calendar integration in iOS app
Google calendar integration in iOS appGoogle calendar integration in iOS app
Google calendar integration in iOS appKetan Raval
 
Big data cloudcomputing
Big data cloudcomputingBig data cloudcomputing
Big data cloudcomputingKetan Raval
 
All about Apple Watchkit
All about Apple WatchkitAll about Apple Watchkit
All about Apple WatchkitKetan Raval
 
How to upload application on iTune store
How to upload application on iTune storeHow to upload application on iTune store
How to upload application on iTune storeKetan Raval
 
Beta testing guidelines for developer
Beta testing guidelines for developerBeta testing guidelines for developer
Beta testing guidelines for developerKetan Raval
 

More from Ketan Raval (20)

Amazon Alexa Auto Software Development Kit (SDK)
Amazon Alexa Auto Software Development Kit (SDK)Amazon Alexa Auto Software Development Kit (SDK)
Amazon Alexa Auto Software Development Kit (SDK)
 
Proximity Marketing Solutions enhancing Businesses leveraging iBeacon SDK Int...
Proximity Marketing Solutions enhancing Businesses leveraging iBeacon SDK Int...Proximity Marketing Solutions enhancing Businesses leveraging iBeacon SDK Int...
Proximity Marketing Solutions enhancing Businesses leveraging iBeacon SDK Int...
 
Keynote 2016
Keynote 2016Keynote 2016
Keynote 2016
 
Zero ui future is here
Zero ui   future is hereZero ui   future is here
Zero ui future is here
 
Android n and beyond
Android n and beyondAndroid n and beyond
Android n and beyond
 
IoT and Future of Connected world
IoT and Future of Connected worldIoT and Future of Connected world
IoT and Future of Connected world
 
#Instagram API Get visibility you always wanted
#Instagram API   Get visibility you always wanted#Instagram API   Get visibility you always wanted
#Instagram API Get visibility you always wanted
 
Keynote - Devfest 2015 organized by GDG Ahmedabad
Keynote - Devfest 2015 organized by GDG AhmedabadKeynote - Devfest 2015 organized by GDG Ahmedabad
Keynote - Devfest 2015 organized by GDG Ahmedabad
 
Android notifications
Android notificationsAndroid notifications
Android notifications
 
How to make your Mobile App HIPPA Compliant
How to make your Mobile App HIPPA CompliantHow to make your Mobile App HIPPA Compliant
How to make your Mobile App HIPPA Compliant
 
3 d touch a true game changer
3 d touch a true game changer3 d touch a true game changer
3 d touch a true game changer
 
Vehicle to vehicle communication using gps
Vehicle to vehicle communication using gpsVehicle to vehicle communication using gps
Vehicle to vehicle communication using gps
 
Garmin api integration
Garmin api integrationGarmin api integration
Garmin api integration
 
Beacon The Google Way
Beacon The Google WayBeacon The Google Way
Beacon The Google Way
 
Edge detection iOS application
Edge detection iOS applicationEdge detection iOS application
Edge detection iOS application
 
Google calendar integration in iOS app
Google calendar integration in iOS appGoogle calendar integration in iOS app
Google calendar integration in iOS app
 
Big data cloudcomputing
Big data cloudcomputingBig data cloudcomputing
Big data cloudcomputing
 
All about Apple Watchkit
All about Apple WatchkitAll about Apple Watchkit
All about Apple Watchkit
 
How to upload application on iTune store
How to upload application on iTune storeHow to upload application on iTune store
How to upload application on iTune store
 
Beta testing guidelines for developer
Beta testing guidelines for developerBeta testing guidelines for developer
Beta testing guidelines for developer
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

Obd how to guide

  • 2. What is OBD? OBD is an acronym for “on-board diagnostics” and refers to vehicle's self-diagnostics and reporting capability. Originally it was intended to help mechanics run quick vehicle diagnostics. www.letsnurture.com
  • 3. OBD Chip First of all, you would need a OBDII adapter to be able to use the OBDII interface. There are many adapters from different manufacturers. Some of them have a COM interface, others have a USB interface, and some have a Bluetooth interface www.letsnurture.com
  • 4. www.letsnurture.com How it works Theoretically, any adapter can be used by the Android application, but in practice, your best choice is the Bluetooth interface. Also, adapters can be differentiated by supported OBDII protocols (i.e. by supported vehicles). So if you have a car within reach and good OBDII adapter we can start developing OBDII reader application. You can use OBD Simulator software also.
  • 5. www.letsnurture.com OBD Simulator The one that worked for me is OBDSim: it is an open source project available for different platforms. A hardware emulator can be used instead of a real car. I used ECUsim 2000 standard with ISO 15765 (CAN) protocol enabled. As for the OBDII adapter - I used ELM327 v.1.5 adapter.
  • 6. www.letsnurture.com Developing the application Let's start with describing the protocol that is used for communication between Android device and OBDII adapter/vehicle. It is text-based polling type protocol. This means that all you need is to send a command to receive a response. And knowing what commands to send is key. We will connect to the adapter through Bluetooth. It seems that Bluetooth Low Energy API is just the thing we should use.
  • 7. www.letsnurture.com The protocol supports AT commands like turning echo and control line feed. Another part of the protocol is OBDII control protocol itself. The general workflow of the application functionality should go like this: 1) connect to the OBDII adapter through Bluetooth; 2) initialize OBDII adapter with AT commands; 3) continuously get data from the vehicle through issuing the corresponding PID codes.
  • 8. www.letsnurture.com Connecting to the OBDII adapter is straightforward. But one thing you need to do before connecting is to select the Bluetooth device. Displaying an alert dialConnecting to the OBDII adapter is straightforward. But one thing you need to do before connecting is to select the Bluetooth device. Displaying an alert dialogue with single choice items is a good way to go:ogue with single choice items is a good way to go: Connection with OBD Adapter Connecting to the OBDII adapter is straightforward. But one thing you need to do before connecting is to select the Bluetooth device. Displaying an alert dialogue with single choice items is a good way to go. The UUID I mentioned represents a “serial” interface through Bluetooth. Of course, this code should be executed in a non-UI thread. Also, I would recommend checking this article for details and a solution of a bug in Android that can lead to connection failure in some cases. Don't forget to initialize the OBDII adapter first by issuing configuration commands
  • 9. www.letsnurture.com new EchoOffObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new LineFeedOffObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new TimeoutObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new SelectProtocolObdCommand(ObdProtocols.AUTO).run(socket.getInputStream(), socket.getOutputStream()); OBD Configuration Commands new EchoOffObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new LineFeedOffObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new TimeoutObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new SelectProtocolObdCommand(ObdProtocols.AUTO).run(s ocket.getInputStream(), socket.getOutputStream());
  • 10. www.letsnurture.com Measuring RPM & Speed EngineRPMObdCommand engineRpmCommand = new EngineRPMObdCommand(); SpeedObdCommand speedCommand = new SpeedObdCommand(); while (!Thread.currentThread().isInterrupted()) { engineRpmCommand.run(sock.getInputStream(), sock.getOutputStream()); speedCommand.run(sock.getInputStream(), sock.getOutputStream()); // TODO handle commands result Log.d(TAG, "RPM: " + engineRpmCommand.getFormattedResult()); Log.d(TAG, "Speed: " + speedCommand.getFormattedResult()); }
  • 11. www.letsnurture.com OBD II Trouble Codes OBD-II codes consist of a number of parts. Here is a sample OBD2 code: P0171 The first character identifies identifies the system related to the trouble code. P = Powertrain B = Body C = Chassis U = Undefined The second digit identifies whether the code is a generic code (same on all OBD-II equpped vehicles), or a manufacturer specific code. 0 = Generic (this is the digit zero -- not the letter "O") 1 = Enhanced (manufacturer specific)
  • 12. www.letsnurture.com new EchoOffObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new LineFeedOffObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new TimeoutObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new SelectProtocolObdCommand(ObdProtocols.AUTO).run(socket.getInputStream(), socket.getOutputStream()); The third digit denotes the type of sub-system that pertains to the code 1 = Emission Management (Fuel or Air) 2 = Injector Circuit (Fuel or Air) 3 = Ignition or Misfire 4 = Emission Control 5 = Vehicle Speed & Idle Control 6 = Computer & Output Circuit 7 = Transmission 8 = Transmission 9 = SAE Reserved 0 = SAE Reserved
  • 13. www.letsnurture.com new EchoOffObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new LineFeedOffObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new TimeoutObdCommand().run(socket.getInputStream(), socket.getOutputStream()); new SelectProtocolObdCommand(ObdProtocols.AUTO).run(socket.getInputStream(), socket.getOutputStream()); OBD Code Explained The most common OBD-II codes are P0xxx powertrain codes, along with P2xxx generic & P3xxx generic codes (please scroll down). For the other OBD-II codes, choose from Bxxxx - B Codes - OBD-II Body Codes or Cxxxx - C Codes - Chassis Codes, and Uxxxx - U - Network Codes. If your DTC (diagnostic trouble code) begins with P1xxx, that means it's a manufacturer specific code
  • 14. www.letsnurture.com Let's Analyse OBD Codes and Know Car's Health Now