【问题标题】:Open a socket connection to bluetooth device without a virtual COM port在没有虚拟 COM 端口的情况下打开与蓝牙设备的套接字连接
【发布时间】:2014-04-22 21:27:03
【问题描述】:

我正在使用32feet 蓝牙库连接到支持串行端口配置文件 (SPP) 的设备。我尝试这样连接:

 using (BluetoothClient client = new BluetoothClient())
 {
            var address = new BluetoothAddress(0xecfe7e11c3af);
            BluetoothEndPoint endPoint = new BluetoothEndPoint(address, BluetoothService.SerialPort);
            client.Connect(endPoint);
            var stream = client.GetStream();
            System.Threading.Thread.Sleep(10000);
 }

在调用 Connect 方法之前,一切都很好。此时,Windows 会中断程序流并显示气泡警报

“蓝牙设备正在尝试连接——点击允许”

此时,用户将通过向导引导,该向导最终安装驱动程序,并且蓝牙虚拟 COM 端口显示在设备管理器中。我不希望这种情况发生——我想简单地访问流并直接与设备通信,而无需 Windows 干预。这可能吗?有什么办法可以让 Windows 不干涉我的业务?

我正在尝试连接到蓝牙 4.0 设备。我过去在 2.0 设备上做过类似的事情,在这种情况下 Windows 不会干扰。

【问题讨论】:

    标签: windows bluetooth spp 32feet


    【解决方案1】:

    看看http://SimpleBluetooth4Win.SourceForge.net

    这是一个使用 Windows 蓝牙网络 API 的小型包装库,可以为您提供帮助。

    https://msdn.microsoft.com/en-us/library/windows/desktop/aa362932%28v=vs.85%29.aspx

    特别是如果您的蓝牙 USB 加密狗或蓝牙设备已被相应的驱动程序正确识别并且远程蓝牙设备已与 PC 配对,则您无需安装显示在设备中的蓝牙虚拟 COM 端口Manager,但您只需使用 write 或 read 调用直接访问流以与配对设备进行通信。

    【讨论】:

    • 引用图书馆并不是真正的答案,也不能回答 OP 的问题。
    • 我已经审查了我的答案并使其更加具体,以便准确回答 OP 的问题。
    • 我添加了答案的新部分,这些部分更有助于理解如何解决问题并且更具体地针对特定问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    相关资源
    最近更新 更多