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

34
Monitor Your Car from the Cloud DIY Telematics and the Internet of Things Tom Gersic, Salesforce.com Director, Mobile Services Delivery @tomgersic

description

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: http://gersic.com/ive-connected-my-car-to-salesforce-com/

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

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

Monitor Your Car from the CloudMonitor Your Car from the CloudDIY Telematics and the Internet of Things

Tom Gersic, Salesforce.com

Director, Mobile Services Delivery

@tomgersic

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

Safe harborSafe 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 salesforce.com, 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 non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, 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. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.

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

Tom GersicTom Gersic

Director, Mobile Services Delivery

@tomgersic

Director, Mobile Services Delivery

@tomgersic

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

“You just can’t work on cars yourself these days because they’re all computerized.”

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

“I know more about pneumatic engine control systems than I do about computers”

Page 6: Monitor your car from the cloud! DIY Telematics and the Internet of Things
Page 7: Monitor your car from the cloud! DIY Telematics and the Internet of Things

The MIL (Malfunction Indicator Lamp)

• a.k.a “Check Engine Light”

• 2 Stages in cars since 1996 Model Year• Steady

• Flashing

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

P0171 and P0174 -- “System too Lean”

Bad O2 sensor?

Clogged fuel filter?

Vacuum leak?

Watery gas?

Plugged injectors?

Leak in the intake hose?

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

Sensors Galore

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

CAN Bus

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

OBD-II

• Required by law since 1996

• Within 2 feet of steering wheel

• 16 Pin connector

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

Real Time Data

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

So I got to thinking…

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

ELM327

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

Arduino

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

OBD-II TTL Adapter

Red: Vcc (+5V)Green: GroundYellow: RxBlue: Tx

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

TTL UART

UART: Universal Asynchronous Receiver and Transmitter

TTL: Transistor to Transistor Logic

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

ArduinoOBD

https://github.com/stanleyhuangyc/ArduinoOBD/

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

Beaglebone Black

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

Raspberry Pi

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

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)

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

Anybody remember the Hayes Modem Command Set?

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

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

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

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

41 is a response for a mode 03 query0C is the command it’s responding to

0x0AEC is 2796 quarter RPMs, so 699 RPM (idling)

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

Screen Commands

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

OBD-II Logging

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

Heroku Upload Script

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

github.com/tomgersic/obd2pi -- obd.js

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

github.com/tomgersic/obd2pi -- obdsync.js

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

github.com/tomgersic/obd2server

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 }

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

Heroku Mongo DB

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

Cases!

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

Tom GersicTom Gersic

Director, Mobile Services Delivery@tomgersic

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

@tomgersic