beacon手札

来源:互联网 发布:mac不显示电量 编辑:程序博客网 时间:2024/04/28 08:59
beacon使用蓝牙智能技术,只能广播少量的数据。蓝牙4.2的最大有效载荷包是257个字节。这也是beacon只广播自己id(UUID, Major, Minor)和信号功率的原因。通过手机来计算距离。每个iBeacon ID是20个字节长度,其中UUID为16 bytes, major和minor为2 bytes。这三个值是可以改变的,但是不能有两个beacon基站的ID是一样的,因为一旦UUID和别的基站一样,会阻止其他人使用同一个。你不能把额外的内容放在里面,所以beacon基站只是一个触发器。
    beacon信号的覆盖范围和稳定性取决于两个主要因素:发射的频率和广播的力度。
    手机的锁定和解锁也会造成影响,如果手机处于激活,扫描会经常发生如果他处于锁定状态,它将通过限制蓝牙扫描的数量保持它的电量消耗。iOS的扫描间隔为1秒信标。所以一个beacon基站的默认频率应该设为950ms,以达到电量和频率的最大优化。
    同样重要的还有广播的力度,它描述了信号的强度,单位为dBm。会影响辐射范围大小。
    越接近deacon基站,距离的估算就越准确,因为在基站的附近有更高的信号密度。当你离开时,信号就变得更加分散和扭曲,直到它不可被分辨出来。
    手机会通过读取一个名为RSSI(received signal strength indicator接收信号强度指示)的值去计算测得的功率,来得到距离基站的实际距离。这个理论上的计算并不能得到一个确定值,因为实际环境下干扰严重,造成距离的上下波动。这就是问什么说硬件去解决方案只是一部分,我们需要用功能强大的软件充分利用物理学规律解决这个问题。
    iBeacon不是为了操作准确测量的距离,虽然你也可以获取他们。相反,它使用临近区域。有四个值:immediate (非常接近), near (约1-3米), far (远或信号干扰太大) and unknown(检测不到)。
    当然,要想精确的获取用户位置也可以做到,比如说:在商场的过道有关的交易,过道只有10米,没理由要求50厘米的精度;或者在饭店的每个桌子下放置一个beacon基站,你只需要检查那个基站是最接近客户手机的。
    如果你知道三个基站的位置和测量距离,你就知道你到底在哪里。但是在实际环境下,也许只能做到5米的平均精度。它还需要考虑粒子滤波、传感器融合和一大堆降噪算法。
    可以周期性变化beacon id值,这样它的广播将不可预知。
    在非营业时间,可以休眠广播的发射,延长电池的使用。
     
0 0
原创粉丝点击