首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无需手动配对即可访问Windows上的蓝牙虚拟COM端口

无需手动配对即可访问Windows上的蓝牙虚拟COM端口
EN

Stack Overflow用户
提问于 2009-05-25 11:55:21
回答 3查看 16.9K关注 0票数 4

我需要通过Windows中创建的虚拟COM端口连接到蓝牙设备。当在手动配对过程中已经创建了端口时,这很容易。但我希望我的应用程序能让用户从手动配对设备中解脱出来。我想要显示范围内的所有设备,允许用户选择一个,然后创建与所选设备连接的虚拟COM端口。我并不是试图避免配对过程本身,而是希望通过我的应用程序调用它。

我开始熟悉Microsoft Bluetooth API。然后出现了一些疑问。我一直在想,如果一些用户使用不同的(与微软的)蓝牙协议栈,会发生什么?微软的API是否是真正的蓝牙API,必须由任何其他蓝牙堆栈提供商实现?或者更确切地说,每个提供商都有自己的API,而微软的API只是众多API中的一个?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-04 06:58:56

感谢大家的宝贵意见。我想总结一下我到目前为止的发现。Microsoft Bluetooth API不是操作系统API。针对它编写的应用程序将无法与任何其他Bluetooth stack正确协作。似乎打算与多个堆栈协作的应用程序需要提供一些堆栈抽象层,以及用于所有them.The的堆栈特定代码。另一种解决方案是允许用户手动配对蓝牙设备,这最终在操作系统中创建一些虚拟设备(例如,COM端口)。则应用程序可以使用这样的设备的标准接口。

票数 2
EN

Stack Overflow用户

发布于 2009-05-26 07:29:33

我不能为Microsoft Bluetooth API说话,但有适用于PC平台的multiple Bluetooth stacks (甚至更多适用于移动设备)。

底层应用程序接口是由Bluetooth Core Spec定义的,因此所有堆栈都应该能够交互,事实上,它们必须进行互操作,否则它们不能使用蓝牙名称和徽标。

至于配对,如果设备有默认的安全性,那么你将很难让设备配对,这需要pin代码。

在不久的将来,事情可能会变得更简单,因为蓝牙标准已经引入了一种新的安全模型,secure simple pairing,它有一个不需要PIN码的“just works”模式。这仍然比当前的安全性更强,除了对中间人攻击的攻击。然而,你可能需要一段时间才能在PC上看到具有这一功能的芯片。

票数 1
EN

Stack Overflow用户

发布于 2009-05-26 10:25:42

如果您可以改为使用.NET :-/我可以推荐我们的库32feet.NET。对于显式配对,有BluetoothSecurity.PairDevice。我们也可以为您创建虚拟端口,例如:

代码语言:javascript
运行
复制
   BluetoothClient cli = new BluetoothClient();
   BluetoothDeviceInfo[] list = cli.DiscoverDevices();
   BluetoothDeviceInfo selected = GetUserToSelectOne(list);
   BluetoothSecurity.PairDevice(selected, pin);
   // Ask Win32 to create a virtual serial port
   selected.SetServiceState(BluetoothService.SerialPort);

然而,我真的不喜欢虚拟串行端口,所以我总是建议人们使用我们的BluetoothClient类的普通套接字连接,如果需要,它将自动处理配对请求。

在Win32上,我们支持来自微软、Widcomm/Broadcom和BlueSoleil的堆栈。在Widcomm上还没有对SetServiceState的支持,他们的API也不支持对配对请求的响应。BlueSoleil应该同时支持这两者。

32feet.NET — User’s Guide上有一个简短的用户指南,所有的类文档都可以在主站点http://32feet.net上找到,而Widcomm文档目前只在我们的code repository中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/906454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档