SlideShare a Scribd company logo
When the Rubber Hits the Road:
Making Your Computer Talk to Your Car

        Gary “Chunky Ks” Briggs
         <chunky@icculus.org>
Slides Overview
Me
OBDGPSLogger
ELM327 and OBDII
OBDSim
Demo
Me
Grew up & Studied in England
Offered job in LA doing random Linux stuff
  Which ended up being print drivers for 6 years
Now I work at a research
 nonprofit in Santa Monica
  Mostly simulation and modeling


Really, this slide is so I have
 somewhere to put this pic --->
OBDGPSLogger Genesis
Late 2009, I bought a car with an OBDII port
That's mighty tempting
Idealist requirements:
  Linux, OSX. Windows maybe
  Log data
  No GUI. RasberryPi, SheevaPlug...
  Log GPS as well as OBDII
  Make pretty pictures
OBDGPSLogger Now
http://icculus.org/obdgpslogger
“It does exactly what it says on the tin. It logs
   OBDII and GPS data on Linux, OSX and
   others”
Mostly C, bits of C++
Open Source
Logs to SQLite
Hokey GUI
OBDGPSLogger in Google Earth
OBDGPSLogger, Still...
Reads only Mode $01 PIDs
Magically just works
  Except I haven't patched in support for current gpsd
Google Earth output
  There's a live version, too
Simple analysis stuff
Works with my bike...
ELM327 and OBDII
Originally invented at Elm Electronics,
 http://elmelectronics.com/obdic.html#ELM327
Most of the high-quality manufacturers implement
 their own chip firmware
The ELM327 datasheet taught me most of what I
 know
ELM327 and OBDII, AT commands
Standard text-based serial protocol
I use PuTTY on Windows, screen(1) on Linux
ELM327 commands might look suspiciously
 familiar to older members of the audience
  ATZ for reset
  ATE0/1 to turn echo on or off
Scantool.net have an additional “ST” command
 set
ELM327 and OBDII, Getting Data
In short:
> 01 0D
41 0D 1F
>
“Show me mode $01, PID $0D” [vehicle speed]
41 => 0x40 | 0x01
    0x40 = success, 0x01 = requested mode
0D => requested PID
OBDSim Genesis
Got bored of walking out to car with my laptop
Went looking for ELM327 & OBDII simulator
Idealist requirements:
  Command-line
  OBDGPSLogger log playback
  Actually honors ELM327 commands
  Multiple ECUs
  Multi protocol support
OBDSim Now
http://icculus.org/obdgpslogger/obdsim.html
Pluggable data generators
Works with all OBDII tools I've tried
In the same source as OBDGPSLogger
Has way more users than OBDGPSLogger
Native Windows [MSYS] using com0com
OBDSim Supported AT commands
ATAT{0,1,2} – Adaptive timing          Cvdddd – Calibrate battery voltage
ATD{0,1} – Display data bytes          RV – Request battery voltage
ATL{0,1} – Linefeed                    ATD – Reset defaults
ATH{0,1} – Headers                     ATDP – Describe protocol
ATS{0,1} – Space separators            ATDPN – Describe protocol by number
ATE{0,1} – Command echo                ATI – Request device version id
ATSP[A]{0-9,A-C} – Set protocol        ATZ – Reset device
ATST{n} – Set timeout                  ATWS – Warm start reset
@1, @2, @3 – Device identifier stuff   EXIT – Exit OBDSim
OBDSim Demo
Launch on Linux, use “-c” to attach screen(1):
   obdsim -c
ATZ, total reset
ATE{0,1}, ATS{0,1}, ATL{0,1}
   As a developer, you'll turn them all off
   For keyboard experimenting, turn them all on
ATI, @1, @2 for identifying device
Couple simple data requests [010D vss, 010C rpm]
ATH1, ATSP7 [CAN 29-bit 500], ATSP1 [J1850]
That's all, Folks

More Related Content

What's hot

At the end of the rainbow
At the end of the rainbowAt the end of the rainbow
At the end of the rainbow
Ignacio Burgueño
 
Interfacing with Arduino
Interfacing with ArduinoInterfacing with Arduino
Interfacing with Arduino
Omer Kilic
 
Prototipare col raspberry pi
Prototipare col raspberry piPrototipare col raspberry pi
Prototipare col raspberry pi
Gabriele Guizzardi
 
