我想问一下我Beacon的广告,尤其是Tx Power。 我使用了两个BLE模块HM10和HM11。我制作一个作为ibeacon(HM10)。和其他用于连接和收听HM10广播的人。 我使用了与HM11捆绑的MCU ATmega32 AVR,我使用scanf功能来读取广播。我想提取最后一个字节(Tx Power)。我想用AVR编程测量距离。 你能告诉我算法吗?
答案 0 :(得分:3)
Apple未用于计算iBeacon距离估算的公式未公布。我们为Android Beacon Library编写了许多替代公式,包括基于最佳拟合功率曲线的this one。
我们进行的进一步研究表明,上述公式基本上有效,但它有两个主要缺陷:
对于较弱的信标发射器,它不适用。由于广播较弱,距离被低估了。
它不考虑接收器中的信号增益变化。不同的接收器具有不同的天线和接收器,它们以不同的方式测量相同的信号。
目前正在讨论最佳公式here.
答案 1 :(得分:0)
有点晚但希望对别人有用。我放弃了Apple的“准确性”号码;正如@davidyoung指出的那样,不同的设备会有不同的信号增益。现在我不是一名工程师,而是一名数学和统计学家,所以我走了“指纹识别”室内空间的路线。基本上我从安装在某个“场地”的所有信标中读取所有RSSI。有些可能无法实现,因此在这种情况下,我只假设RSSI为-95 dBm(这似乎是不再读取信号的最低点)。这种构成的阵列在任何时候都在相同的位置具有相同的信标(甚至跨应用程序启动)。我计算每个信标的5秒移动平均值(所以我需要5个阵列来做)。然后将得到的avg数组向上移动95个单位并进行归一化,使其所有值的总和为1。如果要标记室内“点”,则会在该特定位置收集许多这些标准化的平均阵列。我继续构建一个“斑点”数据库。要预测您与数据库中任何位置的接近程度,您只需计算当前读数与数据库中所有指纹的二次距离。
使用哪些信标?至少第2级上台。多少?每间房至少一对(将它们放在两个相邻的角落,天花板或高处)。
您需要做的最后一步是将指纹与地图上的x,y坐标相匹配。我从未采取过这一步骤,因为我主要对接近应用感兴趣,而不是完全指纹和室内空间。
也许上面的讨论将为您提供许多室内位置公司使用的技术指南。
披露:我最近开源我的代码进行上述计算。