自己动手 IBeacon 室内定位 完整体验(超详细过程)


iBeacon 是苹果公司推出的一项室内定位技术,通过软件和硬件的结合,从而大大提高室内精度,从原来的几百米,几十米,提高到一米以内的定位精度。有了这么高精度的定位能力,许多原来只能想一想的事情,现在可以做到了:当你走到某个商品前,手机应用自动跳出商品的介绍,让你的购物体验感,大大增强。下图是一个典型的应用场景:    

  

Estimote算是国外最早开始研究和推广iBeacon技术的厂商,并且成功的获得了一大笔的风险投资,目前来说在业界做的也算是比较成熟好用的。提供了从iBeacon产品,软件SDK,移动端APP一整套完整的解决方案。    



今天我们用原创的BLEduino+ZBModule,也实现了整套iBeacon的功能,废话少说发一个试验过程给大家看看:

首先介绍一下BLEduino,它是科尔原创的将Arduino和BLE技术结合开源编程硬件,

Arduino Leonardo为设计原型,结合了BLE的扩展坞,可以方便的配合Arduino进行通讯。

下图是已经插上ZBModule蓝牙4.0模块的BLEduino全貌:    


 

实操过程:

 

1.       BLEduino底板烧录程序:

由于Arduino本身只是一个可以编程的基础平台,你可以按照你自己的想法,设计你想要的效果。这里科尔已经写好了程序,同志们只需要烧录即可:

(考虑到很多同志可能并不了解Arduino,在此多啰嗦几句,把整个过程写下来)

 打开ArduinoIDE,针对BLEduino,进行IDE设置(没有IDE的去arduino.cc自行下载):



按照图中所显示,选中IDE对应的板卡型号,这部很重要,否则代码无法编译,或者无法运行。



 选择串口,一般情况下对于笔记本来说本身是没有串口的,插入BLEduino后在设备管理器中可以看到对应的串口,将他选中即可记得先插上板子,再打开IDE,否则找不到串口)

接下来复制粘贴代码:



 依次点击红框中的2个按钮,等到程序下载完成状态栏的底部会显示


2. 设置iBeacon

当把程序烧录到BLEduino之后,即可通过ZBWorkBench来对蓝牙4.0模块进行设置。

如发射信号强度,时间间隔,模块名称等等:


如下图可以看出,通过图形界面,蓝牙常用的设置项都可以直接配置。

设置完基本属性后,就是设置iBeacon了:



iBeacon 模块默认为打开,UUID,MajorID,MinorID默认为0,可以自行设置。此处我们就姑且用默认的吧。

设置好了这些,设备端的工作,就已经全部完成了,接下来就是iOS软件的工作了。

 

3.iOS软件设置:

打开iBeacon软件:


点击iBeacon Transmitter,进行iBeacon数据基站的设置:



点击“+”增加新的设备



到此iBeacon已经设置完毕。现在BLEduino已经可以和iOS设备通讯了!


退回主页,点击Locate iBeacon开始搜索周围的iBeacon设备:



搜到了一个设备,点击进入:



可以看到,设备的信号强度,UUID等信息。

点击Distance即可进入测距模式:



iOS设备挪近点:



实验结果:

经过这个实验,发现iBeacon还是很好用的,反应很灵敏,定位也相对来说算是比较准确啦,

但是有一个小问题,iBeacon实际测距精度,与设备摆放有一定的关系,如果你硬要把iBeacon设备放到犄角旮旯里面,请对iBeacon进行定位精度校准。否则他测出来的距离不是那么准确。原则上部署的每一个iBeacon定位基站,都是需要进行信号校准的,此过程本身也很快,所以要达到良好的使用体验,请还是做一下校准吧。


另外:

目前安卓4.3系统也开始支持BLE,Google中也有许多IBeacon的应用下载,经测试在安卓下IBeacon同样适用,但是安卓比较挑手机,主流三星,HTC,没啥问题,其他的就只有自己去测试了。祝君好运

 

如果对IBeacon感兴趣的同志们,也可以去淘宝搜索关键字 “极客科尔”找到相应的宝贝,买回去玩玩。


蓝牙4.0技术qq交流群:228014986

技术咨询,工程定制开发:gzble$qq.com (请将$换成@)


From: http://blog.csdn.net/u011341435/article/details/18948137


没有更多推荐了,返回首页