• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
When the Rubber Hits the Road: Make Your Computer Talk to Your Car
 

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

on

  • 879 views

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

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

Statistics

Views

Total Views
879
Views on SlideShare
879
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • When the Rubber Hits the Road:Making Your Computer Talk to Your Car Gary “Chunky Ks” Briggs <chunky@icculus.org>
    • Slides OverviewMeOBDGPSLoggerELM327 and OBDIIOBDSimDemo
    • 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 --->
    • 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
    • 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
    • OBDGPSLogger in Google Earth
    • 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...
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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]
    • Thats all, Folks