蓝牙Ibeacon室内定位和微信摇一摇周边原理分析

  苹果推出Ibeacon室内定位技术是为了弥补GPS无法覆盖室内定位这种场景。苹果意味着创新,在其推动下,蓝牙Ibeacon得到了极大的应用。而腾讯则是利用蓝牙Ibeacon在场景体验方面进行了创新,实现了微信摇一摇周边的功能,这在O2O领域有巨大的潜力。

  对苹果和腾讯来说,Ibeacon都是应用创新,而不是技术创新。

  本文分析Ibeacon室内定位和微信摇一摇的原理。

一、无线测距原理

  无线信号都有一个信号强度(RSSI),蓝牙BLE自然也有。根据蓝牙BLE自身的发射功率(假设能够获取这个功率值)和无线信号接收端的RSSI,可以计算出两者的距离。

D =10^((abs(RSSI)-A)/(10*n)

  D是计算距离,RSSI是信号强度,A为发射端和接收端相隔1米时的信号强度,n是环境衰减因子。对于不同的蓝牙设备该值是不一样的,同样的设备在不同的发射功率的情况下其信号强度也是不一样的,而且对于同是1米的情况下,环境对于信号强度也是有影响的。n是环境衰减因子,自然跟环境有关。n一般取经验值。

  实际的算法编程是:

蓝牙Ibeacon室内定位和微信摇一摇周边原理分析

二、定位原理

  其实这个原理很简单,小学的知识:两边长可以确定第三个点。

  A和B是两个已知经纬度的坐标点,待测点计算出跟A和B的距离,自然就可以确定自身的坐标点。具体的算法就自行研究去吧。

蓝牙Ibeacon室内定位和微信摇一摇周边原理分析

三、苹果Ibeacon室内定位

  其实就是在A和B点各放置一个ibeacon,然后手机进入ibeacon的广播范围即可以通过算法计算出自己的坐标。

  这里需要一个前提,就是ibeacon室内定位是一个应用APP,应用是已经知道A和B的经纬度坐标的,该应用其实是一个地图应用来的,装有APP的手机进入A和B的信号覆盖范围自然就可以在地图上标记自己的位置。

  室内定位在停车场和商场里面有极好的应用前景。 

四、蓝牙ibeacon原理

  苹果推出的ibeacon是基于蓝牙BLE的,其实ibeacon未来不见得就一定以蓝牙为载体,理论上,无线设备都可以,但是一定要手机集成支持的,否则就失去意义了。现在手机除了蓝牙就是wifi了,wifi功耗太大,不符合ibeacon长时间工作的要求。所以目前就只有蓝牙ibeacon应用了。

  蓝牙通信有广播和连接两种通信模式。Ibeacon只利用广播这种方式,当然,如果要更新ibeacon的广播内容是需要建立连接并通信的。

  蓝牙BLE广播的有效载荷payload是最长31字节,苹果约定一种前缀来标识ibeacon,并固定使用30字节。格式如下:

蓝牙Ibeacon室内定位和微信摇一摇周边原理分析

1)ibeacon prefix 9字节: 02 01 06 1A FF 4C 00 02 15

2)proximity UUID 16字节: 区分不同设备厂商生产的ibeacon

3)Major 2字节:区分不同商店的ibeacon

4)Minor 2字节:区分同一家商店的不同位置的ibeacon

5)TX power 1字节:发射功率,用于计算距离。

 

五、微信摇一摇周边

       这个场景是指当你走到商家门前时,你开启蓝牙,并用微信摇一摇周边,那么你可以摇到优惠券和广告等信息。这在O2O领域是应用最广泛的。?

       Ibeacon英文是信标的意义,在室内定位里面意义非常明确。但是在微信摇一摇周边里面其实信标的意义比较牵强,腾讯完全可以自定义一个微信摇一摇周边的prefix,然后不用ibeacon的约定。不过,腾讯这样改也没啥意思,苹果的推动导致市面上那么多ibeacon,腾讯就沿用好了。话说回来,对于商家来说,ibeacon还是有定位意义的,因为微信摇一摇周边的后台接口能够统计处某个具体位置的ibeacon被多少用户摇到了,例如前门放一个,后门放一个,多少人走过摇一摇是知道的。 

       摇一摇周边就不用计算距离啦,它的工作过程是这样的:

1)商家的微信后台申请ibeacon设备的UUID、Major和Minor。

2)商家购买ibeacon设备,并请求设备上将1)中的UUID、Major和Minor配置到设备中,或者通过特定的应用更新到设备中。

3)商家配置摇一摇周边的结果页面,如优惠券信息,也可以是关注页面。其实就是H5,也可以利用摇一摇周边的JSAPI。

4)商家将设备和结果页面绑定。

5)商家将设备放到某个位置。

6)用户走进,摇一摇周边,微信应用会获取UUID、Major和Minor,并通过后台获取到对应的结果页面的链接,显示给用户。

7)用户点击链接,内置浏览器打开,就可以看到优惠券等信息了。

 

  技术咨询、蓝牙模组咨询可以发邮件到yqwucheng@163.com.

  百分百原创,每周两篇,阿里、魅族、nvidia、龙芯、炬力、拓尔思等*企业资深工程师分享----嵌入式、Linux、物联网、GPU、Android、自动驾驶等技术,欢迎扫码关注微信公众号:嵌入式企鹅圈,实时推送原创文章!

蓝牙Ibeacon室内定位和微信摇一摇周边原理分析

蓝牙Ibeacon室内定位和微信摇一摇周边原理分析

上一篇:Jenkins+Gradle实现Android移动端自动打包+邮件发送通知


下一篇:【Vue源码相关】JS中call()和apply()以及bind()的区别