基于微信与iBeacon的图书馆室内定位的研究与实现_陈晨
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
图书馆室内定位技术应用现状及不足
图书馆定位系统是指通过技术手段在图书馆内形
台的图书馆二维码定位系统, 充分利用微信的传播普 但是基于二维码定位 及使用率以带动更多读者使用, 的不足之处在于系统需要提前建立定位点数据
[4 ]
成一套地理定位体系, 实现对读者和实体信息资源位 置的监控, 进而引导读者获取所需馆藏的信息系统 。 在图书馆高效管理中常见的室内定位技术应用包括图 指引座位分配 、 馆内向导服务 、 图书推荐以及 书索取、 读者的监测统计
[3 ]
楼层之间的信号干扰也较大, 采用 Wi-Fi 影响比较大, 进行室内定位的精确度大约在 1 - 20 米的范围内, 无 法满足实际需要 。
2
2. 1
基于微信与 iBeacon 的图书馆室内
可行性分析 截至 2015 年 6 月 30 日, 微信和 Wechat 合并月活
[6 ]
定位运作模式
跃用户数已达 6 亿, 同比大涨 37%
介绍了绝
价格低廉, 可 大多数与微信配合使用的 iBeacon 设备, 广泛布局, 并提供了详细的配置说明和开发接口说明 。 因此, 使 用 微 信 作 为 第 三 方 APP 来 采 集 蓝 牙 信 对图书馆室内定位服务的广泛推广与普及起到十 号, 分重要的作用, 而且能够友好 、 有效地搭建了读者和图 书馆之间的桥梁, 节省开发成本 。 以微信浏览器为前 端开发展示平台, 既克服了不同浏览器的兼容问题, 同 Ios 等不同手机系统下操作产 时也避免了在 Android、 生的不一致性 。 2. 2 室内定位服务准备阶段 在准备阶段, 主要包括获取微信公众平台的开发 权限, 设计室内等比例平面图, 配置并绑定 iBeacon 蓝 牙设备。其具体流程如图 1 所示:
图4 室内定位算法模型
在已知这 3 个设备的距离的前提下, 通过解二元 二次方程即可计算出读者在一个矩形平面图中的 坐 标。如图 3 所示, 假设读者与设备 A 的距离为 x, 与设 备 B 的距离为 y, 与设备 C 的距离为 z, 需要解出宽和 长。室内宽为 w, 长为 h , 设计如下二元二次方程( 单位 米) :
该工具包中包括 开发者的一个客户端开发的工具包, 自定义分享功能 、 语音图片上传等功能, 且处于不断更 新中, 十分有利于开发者进行创新开发 。 在微信内置 可使用该 JS 代码调起查找商 浏览器中被访问的网页, 家自己周边的设备的功能, 由于本文所使用的“H5 页 是微信公众平台于 2015 年 面获取周边设备信息接口 ” 9 月 16 日开放的, 因此需要注意的是, 在 HTML5 中需 要从 http: / / res. wx. qq. com / open / js / jweixin -1. 1. 0. js 引入最新版本的 JS SDK。 3. 1. 2 设计室内定位算法 由于蓝牙设备与微信配 合使用时能精确返回手机客户端距离每个设备的距 因此基于这个距离可以设计一个模型计算出读者 离, 所在的位置 。以其中一个设备为例, 读者与它的距离 形成的轨迹为一个以设备为圆心 、 以距离为半径的圆, 基于此理论, 以 3 个设备所在的位置为圆心绘制 3 个 圆, 手机客户端距离 3 个设备的距离保持动态变化, 这 3 个圆的交点即为手机同时距离 3 个设备的距离, 如
第 60 卷 第 1 期 2016 年 1 月
基于微信与 iBeacon 的图书馆室内定位的研究与实现
■ 陈晨 北京市委党校图书馆 北京 100044 摘要: [ 目的 / 意义] 旨在实现图书馆室内精确定位 , 指引读者更快找到所需资源 , 提升图书馆服务效率 。 [ 方法 / 过程] 以微信公众平台为依托 , 结合蓝牙硬件设备 iBeacon 及 HTML5 页面 , 实现北京市委党校图书馆室 内定位系统的设计与开发 。[ 结果 / 结论] 读者通过使用室内定位服务可更好地寻找到周边的优质图书资源 , 并 且对图书馆的楼层布局有一个更全面的了解 ; 基于蓝牙设备的图书馆室内定位成本低 、 准确度高 , 读者更有意 愿主动通过它去了解图书馆的相关资源 。 关键词 : 图书馆 分类号 : G250 DOI: 10. 13266 / j. issn. 0252 - 3116. 2016. 01. 005 微信 蓝牙 室内定位 iBeacon
[1 ]
, 读
者需要靠近二维码进行扫描才能知道当前所处位置, 因此无法实现读者的实时定位 。郧阳师范高等专科学 FI 室内定位技术在移动图书 校图书馆探究了基于 WI馆中的应用
[5 ]
, 而常见的室内无线定位技术主要
[2 ]
, 其最大的问题在于无线信号受环境的
红外线室内定位技术 、 蓝牙技 包括室内 GPS 定位技术 、 WiFi 技术 、 ZigBee 技术 术、 射频识别技术 、 。 通过检 索中国知网期刊全文数据库发现, 当前, 图书情报界对 图书馆室内定位技术的研究与应用主要集中于 Wi-Fi RFID 技术和二维码技术, 技术、 早期蓝牙室内定位技 PC 以及手 术的优点是设备体积小 、 易于集成在 PDA、 但是其最大的不足是蓝牙器件和设备的价格比 机中, 因此在图书馆内很难推广普及 。 较昂贵, 随着蓝牙 4. 0 标准的引入, 该标准支持新蓝牙低 功耗连接, 采用蓝牙低功耗技术的设备可以仅凭一款 纽扣就运行数年, 而且智能手机在苹果 iPhone5s 和三 星 Galley Note3 发 布 的 时 候 就 已 经 开 始 支 持 BLE ( bluetooth low energy, 低功耗蓝牙) , 因此使用该蓝牙 设备大大降低了固定成本 。武汉大学计算机学院开发 了基于 iBeacon 定位技术的智慧图书馆, 该系统规模较 大, 采用第三方读者终端采集蓝牙信号, 开发成本大, 推广途径少
。福建师范大学开发的基于微信公众平
Email: 452311791@qq. com。 作者简介: 陈晨( OCRID: 0000 - 0003 - 3413 - 4739 ) , 中级工程师, 馆员, 收稿日期: 2015 - 11 - 19 修回日期: 2015 - 12 - 15 44 本文起止页码: 32 - 36 , 本文责任编辑: 刘远颖
[7 ]
在对应的一个设备上, 打开手机蓝牙, 进入微信摇一 “周边 ” 摇, 出现 即代表手机微信能收到 iBeacon 广播 这样即完成了一个 iBeacon 设备绑定到微 的蓝牙信号, 信公众号的操作 。 2. 2. 3 设计室内等比例平面图 室内定位服务最终 提供给读者的是读者所在楼层的平面图以及用户在该 平面图中的位置 。 因此, 需要将楼层平面布局等比例 设计并绘制成一张图片, 将实景中的书柜 、 自习桌椅等 最后将定位的点图与平面图 实物绘制在二维图片中, 合并形成完整的定位图片 。 2. 3 室内定位应用阶段流程 在该阶段中, 将微信公众平台的定位服务接口绑 定在 HTML5 页面中, 当读者通过微信以不同方式进入 该 HTML5 页面时, 该页面调用定位服务的接口并生成 定位图片返回给读者, 并在图片中展示读者周边的图 书馆数据资源 。具体流程如图 2 所示:
< script type =“text / javascript ”src =“__PUBLIC__ / js / jweixin1. 0. 0. js”> < / script > wx. config( { debug: false, appId: ' { $ app_id} ' ,/ / 必填, 公众号的唯一标识 timestamp: ' { $ timestamp } ' ,/ / 必填, 生成签名的时 间戳
2. 2. 1
获取微信公众平台的开发权限
wenku.baidu.com
图书馆应该在微信公众平台开设公众账号, 微信公众 服务号 、 企业号, 其中, 微信摇周边是微 号分为订阅号 、 信公众平台面向已认证公众号提供的功能插件之一, 本文使用的微信公众号是北京市委党校图书馆微信公 该公众号已经通过认证, 并具备微信接口的 众服务号, 调用权限 。 2. 2. 2 配置并绑定 iBeacon 蓝牙设备 开发的权限后, 需 要 准 备 iBeacon 蓝 牙 设 备 。 iBeacon Major、 Minor 3 个设备号[8], 主要配置 UUID、 根据平面 布局分析 iBeacon 所需数量 。 通过微信公众平台添加 设备, 每添加一个设备即生成一组设备号 。 通过 iBeacon 设备供应商提供的 APP 将微信提供的设备号绑定
根 据 上 述 方 程, 即 可 计 算 出 width ( 宽) 与 height ( 长) , 从而实现在等比例地图中添加定位点图标 。 3. 1. 3 调用微信定位接口 根据以上接口及定位理 论模型, 将其表现在程序中 。 微信接口在请求蓝牙信 值得注意的是, 在请求定 号时每隔一秒请求一次距离, 位开始时距离数据会有较大偏差, 容易导致定位失败, 因此需要在程序中加以判断 。当数据异常导致定位点 不在室内时, 将再次请求定位接口, 直到数据稳定时再 调用停止定位接口, 并通过 PHP 将数据传向服务端 。 为保证用户体验的友好性, 当系统请求的定位数据达 到 10 次且仍然没有有效数据时, 系统将提示定位超时 并请求重新定位, 以确保用户在定位界面一直等待下 去。具体流程如下: 加载微信 JS SDK 定位接口, 代码如下:
32
J] . 图书情报工作, 2016 , 60 ( 1 ) : 32 - 36 , 44. 陈晨. 基于微信与 iBeacon 的图书馆室内定位的研究与实现[
值得注意的是, 这些接口中包括 HTML5 页面, 通过微 信 JS SDK 获取周边设备信息接口 。 这为本文实现室 内定位提供了技术可能 。 iBeacon 设备在市场上已经有不少 蓝牙设备方面, 成熟的产品, 微信开通的摇周边功能插件
图3
等比例室内模拟地图
{
( h - width) 2 + height2 = y2 ( w - height ) 2 + width2 = z2 width2 + height2 = x2
3
3. 1 3. 1. 1
定位服务实现的关键问题
HTML5 与微信定位接口绑定 引入微信 JS SDK 微信 JS SDK 是微信提供给
图2
系统应用阶段流程
2. 3. 1
图1 系统准备阶段流程
创建 HTML5 页面定位入口
当读者进入微信
公众号时, 微信将提供多种室内定位入口给读者, 主要 系统开发前, 包括以下 3 种: ① 自定义菜单读者从微信公众号的菜 单中直接点击进入定位页面; ② 在读者打开蓝牙的前 提下, 读者使用微信“摇一摇 ” 的周边选项卡, 将能摇 出室内定位页面; ③朋友圈将 HTML5 页面绑定微信自 定义分享功能, 读者可以从朋友圈中获取进入服务的 页面 。 2. 3. 2 获取微信接口 标识 iBeacon 蓝牙设备 在 HTML5 页面的微 信接口查找蓝牙信号前, 需要对蓝牙设备进行标识以 识别每个定位的距离所对应的定位点 。 本文通过三点 定位法来计算定位点, 因此将蓝牙设备按照 Minor 设 iBeacon-B 、 iBeacon-C , 备号分别标识为 iBeacon-A、 分别 对应室内的 3 个角以及平面图内的左上角 、 右上角 、 右 下角, 如表 1 所示:
33
第 60 卷 第 1 期 2016 年 1 月
表1
标识 ID - Minor 18222 1909 1847
标识 iBeacon 蓝牙设备
别名 iBeaconA iBeaconB iBeaconC 位置 左上角 右上角 左下角
图 4 所示:
2. 3. 3
绘制等比例室内地图
在划分 iBeacon 设备安
, 微信在我国移动
应用市场上具有越来越高的市场占有率 。 市场研究公 司 On device 于 2013 年 11 月发布调查显示, 微信在中 国智能手机用户中的市场渗透率高达 93% 。 微信公 众平台 ( https: / / mp. weixin. qq. com / ) 是 腾 讯 公 司 于 2012 年 8 月在微信的基础上构建的自媒体平台, 通过 机构与个人可以以公众账号的形式向订阅 这一平台, 用户推送信息及提供交互服务, 不仅如此, 微信公众平 台为公众账号维护者提供了众多公众平台开发接口 。
需要等比例输入平面地图中, 经实地测 置的位置之后, 量, 室内测试用的房间的长( height ) 为 8 米, 宽( width ) 为 5 米, 因此将平面图设置为 800 × 500 像素, 并在图 通过该图计算读 中标识出相应的 iBeacon 设备 。之后, 者的定位数据 。如图 3 所示: