【问题标题】:How to connect to Bluetooth OBD II with visual C++ and for PC如何使用 Visual C++ 和 PC 连接蓝牙 OBD II
【发布时间】:2013-03-07 10:55:26
【问题描述】:

我正在尝试使用蓝牙 OBDII(车载诊断)与连接到我的计算机的蓝牙加密狗连接(我的操作系统是 Windows 7)。加密狗连接到设备并为其分配了 2 个虚拟 com 端口(COM4 用于传入,COM5 用于传出),但不幸的是我无法通过虚拟 com 端口与该设备通信。我也尝试使用 winsock 库,但我没有找到任何使用蓝牙 OBD 和发送和接收仪器的示例。我刚刚找到了一个适用于 android 的蓝牙 API,但它对我没有用,因为我想在可视化 C++ 和 PC 中实现它。现在我有两个问题: 1. 哪种方法更好,Virtual com port 或 winsock 以及如何? 2. 有蓝牙OBD的示例代码吗?

【问题讨论】:

    标签: bluetooth virtual winsock obd-ii


    【解决方案1】:

    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 的,但它应该会给你提示去哪里。还有适用于模拟器的 Windows 安装程序。

    【讨论】:

    • 我的设备是 ELM327,win 7 自动为蓝牙创建 2 个虚拟 COM 端口,但我的应用程序无法通过虚拟 COM 端口与设备通信。我看到了 obdsim,我使用它和 com0com,当我使用 com0com 创建 2 个 com 端口(CNCA0 和 CNCB0)时,一切正常,我的应用程序可以接收数据,但是当我使用虚拟 com 端口(例如 COM7)作为蓝牙通信端口,我的应用程序无法感知它!事实上,问题通过 com 端口返回到蓝牙,我无法接收任何数据。
    • 你得到什么样的错误?或者什么不起作用?你能连接吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多