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/vi-firmware#24
@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.
@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".
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.
@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?
@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?
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?
@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
Hi Any updates?
Hello! Any updates?
@andreiverdes We recently started selling our OBD2 Dongle here: https://shop.openxcplatform.com/. Ships internationally.