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
事实证明,有些人找到了解决方法。基本上这个想法是 不 使用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 ++。
据我所知,目前无法做到这一点。
您 可以 能够获得开源 BTstack 工作,但他们的BLE实现只是“开始”,并没有在Windows上构建它的说明。他们的wiki表明没有人尝试过。
如果有人以这种方式取得任何成功,那么如何做到这一点的完整说明将会很棒!
实际上,如果您的PC中的BT芯片组(安装了Windows 7)具有BT 4.0功能(我的是AR3012)并且您已经安装了正确的BT芯片组驱动程序,那么您可以做一些解决方法来配置您的BLE(BT低功耗又智能)设备你的电脑(我的设备是微软设计师键盘)。我点击托盘中的BT图标并选择“添加设备”(键盘处于发现模式),然后点击发现的键盘图标进行配对并选择“输入密码”。然后在我的Android手机(三星Galaxy S5)蓝牙/可用设备菜单中我点击发现的键盘配对它 - 它已经显示我输入键盘上的密码,但我已在PC上输入此代码,然后在我的键盘 - 瞧!它有点像魅力。已安装键盘驱动程序,键盘正在运行。 BT设备状态窗口显示没有BT连接(可能是因为系统中没有BT LE枚举器),但一切正常。