所需硬件设备:
(1)低功率蓝牙定位器若干(如:10个),网上有卖(单价从几十到几百都有)
(2)android设备一台,系统版本4.2以上(SDK版本大于17)
(3)iOS设备一台,支持蓝牙4.0 BLE
2.设置蓝牙定位器
移动设备扫描周边低功率蓝牙设备,可以获得蓝牙设备对应的Proximity UUID、Major、Minor等属性信息。而刚采购来的蓝牙设备属性可能都相同,互相区别不开,所以我们需要设置每台设备的属性。
设备厂商都会提供相关手机应用,共用户设置属性信息。给蓝牙设备装上电池,打开手机应用,靠近蓝牙设备就能发现,然后就可以设置其属性值了,其中:
UUID是一个32位的16进制数,表示设备厂商,该字段可以沿用出厂设置
Major表示不同区域(比如:某一楼层、某一地区),取值范围0到6万多
Minor表示不同的设备,取值范围0到6万多
样例:UUID = e2c56db5-dffb-48d2-b060-d0f5a71096e0, Major = 1001, Minor = 10001
每台设备设置完属性后准备一个标签,填上属性信息,贴到设备上,方便以后部署。
3.部署蓝牙设备
首先,准备目标场地地图数据,可以是基于经纬度坐标,也可以是简单图片坐标,看具体使用情况。
接下来,将蓝牙设备挨个部署到场地指定位置上,顺便记录每个设备地理坐标或图片坐标。
最后,得到一张表格信息,记录着每台蓝牙设备属性和位置信息。这张表就是整个定位系统的指纹库,为定位算法使用。
部署蓝牙设备还有一个关注点就是部署间隔。低功率蓝牙设备容易受场地、环境影响,比较不稳定,所以根据场地条件每隔几米或十几米部署一台蓝牙设备。间隔太大会影响定位精度,不过太密也是资源浪费,不是越密集定位精度越高。
4.客户端App开发
客户端app主要功能就是扫描周围蓝牙设备,将设备列表信息上传定位服务器,从而获得定位效果,并展现给终端用户。
4.1 Android应用开发
工程所需SDK版本大于17。
1. App所需权限(AndroidManifest.xml文件)
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
2. 创建beacon数据项类
public class IBeaconRecord {
public String address // 设备地址(Mac)
public String uuid // Proximity UUID
public int major // Major
public int minor // Minor
public int rssi // 场强
}
其中,address属性可以不要,因为iOS设备获取不到该属性!
基于蓝牙网关的室内定位应用是基于RSSI(Received Signal Strength Indication,信号场强指示)定位原理。一套完整的网络侧蓝牙定位系统是由终端显示设备、服务器、定位引擎、定位算法、云端数据传输、蓝牙网关、蓝牙标签(蓝牙手环、蓝牙工卡、蓝牙Beacon)组成。
当蓝牙网关扫描到工作在Beacon广播状态的蓝牙定位标签发出的广播信息(蓝牙设备信息,包括Mac地址、RSSI等信息),就将相关信息通过有线或无线的方式传输到服务器中,服务器接收到来自某个IP的蓝牙网关数据后,通过数据解析和计算,得出蓝牙定位标签的位置信息,并在终端显示设备上显示蓝牙定位标签的所在位置。
通过下载的定位算法和地图以及后台地图引擎数据库的交互,就可以在终端显示设备的地图上标记处当前位置,并且可以实现位置跟踪,轨迹回放,电子围栏等功能。
在需要定位的室内环境内布局蓝牙网关,至少要3个,蓝牙网关扫描蓝牙定位标签的广播数据包。蓝牙网关将蓝牙定位标签的信息和RSSI值传输给服务器,服务器通过计算可以得到蓝牙定位标签的坐标值。
布局思路如下:水平间距控制在6-8m,部署要尽量均匀,竖直高度控制在3m左右,最高4m。
适用场景:网络侧定位主要应用于人员定位跟踪,客流统计分析,智能考勤,门禁系统等。
蓝牙网关是一种集成了蓝牙通信模块和网络通讯模块(如以太网、无线局域网、4G蜂窝网络等)的网关设备,用于把蓝牙设备发送的信息收集起来,并上传到后台服务器。配合蓝牙手环,蓝牙手表,蓝牙工卡等定位标签,可满足米级精度的室内定位需求。
蓝牙定位基于RSSI(Received Signal Strength Indication,信号场强指示)定位原理。搭建方式很简单,借助蓝牙网关或者是蓝牙Beacon就可以实现。
蓝牙室内定位方案的实现必然是建立在蓝牙室内定位产品的基础上,主要定位硬件包括蓝牙网关、蓝牙Beacon、手环、手表等蓝牙标签以及智能手机、无线局域网及后端数据服务器等。根据定位端的不同,蓝牙定位方式分为网络侧定位和终端侧定位。
终端侧定位以蓝牙Beacon(VG01/VG02)主导,主要依托于蓝牙技术;网络侧定位以蓝牙网关(TD05/TD05A)为主导,集成了WiFi和蓝牙BLE两种无线通信方式;
蓝牙室内定位方案工作原理:
终端侧定位是蓝牙Beacon室内定位设备作为蓝牙信标不断的向周围广播信号和数据包。当终端设备进入Beacon设备信号覆盖的范围,测出其在不同信标(不同ID号的Beacon硬件设备)下的RSSI值,然后再通过手机内置的定位算法测算出具体位置(一般至少需要3个信标点的RSSI);
网络侧定位是蓝牙网关(TD03/TD05)里面的蓝牙模块收集蓝牙终端的蓝牙设备信息,包括Mac地址、RSSI等信息,通过UART串口发给蓝牙网关里面的WiFi模块,WiFi模块把信息传输到指定的UDP服务器,并能接收服务器返回的信息。UDP服务器接收到来自某个IP的蓝牙网关数据后,通过数据解析和计算,得到蓝牙信标的位置信息。希望能够帮助到您!
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)