Physical Computing with the Arduino platform and Ruby
Physical Computing with the Arduino platform and RubyPhysical Computing with the Arduino platform and Ruby
Physical Computing with the Arduino platform and Ruby
mdweezer
 
Start with arduino
Start with arduinoStart with arduino
Start with arduino
Open.Embedded
 
BURO Arduino Workshop
BURO Arduino WorkshopBURO Arduino Workshop
BURO Arduino Workshop
Omer Kilic
 
Integrare Arduino con Unity
Integrare Arduino con UnityIntegrare Arduino con Unity
Integrare Arduino con Unity
Codemotion
 
Chrome Web MIDI 2015
Chrome Web MIDI 2015Chrome Web MIDI 2015
Chrome Web MIDI 2015
Takashi Toyoshima
 
Artillery Duel Network
Artillery Duel NetworkArtillery Duel Network
Artillery Duel Network
Leif Bloomquist
 
Web MIDI API update
Web MIDI API updateWeb MIDI API update
Web MIDI API update
Takashi Toyoshima
 
Porting To Symbian
Porting To SymbianPorting To Symbian
Porting To Symbian
Mark Wilcox
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
Luki B. Subekti
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
Andy Gelme
 
Sensors, actuators and the Raspberry PI using Python
Sensors, actuators and the Raspberry PI using PythonSensors, actuators and the Raspberry PI using Python
Sensors, actuators and the Raspberry PI using Python
Derek Kiong
 
Aurdino presentation
Aurdino presentationAurdino presentation
Aurdino presentation
C.Vamsi Krishna
 

What's hot (15)

At the end of the rainbow
At the end of the rainbowAt the end of the rainbow
At the end of the rainbow
 
Interfacing with Arduino
Interfacing with ArduinoInterfacing with Arduino
Interfacing with Arduino
 
Prototipare col raspberry pi
Prototipare col raspberry piPrototipare col raspberry pi
Prototipare col raspberry pi
 
Physical Computing with the Arduino platform and Ruby
Physical Computing with the Arduino platform and RubyPhysical Computing with the Arduino platform and Ruby
Physical Computing with the Arduino platform and Ruby
 
Start with arduino
Start with arduinoStart with arduino
Start with arduino
 
BURO Arduino Workshop
BURO Arduino WorkshopBURO Arduino Workshop
BURO Arduino Workshop
 
Integrare Arduino con Unity
Integrare Arduino con UnityIntegrare Arduino con Unity
Integrare Arduino con Unity
 
Chrome Web MIDI 2015
Chrome Web MIDI 2015Chrome Web MIDI 2015
Chrome Web MIDI 2015
 
Artillery Duel Network
Artillery Duel NetworkArtillery Duel Network
Artillery Duel Network
 
Web MIDI API update
Web MIDI API updateWeb MIDI API update
Web MIDI API update
 
Porting To Symbian
Porting To SymbianPorting To Symbian
Porting To Symbian
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Sensors, actuators and the Raspberry PI using Python
Sensors, actuators and the Raspberry PI using PythonSensors, actuators and the Raspberry PI using Python
Sensors, actuators and the Raspberry PI using Python
 
Aurdino presentation
Aurdino presentationAurdino presentation
Aurdino presentation
 

Similar to When the Rubber Hits the Road: Make Your Computer Talk to Your Car

The PDP-10 - and me
The PDP-10 - and meThe PDP-10 - and me
The PDP-10 - and me
Bjørn Hell Larsen
 
Starting Raspberry Pi
Starting Raspberry PiStarting Raspberry Pi
Starting Raspberry Pi
LloydMoore
 
MOPCON-2023_Wig.pdf
MOPCON-2023_Wig.pdfMOPCON-2023_Wig.pdf
MOPCON-2023_Wig.pdf
Cheng Wig
 
Let's begin io t with $10
Let's begin io t with $10Let's begin io t with $10
Let's begin io t with $10
Makoto Takahashi
 
pcDuino Presentation at SparkFun
pcDuino Presentation at SparkFunpcDuino Presentation at SparkFun
pcDuino Presentation at SparkFun
Jingfeng Liu
 
Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!
Codemotion
 
