代码之家  ›  专栏  ›  技术社区  ›  allanc

使用iBeacon RSSI进行房间出入检测

  •  0
  • allanc  · 技术社区  · 7 年前

    我正在检测一个人是否使用iBeacon进出房间。具体实施如下:
    1、每个房间放置两个信标。一个在门里,另一个在里面,靠近门。
    2、为了检测进入,用户必须先通过门信标,然后通过房间内的信标。对于出口,则相反。

    问题:
    如果房间之间过于相邻,则会发生重叠,从而导致检测错误

    计划解决方案:
    当检测到室内时,使用RSSI检测最后一个最近的信标。我正在考虑在给定时间检查RSSI分布的偏斜度,比如说,在用户检测到内部信标后的1到2秒左右。

    是否有其他统计分析或任何数据分析可用于确定或检查用户进入哪个房间的概率?

    1 回复  |  直到 7 年前
        1
  •  0
  •   davidgyoung    7 年前

    除非房间很大(听起来好像不是因为你遇到的麻烦),否则我认为你找到的任何技术都会有很高的错误率。通过识别无法确定的情况并在这些情况下拒绝这样做以避免错误确定,您可能能够将错误率降到可以接受的程度。

    最好的办法是从不同的信标数据包中采样多个RSSI测量值(至少10个以滤除噪声),然后对它们进行平均,可能在这样做之前抛出最高值和最低值。如果这个平均RSSI足够强,比如说<-80 dB(这是您从所有信标上看到的最强信号)您很可能在信标指示的房间内。

    如果您远离房间内的信标,RSSI可能会下降,因此不满足上述标准并不意味着您不在房间内。

    请记住,如果所有信号都很弱,则不可能确定哪个信标最近——噪声比信号更重要。因此,除非一个信标的RSSI大于,比如说-85 dBm,否则不要下结论。

    确保你的信标尽可能强烈地传播信息,并尽可能频繁地进行广告宣传。后者将确保您在短时间内获得足够的RSSI样本。

    最后,请记住,不同的安卓手机具有不同的蓝牙天线,或多或少地接收相同的信标数据包。华为P9 Lite在RSSI 20 dB处检测到BLE信号,比类似位置的Moto G4+弱。尽管如此,手机通常不会检测到弱于-100 dBm和低于-90 dBm的信标信号。测量值非常弱,几乎无法用于确定相对距离。

    推荐文章