0

现在家里很多灯都可以通过蓝牙控制,iOS上的LBT技术支持的非常好。

但一个问题是,如果有四个房间(非常近),每个房间每个蓝牙都支持灯,那么在BT服务扫描时,如何匹配设备和服务?

是由信号强度决定的吗?还是我们需要在第一次连接时设置它的名字?还有其他好的解决方案吗?

有兴趣的可以分享一下,先谢谢了。

4

1 回答 1

0

要知道哪个外围设备是最近的,我们可以说我们将使用 RSSI。
这是了解它们是否远近的好方法,但它并不准确。在您的设备和外围设备之间放置一堵墙,它的距离可能看起来更远。假设这是一个提示,而不是真正的指示。另外,假设您在两个外围设备之间的距离完全相同(所以想象给定相同的 RSSI)。哪个是哪个?

如果固件允许,您可以重命名您的设备(可写特征)。因此,在您的示例中,假设我们将您的设备重命名为:Light Living RoomLight GarageLight Kitchen等。因此,当您想要连接时,它可以帮助您识别它们。但是,这只有在您已经连接到它们并且只有当您可以重命名它们时才有效。

如果您还使用固件方面,一个好的开始可能是用一个唯一词的一部分来命名它们。一个解决方案可以是这样命名它们:MainName XxX,其中XxX可以是例如通信廉价 MAC 地址的最后 4 个十六进制。当然,您可能会遇到找到 2 个相同的 XxX 的时候,但可以说它非常罕见。
请注意,这也适用于 Wi-Fi 设备。我们有一个 Wi-Fi 玩具,它生成一个 Wi-Fi 网络,其名称为“ProductName XxXx”,其中 XxXx 为“唯一”(Wi-Fi 芯片 MAC 地址)。
另请注意,在外围设备部分,他们可能可以访问其“真实”MAC 地址,而在 iOS 中,它是时间戳、设备/外围设备的 MAC 地址之间的混合,因此之后可能会更改(每 15分钟我想),除非你和他们配对。所以它可以在 2 个 iOS 设备之间使用和不使用。

于 2014-05-13T07:59:21.927 回答