Python-in-Embedded-systems.pptx
Python-in-Embedded-systems.pptxPython-in-Embedded-systems.pptx
Python-in-Embedded-systems.pptx
TuynLCh
 
Arduino-based-diag OBD-II_programação.pdf
Arduino-based-diag OBD-II_programação.pdfArduino-based-diag OBD-II_programação.pdf
Arduino-based-diag OBD-II_programação.pdf
Jcradio Vw
 
Arduino-based-diag OBD-II_programação.pdf
Arduino-based-diag OBD-II_programação.pdfArduino-based-diag OBD-II_programação.pdf
Arduino-based-diag OBD-II_programação.pdf
Jcradio Vw
 
How to Hack Edison
How to Hack EdisonHow to Hack Edison
How to Hack Edison
Shotaro Uchida
 
Elm327 Usb Is The Latest Pc
Elm327 Usb Is The Latest PcElm327 Usb Is The Latest Pc
Elm327 Usb Is The Latest Pc
Juan Pablo Velazquez
 
Tft touch screen manufacturers
Tft touch screen manufacturersTft touch screen manufacturers
Tft touch screen manufacturers
KeatonParker2
 
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris
imec.archive
 
Indroduction arduino
Indroduction arduinoIndroduction arduino
Indroduction arduino
ThingerbitsElectroni
 
Indroduction the arduino
Indroduction the arduinoIndroduction the arduino
Indroduction the arduino
Hasarinda Manjula
 
7 seg
7 seg7 seg
7 seg
MIkeyadhd
 
Arduino experimenters guide hq
Arduino experimenters guide hqArduino experimenters guide hq
Arduino experimenters guide hq
Andreis Santos
 
Arduino experimenters guide ARDX
Arduino experimenters guide ARDXArduino experimenters guide ARDX
Arduino experimenters guide ARDX
Johnny Parrales
 
Putting an Apple IIgs BBS on the internet
Putting an Apple IIgs BBS on the internetPutting an Apple IIgs BBS on the internet
Putting an Apple IIgs BBS on the internet
Andrew Roughan
 
Arduino by yogesh t s'
Arduino by yogesh t s'Arduino by yogesh t s'
Arduino by yogesh t s'
tsyogesh46
 

Similar to When the Rubber Hits the Road: Make Your Computer Talk to Your Car (20)

The PDP-10 - and me
The PDP-10 - and meThe PDP-10 - and me
The PDP-10 - and me
 
Starting Raspberry Pi
Starting Raspberry PiStarting Raspberry Pi
Starting Raspberry Pi
 
MOPCON-2023_Wig.pdf
MOPCON-2023_Wig.pdfMOPCON-2023_Wig.pdf
MOPCON-2023_Wig.pdf
 
Let's begin io t with $10
Let's begin io t with $10Let's begin io t with $10
Let's begin io t with $10
 
pcDuino Presentation at SparkFun
pcDuino Presentation at SparkFunpcDuino Presentation at SparkFun
pcDuino Presentation at SparkFun
 
Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!
 
Python-in-Embedded-systems.pptx
Python-in-Embedded-systems.pptxPython-in-Embedded-systems.pptx
Python-in-Embedded-systems.pptx
 
Arduino-based-diag OBD-II_programação.pdf
Arduino-based-diag OBD-II_programação.pdfArduino-based-diag OBD-II_programação.pdf
Arduino-based-diag OBD-II_programação.pdf
 
Arduino-based-diag OBD-II_programação.pdf
Arduino-based-diag OBD-II_programação.pdfArduino-based-diag OBD-II_programação.pdf
Arduino-based-diag OBD-II_programação.pdf
 
How to Hack Edison
How to Hack EdisonHow to Hack Edison
How to Hack Edison
 
Elm327 Usb Is The Latest Pc
Elm327 Usb Is The Latest PcElm327 Usb Is The Latest Pc
Elm327 Usb Is The Latest Pc
 
Tft touch screen manufacturers
Tft touch screen manufacturersTft touch screen manufacturers
Tft touch screen manufacturers
 
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris
 
Indroduction arduino
Indroduction arduinoIndroduction arduino
Indroduction arduino
 
Indroduction the arduino
Indroduction the arduinoIndroduction the arduino
Indroduction the arduino
 
7 seg
7 seg7 seg
7 seg
 
