2013-03-07 100 views
1

我试图使用蓝牙OBDII(板载诊断)连接到连接到我的电脑的蓝牙适配器(我的操作系统是Windows 7)。加密狗连接到设备并为其分配2个虚拟COM端口(COM4用于传入,COM5用于传出),但不幸的是,我无法通过虚拟COM端口与此设备通信。我也尝试使用winsock库,但是我没有找到任何使用蓝牙OBD并发送和接收乐器的例子。我刚刚为Android找到了一个蓝牙API,但对我来说没用,因为我想在Visual C++和PC中实现它。现在我有两个问题: 1.哪种方法更好,虚拟COM端口或winsock以及如何? 2.您是否有任何使用蓝牙OBD的示例代码?如何使用Visual C++和PC连接到蓝牙OBD II

回答

0

1:您的设备是否有ELM327芯片?如果是这样,你可以通过蓝牙设置一个串口,并与该端口通信。我不太了解winsock,但我认为串口更适合这项工作。 要设置它,看看这里:http://windows.microsoft.com/en-us/windows7/choose-a-com-port-for-a-bluetooth-enabled-device 也许如果你可以配对设备,Windows 7会自动设置它?

2: 你可能想看看:http://icculus.org/obdgpslogger/

它是开源的,所以你可以有偷看它是如何工作的。软件包中还有一个模拟器,可以帮助您开发/测试。主要是基于Linux,但它应该给你提示去哪里。还有可用于模拟器的窗口安装程序。

+0

我的设备是ELM327,win 7自动为蓝牙创建2个虚拟COM端口,但我的应用程序无法通过虚拟COM端口与设备通话。当我用com0com创建2个com端口(CNCA0和CNCB0)时,我看到了obdsim和我一起使用com0com,每一件事情都很好,我的应用程序可以接收数据,但是当我使用虚拟COM端口(例如COM7)作为蓝牙COM端口,我的应用程序无法感知它!事实上,问题返回到通过com端口的蓝牙,我无法接收到任何数据。 – 2013-03-07 13:10:26

+0

你会得到什么样的错误?或者什么都行不通? 你能连接吗? – 2013-03-07 15:34:21