基于Beacon与微信的室内定位导航系统的研究
扫描二维码
随时随地手机看文章
引 言
近年来,随着情景感知和环境智能应用的发展,人们在生活中对定位的需求越来越迫切。基于位置服务(LBS)的研究与应用在国内外掀起了热潮。根据定位环境的不同,定位可分为室外定位和室内定位。室外定位主要采用两种方式,即基于人造卫星的定位与基于移动运营网络的基站的定位。室外定位技术已非常成熟。由于人造卫星 GPS 定位系统在室内环境或高层建筑密集的地区无法侦测到卫星信号,故无法满足人们对室内定位的要求。相较室外定位技术,室内定位的发展还处在初始阶段。但随着人民生活水平的提高,机动车数量迅速增长,越来越多的大型停车场相继建立,停车场的结构也越来越复杂。由于停车场空间大、环境及标志物类似、方向不易辨别等原因,用户在停车场易迷失方向,既不易寻找车位返回时也不易寻找车辆。鉴于此,本文提出了基于Beacon 技术和微信相结合的室内定位导航系统,其主要功能包括空余停车位查询、车位精准导航、停车场内导航及反向寻车等
目前智能停车场大多实现了出入口车辆识别和停车缴费的智能化,但车位引导大多靠人工完成。基于室内定位实现移动终端的导航停车应用系统相对较少。常见的室内无线定位技术主要包括室内 GPS 定位技术、红外线室内定位技术、蓝牙技术、射频识别技术、WiFi 技术、ZigBee 技术[1]。受定位精度、定位成本和室内环境复杂性的限制,各种室内定位技术有各自不同的应用场景。Beacon 技术和WiFi 技术更适合对用户设备位置的感知,用户利用智能手机可实现位置的感知WiFi室内定位技术最大的问题在于无线信号受环境的影响较大,楼层之间的信号干扰较大,一旦环境发生变化,WiFi 定位算法所采用的指纹算法需要重新调整,工作量较大 [2]。早期的蓝牙室内定位技术最大的优点是设备体积小、易于集成在PDA,PC 以及手机中,但最大的不足是蓝牙器件和设备的价格较高,且功耗大。蓝牙技术 4.0 标准支持新蓝牙低功耗连接,Beacon 设备成本低,且此设备仅凭一颗纽扣电池供电就能运行数年。因此 Beacon 技术因其部署简单、成本低、定位精度高等特性,为停车场内定位服务提供了可能
1 基于Beacon与微信相结合的室内定位模式
1.1 Beacon 技术原理
Beacon 利用低功耗蓝牙技术向周围发送自己的广播数据,所有接收范围内支持低功耗蓝牙的设备均可收到信息Beacon 协议的广播数据结构如图 1 所示 [3]
UUID 是唯一的标识符,用128 bit 表示,应用程序通过UUID 判断此 Beacon 设备是否合法,是否推送消息。Major 是一组相关的Beacon 设备的主设备号,占用16 bit,通过该字段应用程序可知道感知者属于哪一个特点的组,Minor 为每个 Beacon 的次设备号,占用16 bit。通过Major 和 Minor 的组合,应用程序可大致感知用户的位置。Transmitter Power 是Beacon 发射模块与接收器距离 1 m 时参考接收信号的强度占用 8 bit。通过接收强度距离估计算法,可计算出 Beacon 设备与感知用户的距离,实现用户定位。支持低功耗蓝牙技术的终端设备包括 iPhone 4s 及以上苹果设备,安卓 4.3 及以上设备等[4]。目前大多智能手机都支持蓝牙 4.0 标准。这为智能手机作为室内定位导航系统的终端接收设备提供了可行性
1.2 微 信
根据腾讯公司发布的统计数据,截至 2017 年 12 月微信全球共计 8.89 亿活动用户,新兴的公众号平台有 1 000 万个微信在我国移动应用市场上具有越来越高的市场占有率。微信公众平台是腾讯公司 2012 年 8 月在微信的基础上构建的自媒体平台,通过这一平台,机构和个人都可通过公众账号的形式向订阅用户推送信息及提供交互服务。微信为公众号使用者提供了众多开发接口,接口中有 H5 页面,H5 页面制作简捷,可通过微信 JS-SDK 获取周边设备信息接口,微信 JS-SDK 是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。通过使用微信 JS-SDK,网页开发者可借助微信 APP 高效使用拍照、选图、语音、位置等手机功能,同时可以直接使用微信分享、扫一扫等微信特有的能力,为微信用户提供更优质的网页体验。这些都为采用第三方微信 APP 实现室内定位导航系统人机交互提供了可能
对于Beacon 设备在市场上已有不少成熟的产品,微信开通的摇周边功能插件 [5] 介绍了很多与微信相配合使用的Beacon 设备,这些设备价格低廉,安装方便。同时还提供了设备的详细配置说明和开发接口介绍。使用微信 APP 来采集Beacon 信号,实现对停车场的智能化管理,节省了APP 开发成本。以微信浏览器为前端开发展示平台,克服了不同浏览器的兼容问题,同时也避免在 Android,iOS 不同手机操作系统下操作产生的不一致性
1.3 室内定位导航系统前期准备阶段
(1) 停车场经营人员需申请微信公众号,并向腾讯申请获取微信公众平台的开发权限
(2) 绘制出停车场的平面结构图,构造室内定位算法模型根据室内环境和障碍物的分布,依据定位精度级别进行室内算法模型的训练。根据Beacon技术资料反馈,在理想环境下利用 Beacon基站发射信号,移动终端接收信号并反馈信息实现定位,精度可达厘米级 [6]。对于文中室内定位导航系统定位精度可设置为 3~5m。根据定位精度确定某一停车场的室内定位算法模型,确定需要安装蓝牙设备的数目及安装位置
(3) 安装Beacon设备后,通过公众平台添加设备,每添加一个设备即生成一组设备号。微信后台会将设备号与真实的设备建立一一映射关系,完成 Beacon设备和微信公众号绑定的操作。打开手机蓝牙,进入微信摇一摇界面,出现“周边即代表手机微信能收到此 Beacon设备广播的信息
2 系统设计
2.1 系统功能设计
此系统包括公众号后台管理系统、Beacon 技术定位系统、拍照上传系统、数据分析系统。具体系统功能如图 2 所示
Beacon 技术定位系统通过构造定位模型,采用三点定位法 [7] 或根据 RSSI 信号强度选用 K 近邻算法[8],实现移动终端用户的定位。拍照上传子系统检测车位是否有车辆,若有车辆停放则拍照上传图像。数据分析子系统主要根据移动端用户位置信息完成目的路径规划,并生成应用地图,完成停车场内的导航。根据上传的车辆图片完成车牌识别,建立车牌和车位映射关系。根据映射信息统计停车场空余车位的信息。数据分析子系统功能主要在云服务器端完成
2.2 系统硬件部署
基于Beacon 与微信结合的停车场智能导航系统硬件包括若干Beacon 设备、移动终端设备(智能手机和 PAD)、智能拍照设备,云服务器。其中 Beacon 设备是整个系统的核心应用程序通过微信接口请求蓝牙信号时,每隔一秒请求一次距离信息,直到距离数据稳定后再调用停止定位接口,并通过PHP 将数据发送至云服务器。拍照上传子系统应包括感应装置和摄像头,由应用程序对其进行设置,车辆进入车位,感应装置触发摄像头拍照并上传至云服务器。通过调整摄像头角度完成车位的覆盖。为保证拍照上传子系统的稳定性,这部分大多采用有线传输。云服务器可租用百度云、阿里云或腾讯云,他们能提供良好的 PaaS 服务,且无需专人维护
2.3 系统的操作流程
系统操作流程如图 3 所示。使用系统的前提条件是用户需关注停车场公众号,并打开手机蓝牙
3 结 语
本系统能较好地解决当今社会面临的用户停车难、车位使用率却不高的问题,帮助用户在停车场实现空余车位精准导航以及提供反向寻车服务。本系统采用第三方微信 APP 完成信息交互,减少了用户下载安装 APP 的麻烦,同时节省了软件的开发成本。本系统的室内导航地图生成仅依据平面结构图完成基本路径导航,若地图导航完善为三维实景,可为用户带来更好的体验。但系统在实际建设过程中也存在定位精度如实时性、信息安全性两方面问题
(1) 定位精度和定位实时性的问题对于非精准感知位置服务(本系统室内定位精度< 5 m
即能满足用户需求),定位实时性要求不高(重点区域达到定位精度即可,比如停车入口处,用户返回时寻车入口属于重点区域),定位算法相对简单。可以适量减少 Beacon 设备数量若要精准定位(达到 1 m 之内),同时实现室内的定位实时性,则需加大 Beacon 设备数量的部署密度,但存在信号间干扰问题,需采用更复杂的定位算法。现今大型室内停车场有的为多层结构,地理环境复杂,为达到精度要求需构造更复杂的定位算法模型,反复测试完善模型。
(2)信息的安全性问题
由于 Beacon 协议开放,其通信存在一定的安全隐患,任何人都可伪造相同 ID 的 Beacon 基站与应用程序交互。因此保障通信安全尤为重要。
本系统采用微信 APP 完成信息交互,具有一定程度的局限性。可开发专用 APP 来完成室内定位导航系统客户端的应用软件。目前本系统只实现了某停车场的智能导航。随着“互联网 +”技术的广泛应用,智慧城市、智慧交通已走进我们的生活,如果集中管理整个城市的公共停车位,且各停车场的内部结构图可如百度地图般可视化,则我们可通过 APP 随时定位查询各停车场的信息,并实现指定停车位的精准导航。但此举会涉及物管权及建筑内部结构信息能否公开的问题。随着我国法制化建设越来越完善,这些问题一定会得到妥善解决,为智能停车场的建立营造良好的环境。