Arduino experimenters guide hq
Arduino experimenters guide hqArduino experimenters guide hq
Arduino experimenters guide hq
 
Arduino experimenters guide ARDX
Arduino experimenters guide ARDXArduino experimenters guide ARDX
Arduino experimenters guide ARDX
 
Putting an Apple IIgs BBS on the internet
Putting an Apple IIgs BBS on the internetPutting an Apple IIgs BBS on the internet
Putting an Apple IIgs BBS on the internet
 
Arduino by yogesh t s'
Arduino by yogesh t s'Arduino by yogesh t s'
Arduino by yogesh t s'
 

Recently uploaded

原版制作(Exeter毕业证书)埃克塞特大学毕业证完成信一模一样
原版制作(Exeter毕业证书)埃克塞特大学毕业证完成信一模一样原版制作(Exeter毕业证书)埃克塞特大学毕业证完成信一模一样
原版制作(Exeter毕业证书)埃克塞特大学毕业证完成信一模一样
78tq3hi2
 
Expanding Access to Affordable At-Home EV Charging by Vanessa Warheit
Expanding Access to Affordable At-Home EV Charging by Vanessa WarheitExpanding Access to Affordable At-Home EV Charging by Vanessa Warheit
Expanding Access to Affordable At-Home EV Charging by Vanessa Warheit
Forth
 
一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理
一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理
一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理
pycfbo
 
一比一原版科廷大学毕业证(Curtin毕业证书)学历如何办理
一比一原版科廷大学毕业证(Curtin毕业证书)学历如何办理一比一原版科廷大学毕业证(Curtin毕业证书)学历如何办理
一比一原版科廷大学毕业证(Curtin毕业证书)学历如何办理
pycfbo
 
原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样
原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样
原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样
g1inbfro
 
原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样
原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样
原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样
utuvvas
 
按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理
按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理
按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理
ggany
 
Dahua Security Camera System Guide esetia
Dahua Security Camera System Guide esetiaDahua Security Camera System Guide esetia
Dahua Security Camera System Guide esetia
Esentia Systems
 
Infineon_AURIX_HSM Revealed_Training_Slides.pdf
Infineon_AURIX_HSM Revealed_Training_Slides.pdfInfineon_AURIX_HSM Revealed_Training_Slides.pdf
Infineon_AURIX_HSM Revealed_Training_Slides.pdf
maicuongdt21
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
u2cz10zq
 
car rentals in nassau bahamas | atv rental nassau bahamas
car rentals in nassau bahamas | atv rental nassau bahamascar rentals in nassau bahamas | atv rental nassau bahamas
car rentals in nassau bahamas | atv rental nassau bahamas
justinwilson0857
 
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
ahmedendrise81
 
一比一原版南昆士兰大学毕业证(USQ毕业证书)学历如何办理
一比一原版南昆士兰大学毕业证(USQ毕业证书)学历如何办理一比一原版南昆士兰大学毕业证(USQ毕业证书)学历如何办理
一比一原版南昆士兰大学毕业证(USQ毕业证书)学历如何办理
pycfbo
 
Catalytic Converter theft prevention - NYC.pptx
Catalytic Converter theft prevention - NYC.pptxCatalytic Converter theft prevention - NYC.pptx
Catalytic Converter theft prevention - NYC.pptx
Blue Star Brothers
 
欧洲杯竞猜-欧洲杯竞猜下注平台-欧洲杯竞猜投注平台|【​网址​🎉ac44.net🎉​】
欧洲杯竞猜-欧洲杯竞猜下注平台-欧洲杯竞猜投注平台|【​网址​🎉ac44.net🎉​】欧洲杯竞猜-欧洲杯竞猜下注平台-欧洲杯竞猜投注平台|【​网址​🎉ac44.net🎉​】
欧洲杯竞猜-欧洲杯竞猜下注平台-欧洲杯竞猜投注平台|【​网址​🎉ac44.net🎉​】
arcosarturo900
 
一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理
一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理
一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理
cenaws
 
53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...
53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...
53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...
MarynaYurchenko2
 
Kenwood DDX71/491/471/371/3108/30718/271/2071 User Manual
Kenwood DDX71/491/471/371/3108/30718/271/2071 User ManualKenwood DDX71/491/471/371/3108/30718/271/2071 User Manual
Kenwood DDX71/491/471/371/3108/30718/271/2071 User Manual
derekmelino
 
