适用于Windows 7.0的蓝牙低功耗API

时间:2013-01-18 14:51:36

标签: .net windows-7 bluetooth driver bluetooth-lowenergy

Windows 8公开了一个API以与蓝牙低功耗(智能)设备进行通信,但此API在以前版本的Windows中不可用,因此如何在Windows 7上与BLE加密狗进行通信?

我目前正在使用的BLE加密狗(BLED112)公开了一个虚拟串口,您可以使用他们的自定义专有API发送命令,但是如果我在我的软件中实现它,它将无法使用加密狗来自其他制造商。

那么有没有办法在Windows 7上与制造商无关的BLE设备进行通信?

4 个答案:

答案 0 :(得分:3)

事实证明,有些人找到了解决方法。基本上,我们的想法是使用Windows BLE API(在Windows 7上不起作用),而是直接与加密狗交谈。您可以使用WinUSB(用户空间USB驱动程序)来实现。可以使用Zadig安装该驱动程序。

以下是一个例子:

https://github.com/sandeepmistry/node-bluetooth-hci-socket#windows

它具有C ++代码,可让您发送HCI命令。还有一个Node库,介绍如何将HCI用于更高级别的BLE:

https://github.com/sandeepmistry/bleno

我不知道是否有任何非JS库都这样做,但我认为在任何情况下都不会很难将Bleno转换为C ++。

答案 1 :(得分:1)

BLE是否是必需品? 大多数BLE设备可能是双模式的,因此您可以在旧版Windows上回退到非LE模式。

关于专有API,您看过https://32feet.codeplex.com/吗?

文档建议大多数加密狗的驱动程序可以替换为Microsoft类驱动程序。但是,如果替换不可行,API也可以与其他堆栈一起使用(根据堆栈有一些注意事项[即需要额外的DLL])。

切换到MS堆栈

https://32feet.codeplex.com/wikipage?title=Switching%20any%20dongle%20to%20the%20Microsoft%20stack&referringTitle=Documentation

一般文件

https://32feet.codeplex.com/documentation

答案 2 :(得分:0)

据我所知,目前无法做到这一点。

  • 自2009年以来,Broadcom WIDCOMM蓝牙堆栈的SDK尚未更新,不支持BLE。
  • Microsoft的堆栈仅支持Windows 8中的BLE。

可能能够让开源BTstack正常工作,但是他们的BLE实现只是“已经启动”,并且没有在Windows上构建它的说明。他们的wiki表明没有人尝试过。

如果有人以这种方式取得任何成功,那么完整的说明将会很棒!

答案 3 :(得分:0)

实际上,如果您PC中的BT芯片组(安装了Windows 7)具有BT 4.0功能(我的是AR3012)并且您已经安装了正确的BT芯片组驱动程序,那么您可以采取一些解决方法来配对您的BLE(BT低能量即智能)用你的电脑设备(我的设备是微软设计师键盘)。我已点击托盘中的BT图标并选择"添加设备" (键盘处于发现模式),然后单击发现的键盘图标进行配对并选择"输入密码"。然后在我的Android手机(三星Galaxy S5)的蓝牙/可用设备菜单中,我点击发现的键盘进行配对 - 它显示了我输入键盘的密码,但我已输入此代码PC然后在我的键盘上 - 瞧!它有点像魅力。已安装键盘驱动程序,键盘正在运行。 BT设备状态窗口显示没有BT连接(可能是因为系统中没有出现BT LE Enumerator),但一切正常。