基于iBeacon技术的微信“摇一摇”考勤系统的实现
2016-11-14郭玲
郭 玲
(深圳职业技术学院 计算机工程学院,广东 深圳 518055)
基于iBeacon技术的微信“摇一摇”考勤系统的实现
郭 玲
(深圳职业技术学院 计算机工程学院,广东 深圳 518055)
介绍了一种结合移动互联网技术和智能手机应用实现的创新型考勤系统.系统采用iBeacon设备进行员工定位,使用微信“摇一摇”记录考勤行为,并推送考勤信息到后台处理程序,完成数据存储及数据分析统计.系统具有精确、高效、低成本和部署方便的特点.
考勤;移动互联网;iBeacon技术;微信“摇一摇”
随着移动互联网的迅猛发展以及智能手机的普及,各种新型的移动考勤系统不断出现并得以推广应用,主要包括各种手机客户端考勤APP软件.移动考勤系统是一种利用手机定位机制、位置服务、移动通讯网络和互联网构建的一种新型的考勤系统[1].这些新一代基于移动互联网的考勤系统从考勤形态、形式上突破了传统打卡机、指纹机等固定设备的应用束缚, 不受考勤地点、考勤时间的限制,具有低成本、便捷、高效、规范的优势.目前大部分基于移动互联网的考勤系统是利用手机GPS定位来确定员工的位置,该方案的不足之处在于,用户可以安装相关GPS位置模拟器软件,将手机的GPS信号模拟到任意地点,导致虚假考勤.另外,使用该考勤系统的用户必须在手机上安装专门的APP考勤软件,需要一定的软件部署和维护成本.我们研发的这一微信“摇一摇”考勤系统,基于iBeacon技术定位,员工手机启用蓝牙,在指定范围内使用微信“摇一摇”,即可轻松实现考勤签到.
1 系统设计
1.1 iBeacon技术
iBeacon是苹果公司在2013年9月推出的一项低耗能蓝牙(BLE)技术.其工作方式是iBeacon设备使用BLE技术向周围发送自己特有的信号,移动设备操作系统定位接收并解释,向等待iBeacon信号的所有应用软件APP反馈信号,发送UUID、Major、Minor.接收信号的APP先确认UUID,如果确认是发送给自己的信号,则再根据Major、Minor的组合进行处理[2].目前iOS7以上及Android4.0以上操作系统的手机均支持该技术,根据这项新的定位技术可以做出许多技术应用[3].
本系统采用iBeacon设备进行员工定位,确认员工位置,通过微信记录考勤信息,包括员工微信账号唯一标识(OpenID)、员工当前位置、考勤时间等,并将考勤记录传送给应用服务器做进一步的统计分析及考勤处理.
1.2 系统架构
系统架构设计如图1所示.
在指定的考勤地点(如:办公室)内放置iBeacon设备,用户到达该区域范围后,打开手机的蓝牙,进入手机微信,使用“发现”—“摇一摇周边”,摇一摇手机,微信即会接收到iBeacon发射的信号,包括UUID、Major、Minor,微信一旦接收到该信号,便将接收到的设备标识信息和员工的微信账号标识信息,推送到该iBeacon设备绑定的微信公众号后台,微信公众号后台程序记录该用户的考勤记录,并将其发送到应用服务器进一步处理.
图1 “摇一摇”考勤系统架构设计图
2 系统实现
2.1 系统初始化配置
首先在微信公众平台对系统做系列初始化设置,然后配置iBeacon设备的标识参数,步骤如图2所示.配置完成后,iBeacon设备即启用,用户手机可以接收和反馈iBeacon设备发射的信号.
2.1.1 申请微信公众号
整个系统的实现基于iBeacon设备和微信公众平台,两者需要在信息上进行联接互通,以微信公众号作为其绑定的依据和标识,首先在微信公众平台申请一个微信公众号.
图2 系统初始化配置步骤
微信公众平台简称WeChat,是腾讯公司在微信的基础上打造的给个人、企业和组织提供业务服务与用户管理能力的全新服务平台[4].通过这一平台,个人和企业都可以申请一个微信的公众服务号,在此基础上进行二次开发来实现各种全新的个性化的应用服务.如商家微官网、微支付、微活动、微报名等,实现和特定用户群体的文字、图片、语音的全方位信息沟通、互动.微信公众平台从2012年08月23日正式上线以来,各种应用和功能不断被开发推出,层出不穷.我们开发的这一微信“摇一摇”考勤系统提供了一种全新的考勤模式.
2.1.2 开通“摇一摇周边”权限
系统中员工采用微信“摇一摇”的方式作为签到的动作,我们申请的微信公众号需要开通这一权限.使用微信公众平台提供的“申请开通功能”接口,申请开通“摇一摇周边”权限,申请请求成功提交后,平台会在3个工作日内完成审核.提交的参数包括以下内容:
http请求方式: POST(使用https协议)
https://api.weixin.qq.com/shakearound/account/re gister?access_token=ACCESS_TOKEN
POST数据格式:json
POST数据例子:略
POST的参数包括:调用接口凭证、联系人姓名、联系人电话、联系人邮箱、平台定义的行业代号、相关资质文件的图片url、申请理由等.
调用正常时返回JSON包如下:
{"data":{ }, "errcode": 0, "errmsg": "success."}
2.1.3 申请设备ID
员工在摇动手机的时候,如果手机接收到了iBeacon设备的发射信号,微信必须识别该信号是否来自于系统指定的考勤用iBeacon,通过读取信号中的“UUID、Major、Minor”标识进行检测.我们向微信平台申请设备ID,作为微信认可的考勤设备ID,将系统的微信公众号与考勤用iBeacon设备进行绑定.使用微信公众平台提供的“申请设备ID”接口发出以下申请:
http请求方式:POST(使用https协议)
https://api.weixin.qq.com/shakearound/device/ applyid?access_token=ACCESS_TOKEN
POST数据格式:json
POST数据例子:
{ "quantity":3,
"apply_reason":"测试",
"comment":"测试专用",
"poi_id":1234
}
成功调用后,系统会返回本次申请的批次ID(apply_id).使用“查询设备ID申请审核状态”接口根据apply_id可以查询该次申请是否通过.查询到申请成功后,使用“查询设备列表”接口根据该apply_id查询本批次申请的所有设备ID及相关设备信息,里面包含关键信息:device_id、UUID、Major、Minor,将这4个数据保留下来备用.
2.1.4 配置iBeacon设备
iBeacon设备需要自行配置三个标识参数:UUID、Major、Minor,使用通用配置工具LightBlue对iBeacon设备进行配置,其参数与微信平台中申请的设备ID必须一致.iBeacon设备配置完成后即启用,将会不断地向外发送信号,信号内容包括UUID、Major、Minor参数.
2.2 考勤信息接收与推送
用户使用微信“摇一摇”实现考勤签到,图3为系统考勤信息的接收与推送流程.
2.2.1 iBeacon设备信号接收
在iBeacon信号发射区域范围内,用户打开微信,使用“摇一摇”,微信将检测到该iBeacon设备,并读取Major、Minor参数,当这些参数与微信公众平台中申请的设备ID相匹配时,微信则将其视为员工签到并作出相关操作,将该用户摇到该设备的这一事件通知设备对应的公众号后台.
用户手机进入微信“摇一摇周边”,其界面如图4所示.此时摇动手机如果摇到了正确的考勤iBeacon设备,界面下方即会显示出系统图标和该设备对应的导航链接,具体显示如图5所示.用户点击该导航链接,对应的后台处理页面会进行进一步的分析与处理.
2.2.2 绑定iBeacon设备处理页面
必须先配置好iBeacon设备的ID将其与处理页面绑定,这样在手机微信客户端接收到考勤iBeacon设备的信号后,就可以链接进入正确的后台处理页面,该处理页面部署在应用服务器上.
运行自定义的预处理应用程序调用微信公众平台提供的“新增页面”接口,指定一个新增的页面,设置导航链接的主标题、副标题,页面url地址和系统图标图片素材,微信公众平台会返回一个参数page_id作为为该页面的ID.接下来调用“配置设备与页面的关联关系”接口将iBeacon设备与该处理页面建立管理关系.经过预处理程序的配置,用户使用微信“摇一摇”,在“摇一摇周边”界面将会显示该设备对应的页面信息,包括:图标、主标题、副标题,点击链接后将进入url地址所对应的后台处理页面.
图3 考勤信息接收与推送流程
图4 微信“摇一摇”初始界面
图5 接收到正确iBeacon信号后的界面
2.2.3 考勤信息推送
用户在手机微信中摇到考勤iBeacon设备后,微信客户端会把这个事件推送到微信公众号的后台.推送内容包含摇一摇时“周边”页卡展示出来的页面所对应的设备信息,以及附近最多五个属于该公众账号的设备的信息,该数据中包含用户的OpenID,设备的UUID、Major、Minor,设备与用户的距离等.用户的OpenID是普通用户的标识,对当前公众号唯一.
2.3 手机微信客户端查看考勤信息
微信后台接收到手机微信客户端送推过来的消息后,将获取用户信息以实现考勤信息的查看,图6所示为具体的实现流程.
2.3.1 用户信息获取
微信后台接收到手机微信客户端送推过来的消息后,处理页面调用微信平台的JSAPI接口,先判断该用户是否关注了该公众号,如果没有,则提示用户关注该公众号.如果关注了,则直接获取相关的用户信息,调用微信平台的“获取用户基本信息(包括UnionID机制)”接口,根据OpenID获取用户信息,返回的用户信息包括昵称、性别、头像、所在城市、国家、省份、语言、用户关注时间、备注、分组ID等.
2.3.2 手机微信考勤信息查看页面
对于已经关注了系统公众号的用户,摇到iBeacon设备后,点击“摇一摇周边”界面上的导航链接,即可以直接打开员工考勤数据页面进行查看,该页面显示了当前所有的员工考勤情况.包括每个用户的OpenID、昵称、头像、位置和考勤时间.其中,OpenID、昵称、头像信息取自于微信公众平台,位置和考勤时间来自于接收到的iBeacon信号.
2.4 考勤信息存储
在应用服务器上部署有考勤数据库,系统后台处理程序获取用户信息后,先判断该用户是否为需要考勤的用户,并将合法用户的各项考勤信息存储到考勤数据库.以此为依据,系统支持进一步的多维度的数据报表汇总和统计分析,管理者可以通过任何一台能够上网的计算机或手机,就能查询和管理考勤.考勤信息存储流程如图7所示.
图6 考勤信息查看实现流程
图7 考勤信息存储流程
3 结 语
物联网时代,以大数据、云计算、移动、社交为主的创新技术正在颠覆传统的生活和工作模式.本系统将iBeacon设备与手机微信应用相结合,使用微信“摇一摇”来记录员工的考勤行为,具有精确、便捷、低成本和部署方便的特点,是利用物联网技术优化企业传统管理行为的一种实践,用户使用本系统只需要关注考勤系统关联的微信公众号,手机无需再下载任何其它的APP软件,对于规范管理、提高工作效率具有非常积极的意义和价值.该系统经过参数的配置,也可以方便地应用于活动签到、会议签到等.
[1] 张玉洁,孟祥武.基于移动定位服务的考勤管理系统[J].计算机系统应用,2011,20(10):6-10.
[2] Apple. iOS: Understanding iBeacon[EB/OL].[2015-03-26].https://support.apple.com/zh-cn/HT202880.
[3] iBeacon世界网.全面解析基于苹果技术的iBeacon设备[EB/OL].[2015-07-05]. http://www.ibeaconworld. cn/7446.html.
[4] 腾讯公司.走进微信公众平台[EB/OL].[2014-7-10]. http://kf.qq.com/faq/120911VrYVrA131112 R7Rnqa.html.
The Application of WeChat “Shake-Around” to Attendance System Based on iBeacon Technology
GUO Ling
(School of Computer Engineering, Shenzhen Polytechnic, Shenzhen, Guangdong 518055, China)
The paper introduces a new attendance system based on mobile internet technology and smart phone application. The system locates employees by iBeacon equipment, and uses WeChat "Shake-Around" to sign and send attendance information to the background processing procedures for data storage and analysis. It has the characteristics of convenience, accuracy, high efficiency, and low cost.
attendance system; mobile internet; iBeacon; WeChat “Shake-Around”
TP399
A
1672-0318(2016)01-0019-05
10.13899/j.cnki.szptxb.2016.01.004
2015-10-08
郭玲(1973-),女,湖南湘潭人,副教授,主要研究方向为Web应用开发、移动应用开发.