Monitor your car from the cloud! DIY Telematics and the Internet of Things


Published on

My Dreamforce session on DIY Telematics for OBD-II with a Raspberry Pi.

What if your car was connected to the Cloud, and had been logging sensor data for the past 30 days? What if it could automatically file a Case with your local dealership with the Diagnostic Trouble Codes from your car and all that log data attached? What if the Service department could give you a call to schedule an appointment to get it fixed, so you don’t even have to remember to call them? Since they have all the automotive log information they need to diagnose the problem before you even show up, they can even tell you what’s wrong over the phone and quote you an estimate for the repair.
Here’s a Raspberry Pi DIY project that does just that.

More info at:

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Show of hands – this statement is true?
  • Of course not… this is 2013, nobody does
  • Story time – heavy machinery, serial connectors, mobile devices, and a check engine light
  • If it isn’t flashing, you’re probably just poluting the environment – loose gas cap, failing sensor, leaking something, etc.
    Flashing means you have a severe problem
  • Controller Area Network
    Engine Control Module
    Body Control Module
  • VIN available, realtime sensor info, etc.
  • The Good:
    -Low Power
    On board UART
    If you can get past having to write C that isn’t quite ANSI compliant, very simple to use
    The Bad
    -Not enough processing power to handle SSL/TLS, so need an intermediary btw Arduino and SFDC
    -Can’t use both SSD and WiFi at the same time
  • UART – serial communications
    TTL level UART is the simplest form of UART
    1 = 5V, 0 = 0V
  • Monitor your car from the cloud! DIY Telematics and the Internet of Things

    1. 1. Monitor Your Car from the Cloud DIY Telematics and the Internet of Things Tom Gersic, Director, Mobile Services Delivery @tomgersic
    2. 2. Safe harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available., inc. assumes no obligation and does not intend to update these forward-looking statements.
    3. 3. Tom Gersic Director, Mobile Services Delivery @tomgersic
    4. 4. “You just can’t work on cars yourself these days because they’re all computerized.”
    5. 5. “I know more about pneumatic engine control systems than I do about computers”
    6. 6. The MIL (Malfunction Indicator Lamp) • a.k.a “Check Engine Light” • 2 Stages in cars since 1996 Model Year • Steady • Flashing
    7. 7. P0171 and P0174 -- “System too Lean” Bad O2 sensor? Clogged fuel filter? Vacuum leak? Watery gas? Plugged injectors? Leak in the intake hose?
    8. 8. Sensors Galore
    9. 9. CAN Bus
    10. 10. OBD-II • Required by law since 1996 • Within 2 feet of steering wheel • 16 Pin connector
    11. 11. Real Time Data
    12. 12. So I got to thinking…
    13. 13. ELM327
    14. 14. Arduino
    15. 15. OBD-II TTL Adapter Red: Vcc (+5V) Green: Ground Yellow: Rx Blue: Tx
    16. 16. TTL UART UART: Universal Asynchronous Receiver and Transmitter TTL: Transistor to Transistor Logic
    17. 17. ArduinoOBD
    18. 18. Beaglebone Black
    19. 19. Raspberry Pi
    20. 20. OBD-II Modes • $01. Show current data • $02. Show freeze frame data • $03. Show stored Diagnostic Trouble Codes • $04. Clear Diagnostic Trouble Codes and stored values • $05. Test results, oxygen sensor monitoring (non CAN only) • $06. Test results, other component/system monitoring (Test results, oxygen sensor monitoring for CAN only) • $07. Show pending Diagnostic Trouble Codes (detected during current or last driving cycle) • $08. Control operation of on-board component/system • $09. Request vehicle information • $0A. Permanent DTC's (Cleared DTC's)
    21. 21. Anybody remember the Hayes Modem Command Set?
    22. 22. Commands tgersic-ltm:dev tgersic$ screen /dev/tty.OBDII-LCASPP 115200 >ATI (Print the ID) ELM327 v1.5 >ATZ (restart the device) ok >ATL1 (turn linefeeds on) ok >ATH1 (turn headers on) ok >ATS1 (turn spaces on) ok >ATSP0 (set protocol to Auto) ok >03 (get stored trouble codes) 87 F1 12 43 04 44 00 00 00 00 15 43 is a response for a mode 03 query
    23. 23. Commands tgersic-ltm:dev tgersic$ screen /dev/tty.OBDII-LCASPP 115200 >ATI (Print the ID) ELM327 v1.5 >010C (“01” is mode 01 for realtime data. “0C” is for RPM. 84 F1 12 41 0C 0A EC CA 0x0AEC is 2796 quarter RPMs, so 699 RPM (idling) 41 is a response for a mode 03 query 0C is the command it’s responding to
    24. 24. Screen Commands
    25. 25. OBD-II Logging
    26. 26. Heroku Upload Script
    27. 27. -- obd.js
    28. 28. -- obdsync.js
    29. 29. http://[SOMEDOMAINHERE.COM]/log/{ obddata: { mode: '41', pid: '04', name: 'load_pct', value: 10.9375 },vin: 'JF1BJ673XPH968228',localdatetime: Sun Nov 10 2013 17:23:10 GMT+0000 (UTC),_id: 160 }
    30. 30. Heroku Mongo DB
    31. 31. Cases!
    32. 32. Tom Gersic Director, Mobile Services Delivery @tomgersic
    33. 33. @tomgersic