蓝牙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一般取经验值。
实际的算法编程是:
二、定位原理
其实这个原理很简单,小学的知识:两边长可以确定第三个点。
A和B是两个已知经纬度的坐标点,待测点计算出跟A和B的距离,自然就可以确定自身的坐标点。具体的算法就自行研究去吧。
三、苹果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字节。格式如下:
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室内定位原理解析【转】
目前,技术发展持续火热,因着iBeacon的定位精度和造价都比较符合国内室内定位的市场需求,下面我们来聊一聊iBeacon室内定位原理. iBeacon定位原理 iBeacon是一项低耗能蓝牙技术,工 ...
- 解答室内定位技术新方向:蓝牙AoA定位,值得了解 ——概念了解
转载搜狐 室内定位一直被炒的非常火的黑科技,也是近年资本追逐的热点,市场上一直有众多宣称可以做到厘米级,米级精度定位的公司,但问题很多,无法大规模商用.近些年有很多人尝试使用蓝牙beacon方式做定位 ...
- C#开发微信门户及应用(28)--微信“摇一摇·周边”功能的使用和接口的实现
”摇一摇周边“是微信提供的一种新的基于位置的连接方式.用户通过“摇一摇”的“周边”页卡,可以与线下商户进行互动,获得商户提供的个性化的服务.微信4月份有一个赠送摇一摇设备的活动,我们有幸获得赠送资格, ...
- [蓝牙前沿应用] 照明即平台 —— 通过蓝牙增强服务提高照明投资回报率(蓝牙MESH、定位AoA、AoD)
1.照明即平台(LAAP) 随着照明设施向LED转型,他们也在利用类似于蓝牙MESH的技术,创建一个可连接的照明平台,作为他们建筑的中枢神经系统.这些系统除了提供先进的照明控制,还建立了一个增强版 ...
- 微信“摇一摇·周边”正式开放
今日,在微信公开课第三季长沙站现场,微信团队宣布“摇一摇·周边”(以下简称“摇周边”)正式对外开放.拥有微信认证的公众帐号商户,均可通过摇周边的商户申请平台(https://zb.weixin.qq. ...
- webgl(three.js)实现室内定位,楼宇bim、实时定位三维可视化解决方案
(写在前面,谈谈物联网展会)上次深圳会展中心举行物联网展会,到了展会一看,80%以上的物联网应用都是在搞RFID,室内定位,我一度怀疑物联网落地方案的方向局限性与市场导向,后来多方面了解才明白,展会上 ...
- 室内定位系列(一)——WiFi位置指纹(译)
原文:<Advanced Location-Based Technologies and Services>--chapter 2 WiFi Location Fingerprint 作者 ...
- H5地理位置信息、微信摇一摇
geolocation window.navigator.geolocation 1.getCurrentPosition() // 获取当前的位置信息 2.watchPosition() // 监视 ...
- 【机器学习】WIFI室内定位
WIFI室内定位-指纹法 在A1区域内每个点上采集四个WiFi的信号数据(信号强度),五点.九点.十六点采样. 5*5=25区域*16数据=400样本,用来训练 样本数 R B G1 G2 1 2 ...
随机推荐
- css3 keyframes在yuicompressor下压缩问题
@keyframes proBackAction { 0% { opacity:; } 100% { opacity: .8; } } @keyframes proBackAction { 0{ op ...
- 数据可视化(3)--Google Charts
Google Chart API 是谷歌提供的一项动态生成图表的服务.你可以随时自定义图表,以适应网站的外观和感觉.图表使用HTML5/SVG技术提供给iPhone手机, iPad和Android的跨 ...
- 数据可视化(2)--Justgage
JustGage 是一个 JavaScript 插件来生成很漂亮的仪表盘,基于 Raphaël 库做向量图绘制. JustGage 完全基于 SVG,因此支持几乎所有浏览器,包括:IE6+, Chro ...
- [Design Patterns] 3. Software Pattern Overview
When you're on the way which is unknown and dangerous, just follow your mind and steer the boat. 软件模 ...
- Screensiz.es – 最流行移动设备及显示器的屏幕规格大全
Screensiz.es 帮助您快速找到目前市场上最流行的设备和显示器的屏幕规格.尺寸数据来自维基百科,使用更好理解的像素密度.流行度推算自 Google 查询(从 AdWords 流量估算),以及一 ...
- Android Logcat 封装类
简单日志封装类: public final class CLog { public static final boolean DEBUG = true; private CLog() { } publ ...
- Python装饰器由浅入深
装饰器的功能在很多语言中都有,名字也不尽相同,其实它体现的是一种设计模式,强调的是开放封闭原则,更多的用于后期功能升级而不是编写新的代码.装饰器不光能装饰函数,也能装饰其他的对象,比如类,但通常,我们 ...
- js-条件语句、循环语句
一. 常见条件语句 if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码 if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码 if... ...
- Spring应用——事务管理
事务基础:请参看:http://www.cnblogs.com/solverpeng/p/5720306.html 一.Spring 事务管理 1.前提:事务管理器 在使用 Spring 声明式事务管 ...
- 0527Sprint总结,读书笔记与提问
第八章主要软件团队如何准确全面的找到人们对于软件五花八门的需求,主要有以下几个步骤: 1.获取和引导需求 2.分析和定义需求 3.验证需求 4.在软件产品的生命周期中管理需求 . 接下来讲了软件产品的 ...