Always know your vehicles fuel level state!

What if car manufacturers would provide us applications to view information of our vehicles on our smartwatches?
Wouldn’t it be nice?

Since there are a lot of apps for smartphones, it should be possible to adapt those functionalities to wearable platforms (e.g. Android Wearable).
So I decided to develop such an app.

What I needed:

  • A smartwatch (Moto360)
  • An ELM 327 WiFi adapter (to read data directly from a car) – or another OBD-2 adapter
  • A smartphone (OnePlus One – Android 4.4)
  • Information about the OBD-2 protocol – Click here to see all standard PIDs

Ahh and don’t forget:

  • A car

But first let me show you the result:

smartwatch_car_info
Smartwatch with car information

So the scenario is very simple. The smartwatch is connected via BLUETOOTH to the smartphone.
The smartphone is via WiFi (TCP/IP) connected to the ELM 327 WiFi Adapter, to do data requests.
Once data is requested by the phone, the adapter will forward the request to the car and delivers the answer back to the phone, which will transmit the data to the watch.

Approach
Car info scenario

The only thing you really have to know, is the OBD-2 Protokoll, to send the right requests to your car.
Everything else is just a little bit of coding and designing.

In my case I’ve used the following protocol:

To initialize (Mercedes 2013 and newer):

  • AT Z
  • AT L0
  • AT E1
  • AT H1
  • AT SP 0
  • 01 00
  • AT DP

To read specific data e.g. fuel level:

  • 01 2F

Cheers
Lars

 

Btw: the sourcecode is added below.

  1. Smartwatch application
    • 1.1 Design / Markup
    • 1.2 Manifest
    • 1.3 WearableListenerService
    • 1.4 Communication
    • 1.5 Data storage
  2. Smartphone application
    • 2.1 Manifest
    • 2.2 Communication ELM 327
    • 2.3 Communication Smartwatch

+ 1. Smartwatch (Sourcecode)

+ 2. Smartphone (Sourcecode) 

Post author

I'm an executive M.Sc. with over 10 years experience in software development and engineering.

Leave a Reply