openxc / openxc-android

Android library for accessing vehicle data from an OpenXC vehicle interface
BSD 3-Clause "New" or "Revised" License
234 stars 115 forks source link

Support reading OBD-II messages from commonly available hardware #19

Open peplin opened 11 years ago

peplin commented 11 years ago

There are many existing Bluetooth or wired OBD-II scanners (with a wide range of quality and performance), and it would be useful to have an option in the library to read as much OpenXC-compatible data from one of these devices.

For example, in the same way that the UsbVehicleDataSource reads OpenXC-formatted JSON messages and deserializes them into Java objects for Android apps to use, there could be a ScantoolDataSource that reads and deserializes OBD-II messages.

The Enabler app will also need to be updated to add an option to enable/disable the scantool data source.

This issue is also related to openxc/cantranslator#24

blangel commented 11 years ago

@peplin I know we discussed this at Apps for Vehicles but it seems to have fallen off the radar (I take fault as we've been swamped for the last four months). How can Dash Labs help with this? We have the underlying code to read ELM327 and STNxxxx chipsets (which is the majority of the commonly used scantools). I think this would be a matter of us syncing and defining the Measurement objects for various mode/pid/etc.

brmcmaho commented 10 years ago

@peplin @blangel I am interested in pursuing the implementation of this feature. Have there been any developments recently to this end? I am also curious what you mean by having the "underlying code to read ELM237".

peplin commented 10 years ago

I haven't developed anything on the Android side yet - I've been working on an open source OBD interface implementation but this issue remains open. Most of the inexpensive OBD-II Bluetooth adapters out there implement the ELM327 AT command set (http://elmelectronics.com/ELM327/AT_Commands.pdf), so if we had a Android/Java layer that understood that, we'd be 90% of the way there.

blangel commented 10 years ago

@brmcmaho and @peplin we at Dash-Labs have this and it drives our product. We'll be looking to open source this but have to prioritize based on our resources. @brmcmaho are you interested in helping us with this?

brmcmaho commented 10 years ago

@blangel Yes, I am currently starting work on my own implementation of this, so assisting with open sourcing your code sounds like a good solution. Do you have details on what this would entail?

outlandnish commented 10 years ago

I have a C# implementation (old version can be found on my GitHub account) that will work with any ELM327 or STN11xx chip as long as your provide and input/output socket (WiFi using TCP/UDP, Bluetooth, etc.) You provide a delegate to determine the measurement type and it tries to schedule as many simultaneous messages as needed. Would something like this be useful?

Rajiv0909 commented 10 years ago

@peplin, really hoping that you'd be able to crack this soon. Finding a compatible device is a pain in this side of the world

Rajiv0909 commented 9 years ago

Hi Any updates?

andreiverdes commented 8 years ago

Hello! Any updates?

zacnelson commented 8 years ago

@andreiverdes We recently started selling our OBD2 Dongle here: https://shop.openxcplatform.com/. Ships internationally.