现在家里的很多灯都可以用蓝牙控制,你知道iOS上的LBT技术非常好。
但有一个问题是,如果每个房间有四个房间(非常靠近)和每个蓝牙支持的灯,那么在BT服务扫描期间,如何匹配设备和服务?
是否由信号强度决定?或者我们是否需要在第一次连接时设置其名称?还有其他很棒的解决方
任何有兴趣的人请分享,并提前致谢。
答案 0 :(得分:0)
要知道哪个外围设备最近,我们可以说我们将使用RSSI
知道它们是否近在咫尺是一种很好的方式,但它并不准确。在您的设备和外围设备之间放一堵墙,它的距离似乎更远。让我们说它是一个提示,而不是一个真实的指示。另外,让我们假设您在两个外围设备之间的距离完全相同(因此想象相同的RSSI)。哪一个是哪一个?
如果固件允许,您可以重命名设备(可写特征)。因此,在您的示例中,我们假设我们将设备重命名为: Light Living Room , Light Garage , Light Kitchen 等。因此,当您想要连接时,它可以帮助您识别它们。但是,仅当您已经连接到它们时才有效,并且只有在您可以重命名它们时才有效。
如果你也使用固件方面,一个好的开始,可能是用一个独特的单词命名它们。一个解决方案,可以是这样命名: MainName XxX ,其中 XxX 可以是例如通信廉价MAC地址的最后4个十六进制。当然,您可能会遇到找到2个相同的XxX的时间,但是让我们说它非常罕见。
请注意,这也适用于Wi-Fi设备。我们有一个Wi-Fi玩具可以生成Wi-Fi网络,其中包括产品名称XxXx",其中XxXx位于"唯一的" (Wi-Fi芯片MAC地址)
还要注意,在外围部分,他们可以访问他们的"真实" MAC地址,而在iOS中,它是时间戳,设备/外围设备的MAC地址之间的混合,因此可能会在之后发生变化(我认为每15分钟),除非您与它们配对。所以它可以在2个iOS设备之间使用而不是使用。