首页 > 解决方案 > 蓝牙设备被检测为低功耗且具有相同 MAC 地址和名称的普通蓝牙设备

问题描述

我正在创建一个 Windows 实用程序来连接蓝牙设备。我正在使用Windows.Devices.Enumeration API。我注意到一些蓝牙设备(特别是三星智能电视)被 Windows 检测为 2 个设备:LE 蓝牙设备和普通蓝牙设备。但这两个设备的 MAC 和名称是相同的。

在这种情况下,用户应该连接到哪个设备(LE 或非 LE)?

标签: c#bluetoothbluetooth-lowenergy

解决方案


蓝牙 LE 设备(v4 及更高版本)通常向后兼容。话虽如此,经典(< v4)和LE(> v4)这两种蓝牙完全不同。

经典蓝牙适用于经典的主从连接,其中一台设备向另一台设备发送指令,而另一台设备则服从。

低功耗蓝牙完全改变了这一点,并用以客户端-服务器为中心的架构取代了该架构。设备遵循 GATT 连接的概念,它们具有由服务和特性决定的特定规则和功能。您获得设备的服务通道,连接到特定的特性并读取/写入/订阅来自它的通知。这种新的连接类型允许外围设备仅在被调用时才起作用,从而减少了在服务器端进行持续连接轮询的需要并节省了能源。它还允许您一次连接到多个 BLE 设备。

我建议您使用低功耗蓝牙来推进所有连接。它更节能,连接一般更稳定,BLE的范围也更大。低功耗蓝牙旨在向后兼容,因此您的应用还应与最新版本的 BLE (v5+) 兼容


推荐阅读