Using Arduino as an OBD-II convertor

Hello, first post, so I apologise that it's a question.

I'm currently studying for my third year Computer Science degree (in England), and have elected to create an application to create a virtual dashboard for a car on a phone/tablet. Of course this was before I found out that Microsoft has removed virtual serial devices from the WP8 SDK and from the Metro/Modern UI app SDK. This has somewhat scuppered my initial plan to simply use one of the many Bluetooth ELM327 OBD-II adapters out there, then communicate serially over Bluetooth.

What I would like to do is create a device which can take calls from the phone for information, and convert those into OBD-II commands, then pass the information back (or, better, monitor on the device, then send information directly when polled). This is to get around the lack of serial programming support limitation. For example:

Phone -> Request engine RPM -> device -> send 010C (OBD-II Engine RPM PID) -> OBD-II interface -> send RPM data -> device -> send back to phone -> Phone -> display

However, I'm not familiar with hardware design, so am not too sure where to start. Is this feasible (essentially to convert serial into some API for the phone to use over bluetooth or USB to poll the OBD data)? Unfortunately (to make it harder), as many European cars are not sold in the US, the CAN bus is not suitable, and it will have to be ISO9141 compatible, so I'm guessing the ELM327 chip would be the best option.

Any pointers (or something that'll do what I need it to do already)? I'm all ears!

Thanks in advance,
Simon

See this shield
http://www.arduinodev.com/connect-arduino-to-a-car-through-obd-ii-port/

If you are in the car, why would you want to have to call the car to get information? If you are not in the car, why would you care?

I found out that Microsoft has removed virtual serial devices from the WP8 SDK and from the Metro/Modern UI app SDK.

Certainly M$ hasn't disabled the ability of computers to run BT devices, or to plug in FTDI USB-to-RS232
chips, and access them via terminal emulator software [????]. I don't know about BT, but you should be
able to use some pre-existing tools to access RS232 serial ports, such as Visual C# or Visual Basic.

oric_dan(333):

I found out that Microsoft has removed virtual serial devices from the WP8 SDK and from the Metro/Modern UI app SDK.

Certainly M$ hasn't disabled the ability of computers to run BT devices, or to plug in FTDI USB-to-RS232
chips, and access them via terminal emulator software [????]. I don't know about BT, but you should be
able to use some pre-existing tools to access RS232 serial ports, such as Visual C# or Visual Basic.

Hmm, according to the SDK, the System.IO.Ports (C#) is not available (missing assembly reference, but the System.dll reference is not available when adding references) when developing for Windows Phone, Windows RT or for Metro apps - normal desktop programs (outside the Modern UI environment) are unaffected, and Microsoft still allows serial connections on Windows 8. Just not within the app environment forced upon RT and WP8. Serial connections aren't supported at all, whether that's a real one, over Bluetooth, or a virtual one - the functionality is not included. Unless of course I'm very wrong and there's another way around this apparant limitation, in which case please enlighten me :).

PaulS:
If you are in the car, why would you want to have to call the car to get information? If you are not in the car, why would you care?

Call as in poll the OBD-II interface - not all vehicles display all that is monitored. One can garner a decent amount of additional information from the interface, including fuel consumption, engine load and so on, which could be pretty useful for cars without a trip computer.

HugoPT:
See this shield
Connect Arduino to your car through OBD-II | ArduinoDev.com

Those are the kind of thing I'm after, but they only implement the CAN-bus, and so are not compatible with many Europe-only vehicles, including mine.

Call as in poll the OBD-II interface

Ah. OK. Sorry to have misinterpreted.

Hmm, according to the SDK, the System.IO.Ports (C#) is not available (missing assembly reference, but the System.dll reference is not available when adding references) when developing for Windows Phone, Windows RT or for Metro apps - normal desktop programs (outside the Modern UI environment) are unaffected, and Microsoft still allows serial connections on Windows 8. Just not within the app environment forced upon RT and WP8. Serial connections aren't supported at all, whether that's a real one, over Bluetooth, or a virtual one - the functionality is not included. Unless of course I'm very wrong and there's another way around this apparant limitation, in which case please enlighten me .

I guess the first thing to answer is, can you plug in an Arduino to a USB port and access it using the Terminal
window of the IDE. If you can, then W8 still supports serial devices, I would assume.