Your SlideShare is downloading. ×
  • Like
Monitor your car from the cloud! DIY Telematics and the Internet of Things
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

  • 2,506 views
Published

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

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/

Published in Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,506
On SlideShare
0
From Embeds
0
Number of Embeds
8

Actions

Shares
Downloads
30
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    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
    http://www.flickr.com/photos/peerlawther/8155662027/
  • 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
  • http://www.obdsol.com/articles/obd-software-development/reading-real-time-data/
    http://www.tigoe.net/pcomp/resources/archives/avr/000749.shtml
    http://theksmith.com/technology/hack-vehicle-bus-cheap-easy-part-1/
    http://theksmith.com/technology/hack-vehicle-bus-cheap-easy-part-2/
    http://elmelectronics.com/ELM327/AT_Commands.pdf
    http://elmelectronics.com/DSheets/ELM327DS.pdf
  • http://www.obdsol.com/articles/obd-software-development/reading-real-time-data/
    http://theksmith.com/technology/hack-vehicle-bus-cheap-easy-part-1/
  • https://github.com/tomgersic/obd2pi/blob/master/obd.js
  • https://github.com/tomgersic/obd2server/blob/master/server.js

Transcript

  • 1. Monitor Your Car from the Cloud DIY Telematics and the Internet of Things Tom Gersic, Salesforce.com Director, Mobile Services Delivery @tomgersic
  • 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 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.
  • 3. Tom Gersic Director, Mobile Services Delivery @tomgersic
  • 4. “You just can’t work on cars yourself these days because they’re all computerized.”
  • 5. “I know more about pneumatic engine control systems than I do about computers”
  • 6. The MIL (Malfunction Indicator Lamp) • a.k.a “Check Engine Light” • 2 Stages in cars since 1996 Model Year • Steady • Flashing
  • 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. Sensors Galore
  • 9. CAN Bus
  • 10. OBD-II • Required by law since 1996 • Within 2 feet of steering wheel • 16 Pin connector
  • 11. Real Time Data
  • 12. So I got to thinking…
  • 13. ELM327
  • 14. Arduino
  • 15. OBD-II TTL Adapter Red: Vcc (+5V) Green: Ground Yellow: Rx Blue: Tx
  • 16. TTL UART UART: Universal Asynchronous Receiver and Transmitter TTL: Transistor to Transistor Logic
  • 17. ArduinoOBD https://github.com/stanleyhuangyc/ArduinoOBD/
  • 18. Beaglebone Black
  • 19. Raspberry Pi
  • 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. Anybody remember the Hayes Modem Command Set?
  • 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. 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. Screen Commands
  • 25. OBD-II Logging
  • 26. Heroku Upload Script
  • 27. github.com/tomgersic/obd2pi -- obd.js
  • 28. github.com/tomgersic/obd2pi -- obdsync.js
  • 29. 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 }
  • 30. Heroku Mongo DB
  • 31. Cases!
  • 32. Tom Gersic Director, Mobile Services Delivery @tomgersic
  • 33. @tomgersic