Charging Fueling & Infrastructure (CFI) Program Resources by Cat Plein
Charging Fueling & Infrastructure (CFI) Program Resources by Cat PleinCharging Fueling & Infrastructure (CFI) Program Resources by Cat Plein
Charging Fueling & Infrastructure (CFI) Program Resources by Cat Plein
Forth
 
欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】
欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】
欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】
asjpkomrxo
 

Recently uploaded (20)

原版制作(Exeter毕业证书)埃克塞特大学毕业证完成信一模一样
原版制作(Exeter毕业证书)埃克塞特大学毕业证完成信一模一样原版制作(Exeter毕业证书)埃克塞特大学毕业证完成信一模一样
原版制作(Exeter毕业证书)埃克塞特大学毕业证完成信一模一样
 
Expanding Access to Affordable At-Home EV Charging by Vanessa Warheit
Expanding Access to Affordable At-Home EV Charging by Vanessa WarheitExpanding Access to Affordable At-Home EV Charging by Vanessa Warheit
Expanding Access to Affordable At-Home EV Charging by Vanessa Warheit
 
一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理
一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理
一比一原版皇家墨尔本理工大学毕业证(RMIT毕业证书)学历如何办理
 
一比一原版科廷大学毕业证(Curtin毕业证书)学历如何办理
一比一原版科廷大学毕业证(Curtin毕业证书)学历如何办理一比一原版科廷大学毕业证(Curtin毕业证书)学历如何办理
一比一原版科廷大学毕业证(Curtin毕业证书)学历如何办理
 
原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样
原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样
原版制作(澳洲WSU毕业证书)西悉尼大学毕业证文凭证书一模一样
 
原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样
原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样
原版定做(mmu学位证书)英国曼彻斯特城市大学毕业证本科文凭原版一模一样
 
按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理
按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理
按照学校原版(UniSA文凭证书)南澳大学毕业证快速办理
 
Dahua Security Camera System Guide esetia
Dahua Security Camera System Guide esetiaDahua Security Camera System Guide esetia
Dahua Security Camera System Guide esetia
 
Infineon_AURIX_HSM Revealed_Training_Slides.pdf
Infineon_AURIX_HSM Revealed_Training_Slides.pdfInfineon_AURIX_HSM Revealed_Training_Slides.pdf
Infineon_AURIX_HSM Revealed_Training_Slides.pdf
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
 
car rentals in nassau bahamas | atv rental nassau bahamas
car rentals in nassau bahamas | atv rental nassau bahamascar rentals in nassau bahamas | atv rental nassau bahamas
car rentals in nassau bahamas | atv rental nassau bahamas
 
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
 
一比一原版南昆士兰大学毕业证(USQ毕业证书)学历如何办理
一比一原版南昆士兰大学毕业证(USQ毕业证书)学历如何办理一比一原版南昆士兰大学毕业证(USQ毕业证书)学历如何办理
一比一原版南昆士兰大学毕业证(USQ毕业证书)学历如何办理
 
Catalytic Converter theft prevention - NYC.pptx
Catalytic Converter theft prevention - NYC.pptxCatalytic Converter theft prevention - NYC.pptx
Catalytic Converter theft prevention - NYC.pptx
 
欧洲杯竞猜-欧洲杯竞猜下注平台-欧洲杯竞猜投注平台|【​网址​🎉ac44.net🎉​】
欧洲杯竞猜-欧洲杯竞猜下注平台-欧洲杯竞猜投注平台|【​网址​🎉ac44.net🎉​】欧洲杯竞猜-欧洲杯竞猜下注平台-欧洲杯竞猜投注平台|【​网址​🎉ac44.net🎉​】
欧洲杯竞猜-欧洲杯竞猜下注平台-欧洲杯竞猜投注平台|【​网址​🎉ac44.net🎉​】
 
一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理
一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理
一比一原版悉尼大学毕业证(USYD毕业证书)学历如何办理
 
53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...
53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...
53286592-Global-Entrepreneurship-and-the-Successful-Growth-Strategies-of-Earl...
 
