白金戈吧 关注:5贴子:123
  • 4回复贴,共1
iBeacon技术
iBeacon基站使用BLE技术向周围发送自己特有的ID,当用户手机靠近这个区域时,用户手机端APP接收到该ID,会自动向服务器请求该ID对应的数据,最后由服务器来完成推送,这就是iBeacon的工作原理。
iBeacon使用的是BLE技术,具体而言,利用的是BLE中名为“通告帧”(Advertising)的广播帧。通告帧是定期发送的帧,只要是支持BLE的设备就可以接收到。iBeacon通过在这种通告帧的有效负载部分嵌入苹果自主格式的数据来实现。iBeacon广播的数据主要由四种资讯构成,分别是UUID(通用唯一标识符)、Major、Minor和Measured Power。
UUID是规定为ISO/IEC11578:1996标准的128位标识符,Major和Minor由iBeacon发布者自行设定,都是16位的标识符。Measured_Power是iBeacon模块与接收器之间相距1m时的RSSI。
1、iBeacon基站
iBeacon基站带宽有限,只是每隔一段时间对外广播一个特定的ID信号,一般我们设置为1s广播一次,这个参数是可以调节的。采用纽扣电池供电,极低功耗运行模式,一颗纽扣电池可以持续工作几个月甚至几年的时间。
iBeacon广播特定的ID,仅仅提供位置服务,并不推送消息,消息推送功能需要去开发一款APP软件,并安装到用户的手机上,在后台服务器挂载相应的服务程序,通过3G网络或者WIFI来完成的。例如进入iBeacon广播范围 的用户手机收到商场打折促销信息,信息是由手机上的APP去获取的,并不是保存在iBeacon里,很多用户都以为是iBeacon来完成消息推送的。
2、手机用户端APP
手机需要支持蓝牙4.0才能接收到iBeacon的广播信号,iPhone4S以后的苹果机型都支持,安卓系统的手机要Android4.3版本以后且硬件上支持蓝牙4.0。
手机上运行一个APP,这个APP的主要功能是去扫描是否有iBeacon基站的信号的接入,一旦扫描到特定信号的ID,它就会把这个ID上传到服务器,然后由服务器根据这个ID以及设定的阈值来决定给手机推送哪条服务信息。
什么是阈值呢?手机可以根据广播的信号强度来判断用户和iBeacon的靠近程度,以此来实现精确服务推送,比如可以限定在1米处给用户推送商品信息。当然这个值可以是10米或者15米.
但是苹果在iOS中并不仔细推断距离,而只采用贴近(Immediate)、1m以内(Near)、1m以上(Far)三种距离状态。距离在1m以内时,RSSI值基本上成比例减少,而距离在1m以上时,由于反射波的影响等,RSSI不减少而是上下波动。也就是说,相距1m以上时无法推断距离,因此就简单判定为Far。由此可以看出通过iBeacon的广播信号来测算出来的距离并不准确。
3、服务器
简单来说,就是建立一个数据库,事先把客户需要推送的信息编辑存储好,并关联上是对应哪个iBeacon基站的ID以及阈值,至于这些信息的编辑与上传,根据实际情况可以由客户自己来完成,或者委托第三方来做。
我们作为iBeacon基站的硬件供应商,只提供iBeacon基站信息获取DEMO,具体的手机端APP以及后台的业务逻辑是每个客户的软件开发团队来完成的,我这边只是对这个系统简单的做了一个原理上的介绍,具体实现要比这个考虑的事情要多得多。


来自iPhone客户端1楼2014-09-26 13:51回复
    不明觉厉


    IP属地:上海4楼2014-09-28 10:50
    收起回复
      虽然不明白你在说什么,但好像很厉害的样子


      IP属地:上海5楼2014-09-28 10:51
      回复