The Android application for the Smart:Drive project will mainly be an app that collects data from the OBD dongle, and transmits the data to the cloud.

Application GoalsEdit

Primary GoalsEdit

  • Collect data from the OBD dongle
  • Store collected data for live trip analysis
  • Transmit collected data to could for later analysis

Other Possible FeaturesEdit

  • Live trip analysis
  • A lightweight, moblie version of the Webapp to look at historic data
  • Send commands to the OBD port (eg. clear codes, and performance tuning)
  • more?

Application DesignEdit

Communication with OBD dongleEdit

The only choice for this was bluetooth. USB and wifi were other considerations, but Android phones do not support a USB host mode, so they cannot collect data from the usb port. Wifi chips are more exspenive than bluetooth chips for the OBD dongle, and a lot of smartphones cannot connect to ad-hoc wireless networks without rooting or jailbreaking the phone. On the other hand, Android allows full access to bluetooth, which allows for easy development now. In the future, apps can be written for smartphones that require you to jump through legal hoops before you can use the bluetooth (like the iPhone).

Data StorageEdit

The background service will continually poll the OBD dongle for data, and store the information in a local database on the phone. The other components of the application will be able to query data from this database when needed. The data stored in the database will not be stored permanantly, only the few most recent trips will be in the database. The background service will also handle automatically transmitting data to the cloud. The user will be able to mange the data currently stored on the databse (eg. number of trips stored, transmit data manually, clear data. etc...).