Kenwood DDX71/491/471/371/3108/30718/271/2071 User Manual
Kenwood DDX71/491/471/371/3108/30718/271/2071 User ManualKenwood DDX71/491/471/371/3108/30718/271/2071 User Manual
Kenwood DDX71/491/471/371/3108/30718/271/2071 User Manual
 
Charging Fueling & Infrastructure (CFI) Program Resources by Cat Plein
Charging Fueling & Infrastructure (CFI) Program Resources by Cat PleinCharging Fueling & Infrastructure (CFI) Program Resources by Cat Plein
Charging Fueling & Infrastructure (CFI) Program Resources by Cat Plein
 
欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】
欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】
欧洲杯下注-欧洲杯下注下注app-欧洲杯下注盘口app|【​网址​🎉ac22.net🎉​】
 

When the Rubber Hits the Road: Make Your Computer Talk to Your Car

  • 1. When the Rubber Hits the Road: Making Your Computer Talk to Your Car Gary “Chunky Ks” Briggs <chunky@icculus.org>
  • 3. Me Grew up & Studied in England Offered job in LA doing random Linux stuff Which ended up being print drivers for 6 years Now I work at a research nonprofit in Santa Monica Mostly simulation and modeling Really, this slide is so I have somewhere to put this pic --->
  • 4. OBDGPSLogger Genesis Late 2009, I bought a car with an OBDII port That's mighty tempting Idealist requirements: Linux, OSX. Windows maybe Log data No GUI. RasberryPi, SheevaPlug... Log GPS as well as OBDII Make pretty pictures
  • 5. OBDGPSLogger Now http://icculus.org/obdgpslogger “It does exactly what it says on the tin. It logs OBDII and GPS data on Linux, OSX and others” Mostly C, bits of C++ Open Source Logs to SQLite Hokey GUI
  • 7. OBDGPSLogger, Still... Reads only Mode $01 PIDs Magically just works Except I haven't patched in support for current gpsd Google Earth output There's a live version, too Simple analysis stuff Works with my bike...
  • 8. ELM327 and OBDII Originally invented at Elm Electronics, http://elmelectronics.com/obdic.html#ELM327 Most of the high-quality manufacturers implement their own chip firmware The ELM327 datasheet taught me most of what I know
  • 9. ELM327 and OBDII, AT commands Standard text-based serial protocol I use PuTTY on Windows, screen(1) on Linux ELM327 commands might look suspiciously familiar to older members of the audience ATZ for reset ATE0/1 to turn echo on or off Scantool.net have an additional “ST” command set
  • 10. ELM327 and OBDII, Getting Data In short: > 01 0D 41 0D 1F > “Show me mode $01, PID $0D” [vehicle speed] 41 => 0x40 | 0x01 0x40 = success, 0x01 = requested mode 0D => requested PID
  • 11. OBDSim Genesis Got bored of walking out to car with my laptop Went looking for ELM327 & OBDII simulator Idealist requirements: Command-line OBDGPSLogger log playback Actually honors ELM327 commands Multiple ECUs Multi protocol support
  • 12. OBDSim Now http://icculus.org/obdgpslogger/obdsim.html Pluggable data generators Works with all OBDII tools I've tried In the same source as OBDGPSLogger Has way more users than OBDGPSLogger Native Windows [MSYS] using com0com
  • 13. OBDSim Supported AT commands ATAT{0,1,2} – Adaptive timing Cvdddd – Calibrate battery voltage ATD{0,1} – Display data bytes RV – Request battery voltage ATL{0,1} – Linefeed ATD – Reset defaults ATH{0,1} – Headers ATDP – Describe protocol ATS{0,1} – Space separators ATDPN – Describe protocol by number ATE{0,1} – Command echo ATI – Request device version id ATSP[A]{0-9,A-C} – Set protocol ATZ – Reset device ATST{n} – Set timeout ATWS – Warm start reset @1, @2, @3 – Device identifier stuff EXIT – Exit OBDSim
  • 14. OBDSim Demo Launch on Linux, use “-c” to attach screen(1): obdsim -c ATZ, total reset ATE{0,1}, ATS{0,1}, ATL{0,1} As a developer, you'll turn them all off For keyboard experimenting, turn them all on ATI, @1, @2 for identifying device Couple simple data requests [010D vss, 010C rpm] ATH1, ATSP7 [CAN 29-bit 500], ATSP1 [J1850]