When the Rubber Hits the Road:Making Your Computer Talk to Your Car        Gary “Chunky Ks” Briggs         <chunky@icculus...
Slides OverviewMeOBDGPSLoggerELM327 and OBDIIOBDSimDemo
MeGrew up & Studied in EnglandOffered job in LA doing random Linux stuff  Which ended up being print drivers for 6 yearsNo...
OBDGPSLogger GenesisLate 2009, I bought a car with an OBDII portThats mighty temptingIdealist requirements:  Linux, OSX. W...
OBDGPSLogger Nowhttp://icculus.org/obdgpslogger“It does exactly what it says on the tin. It logs   OBDII and GPS data on L...
OBDGPSLogger in Google Earth
OBDGPSLogger, Still...Reads only Mode $01 PIDsMagically just works  Except I havent patched in support for current gpsdGoo...
ELM327 and OBDIIOriginally invented at Elm Electronics, http://elmelectronics.com/obdic.html#ELM327Most of the high-qualit...
ELM327 and OBDII, AT commandsStandard text-based serial protocolI use PuTTY on Windows, screen(1) on LinuxELM327 commands ...
ELM327 and OBDII, Getting DataIn short:> 01 0D41 0D 1F>“Show me mode $01, PID $0D” [vehicle speed]41 => 0x40 | 0x01    0x4...
OBDSim GenesisGot bored of walking out to car with my laptopWent looking for ELM327 & OBDII simulatorIdealist requirements...
OBDSim Nowhttp://icculus.org/obdgpslogger/obdsim.htmlPluggable data generatorsWorks with all OBDII tools Ive triedIn the s...
OBDSim Supported AT commandsATAT{0,1,2} – Adaptive timing          Cvdddd – Calibrate battery voltageATD{0,1} – Display da...
OBDSim DemoLaunch on Linux, use “-c” to attach screen(1):   obdsim -cATZ, total resetATE{0,1}, ATS{0,1}, ATL{0,1}   As a d...
Thats all, Folks
Upcoming SlideShare
Loading in …5
×

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

1,129 views

Published on

Gary Briggs discusses the what's and hows of his Open Source Automotive hit, OBDLogger

Published in: Automotive, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,129
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. When the Rubber Hits the Road:Making Your Computer Talk to Your Car Gary “Chunky Ks” Briggs <chunky@icculus.org>
  2. 2. Slides OverviewMeOBDGPSLoggerELM327 and OBDIIOBDSimDemo
  3. 3. MeGrew up & Studied in EnglandOffered job in LA doing random Linux stuff Which ended up being print drivers for 6 yearsNow I work at a research nonprofit in Santa Monica Mostly simulation and modelingReally, this slide is so I have somewhere to put this pic --->
  4. 4. OBDGPSLogger GenesisLate 2009, I bought a car with an OBDII portThats mighty temptingIdealist requirements: Linux, OSX. Windows maybe Log data No GUI. RasberryPi, SheevaPlug... Log GPS as well as OBDII Make pretty pictures
  5. 5. OBDGPSLogger Nowhttp://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 SourceLogs to SQLiteHokey GUI
  6. 6. OBDGPSLogger in Google Earth
  7. 7. OBDGPSLogger, Still...Reads only Mode $01 PIDsMagically just works Except I havent patched in support for current gpsdGoogle Earth output Theres a live version, tooSimple analysis stuffWorks with my bike...
  8. 8. ELM327 and OBDIIOriginally invented at Elm Electronics, http://elmelectronics.com/obdic.html#ELM327Most of the high-quality manufacturers implement their own chip firmwareThe ELM327 datasheet taught me most of what I know
  9. 9. ELM327 and OBDII, AT commandsStandard text-based serial protocolI use PuTTY on Windows, screen(1) on LinuxELM327 commands might look suspiciously familiar to older members of the audience ATZ for reset ATE0/1 to turn echo on or offScantool.net have an additional “ST” command set
  10. 10. ELM327 and OBDII, Getting DataIn short:> 01 0D41 0D 1F>“Show me mode $01, PID $0D” [vehicle speed]41 => 0x40 | 0x01 0x40 = success, 0x01 = requested mode0D => requested PID
  11. 11. OBDSim GenesisGot bored of walking out to car with my laptopWent looking for ELM327 & OBDII simulatorIdealist requirements: Command-line OBDGPSLogger log playback Actually honors ELM327 commands Multiple ECUs Multi protocol support
  12. 12. OBDSim Nowhttp://icculus.org/obdgpslogger/obdsim.htmlPluggable data generatorsWorks with all OBDII tools Ive triedIn the same source as OBDGPSLoggerHas way more users than OBDGPSLoggerNative Windows [MSYS] using com0com
  13. 13. OBDSim Supported AT commandsATAT{0,1,2} – Adaptive timing Cvdddd – Calibrate battery voltageATD{0,1} – Display data bytes RV – Request battery voltageATL{0,1} – Linefeed ATD – Reset defaultsATH{0,1} – Headers ATDP – Describe protocolATS{0,1} – Space separators ATDPN – Describe protocol by numberATE{0,1} – Command echo ATI – Request device version idATSP[A]{0-9,A-C} – Set protocol ATZ – Reset deviceATST{n} – Set timeout ATWS – Warm start reset@1, @2, @3 – Device identifier stuff EXIT – Exit OBDSim
  14. 14. OBDSim DemoLaunch on Linux, use “-c” to attach screen(1): obdsim -cATZ, total resetATE{0,1}, ATS{0,1}, ATL{0,1} As a developer, youll turn them all off For keyboard experimenting, turn them all onATI, @1, @2 for identifying deviceCouple simple data requests [010D vss, 010C rpm]ATH1, ATSP7 [CAN 29-bit 500], ATSP1 [J1850]
  15. 15. Thats all, Folks

×