郭 玲
(深圳職業(yè)技術學院 計算機工程學院,廣東 深圳 518055)
基于iBeacon技術的微信“搖一搖”考勤系統(tǒng)的實現(xiàn)
郭 玲
(深圳職業(yè)技術學院 計算機工程學院,廣東 深圳 518055)
介紹了一種結合移動互聯(lián)網技術和智能手機應用實現(xiàn)的創(chuàng)新型考勤系統(tǒng).系統(tǒng)采用iBeacon設備進行員工定位,使用微信“搖一搖”記錄考勤行為,并推送考勤信息到后臺處理程序,完成數(shù)據(jù)存儲及數(shù)據(jù)分析統(tǒng)計.系統(tǒng)具有精確、高效、低成本和部署方便的特點.
考勤;移動互聯(lián)網;iBeacon技術;微信“搖一搖”
隨著移動互聯(lián)網的迅猛發(fā)展以及智能手機的普及,各種新型的移動考勤系統(tǒng)不斷出現(xiàn)并得以推廣應用,主要包括各種手機客戶端考勤APP軟件.移動考勤系統(tǒng)是一種利用手機定位機制、位置服務、移動通訊網絡和互聯(lián)網構建的一種新型的考勤系統(tǒng)[1].這些新一代基于移動互聯(lián)網的考勤系統(tǒng)從考勤形態(tài)、形式上突破了傳統(tǒng)打卡機、指紋機等固定設備的應用束縛, 不受考勤地點、考勤時間的限制,具有低成本、便捷、高效、規(guī)范的優(yōu)勢.目前大部分基于移動互聯(lián)網的考勤系統(tǒng)是利用手機GPS定位來確定員工的位置,該方案的不足之處在于,用戶可以安裝相關GPS位置模擬器軟件,將手機的GPS信號模擬到任意地點,導致虛假考勤.另外,使用該考勤系統(tǒng)的用戶必須在手機上安裝專門的APP考勤軟件,需要一定的軟件部署和維護成本.我們研發(fā)的這一微信“搖一搖”考勤系統(tǒng),基于iBeacon技術定位,員工手機啟用藍牙,在指定范圍內使用微信“搖一搖”,即可輕松實現(xiàn)考勤簽到.
1.1 iBeacon技術
iBeacon是蘋果公司在2013年9月推出的一項低耗能藍牙(BLE)技術.其工作方式是iBeacon設備使用BLE技術向周圍發(fā)送自己特有的信號,移動設備操作系統(tǒng)定位接收并解釋,向等待iBeacon信號的所有應用軟件APP反饋信號,發(fā)送UUID、Major、Minor.接收信號的APP先確認UUID,如果確認是發(fā)送給自己的信號,則再根據(jù)Major、Minor的組合進行處理[2].目前iOS7以上及Android4.0以上操作系統(tǒng)的手機均支持該技術,根據(jù)這項新的定位技術可以做出許多技術應用[3].
本系統(tǒng)采用iBeacon設備進行員工定位,確認員工位置,通過微信記錄考勤信息,包括員工微信賬號唯一標識(OpenID)、員工當前位置、考勤時間等,并將考勤記錄傳送給應用服務器做進一步的統(tǒng)計分析及考勤處理.
1.2 系統(tǒng)架構
系統(tǒng)架構設計如圖1所示.
在指定的考勤地點(如:辦公室)內放置iBeacon設備,用戶到達該區(qū)域范圍后,打開手機的藍牙,進入手機微信,使用“發(fā)現(xiàn)”—“搖一搖周邊”,搖一搖手機,微信即會接收到iBeacon發(fā)射的信號,包括UUID、Major、Minor,微信一旦接收到該信號,便將接收到的設備標識信息和員工的微信賬號標識信息,推送到該iBeacon設備綁定的微信公眾號后臺,微信公眾號后臺程序記錄該用戶的考勤記錄,并將其發(fā)送到應用服務器進一步處理.
圖1 “搖一搖”考勤系統(tǒng)架構設計圖
2.1 系統(tǒng)初始化配置
首先在微信公眾平臺對系統(tǒng)做系列初始化設置,然后配置iBeacon設備的標識參數(shù),步驟如圖2所示.配置完成后,iBeacon設備即啟用,用戶手機可以接收和反饋iBeacon設備發(fā)射的信號.
2.1.1 申請微信公眾號
整個系統(tǒng)的實現(xiàn)基于iBeacon設備和微信公眾平臺,兩者需要在信息上進行聯(lián)接互通,以微信公眾號作為其綁定的依據(jù)和標識,首先在微信公眾平臺申請一個微信公眾號.
圖2 系統(tǒng)初始化配置步驟
微信公眾平臺簡稱WeChat,是騰訊公司在微信的基礎上打造的給個人、企業(yè)和組織提供業(yè)務服務與用戶管理能力的全新服務平臺[4].通過這一平臺,個人和企業(yè)都可以申請一個微信的公眾服務號,在此基礎上進行二次開發(fā)來實現(xiàn)各種全新的個性化的應用服務.如商家微官網、微支付、微活動、微報名等,實現(xiàn)和特定用戶群體的文字、圖片、語音的全方位信息溝通、互動.微信公眾平臺從2012年08月23日正式上線以來,各種應用和功能不斷被開發(fā)推出,層出不窮.我們開發(fā)的這一微信“搖一搖”考勤系統(tǒng)提供了一種全新的考勤模式.
2.1.2 開通“搖一搖周邊”權限
系統(tǒng)中員工采用微信“搖一搖”的方式作為簽到的動作,我們申請的微信公眾號需要開通這一權限.使用微信公眾平臺提供的“申請開通功能”接口,申請開通“搖一搖周邊”權限,申請請求成功提交后,平臺會在3個工作日內完成審核.提交的參數(shù)包括以下內容:
http請求方式: POST(使用https協(xié)議)
https://api.weixin.qq.com/shakearound/account/re gister?access_token=ACCESS_TOKEN
POST數(shù)據(jù)格式:json
POST數(shù)據(jù)例子:略
POST的參數(shù)包括:調用接口憑證、聯(lián)系人姓名、聯(lián)系人電話、聯(lián)系人郵箱、平臺定義的行業(yè)代號、相關資質文件的圖片url、申請理由等.
調用正常時返回JSON包如下:
{"data":{ }, "errcode": 0, "errmsg": "success."}
2.1.3 申請設備ID
員工在搖動手機的時候,如果手機接收到了iBeacon設備的發(fā)射信號,微信必須識別該信號是否來自于系統(tǒng)指定的考勤用iBeacon,通過讀取信號中的“UUID、Major、Minor”標識進行檢測.我們向微信平臺申請設備ID,作為微信認可的考勤設備ID,將系統(tǒng)的微信公眾號與考勤用iBeacon設備進行綁定.使用微信公眾平臺提供的“申請設備ID”接口發(fā)出以下申請:
http請求方式:POST(使用https協(xié)議)
https://api.weixin.qq.com/shakearound/device/ applyid?access_token=ACCESS_TOKEN
POST數(shù)據(jù)格式:json
POST數(shù)據(jù)例子:
{ "quantity":3,
"apply_reason":"測試",
"comment":"測試專用",
"poi_id":1234
}
成功調用后,系統(tǒng)會返回本次申請的批次ID(apply_id).使用“查詢設備ID申請審核狀態(tài)”接口根據(jù)apply_id可以查詢該次申請是否通過.查詢到申請成功后,使用“查詢設備列表”接口根據(jù)該apply_id查詢本批次申請的所有設備ID及相關設備信息,里面包含關鍵信息:device_id、UUID、Major、Minor,將這4個數(shù)據(jù)保留下來備用.
2.1.4 配置iBeacon設備
iBeacon設備需要自行配置三個標識參數(shù):UUID、Major、Minor,使用通用配置工具LightBlue對iBeacon設備進行配置,其參數(shù)與微信平臺中申請的設備ID必須一致.iBeacon設備配置完成后即啟用,將會不斷地向外發(fā)送信號,信號內容包括UUID、Major、Minor參數(shù).
2.2 考勤信息接收與推送
用戶使用微信“搖一搖”實現(xiàn)考勤簽到,圖3為系統(tǒng)考勤信息的接收與推送流程.
2.2.1 iBeacon設備信號接收
在iBeacon信號發(fā)射區(qū)域范圍內,用戶打開微信,使用“搖一搖”,微信將檢測到該iBeacon設備,并讀取Major、Minor參數(shù),當這些參數(shù)與微信公眾平臺中申請的設備ID相匹配時,微信則將其視為員工簽到并作出相關操作,將該用戶搖到該設備的這一事件通知設備對應的公眾號后臺.
用戶手機進入微信“搖一搖周邊”,其界面如圖4所示.此時搖動手機如果搖到了正確的考勤iBeacon設備,界面下方即會顯示出系統(tǒng)圖標和該設備對應的導航鏈接,具體顯示如圖5所示.用戶點擊該導航鏈接,對應的后臺處理頁面會進行進一步的分析與處理.
2.2.2 綁定iBeacon設備處理頁面
必須先配置好iBeacon設備的ID將其與處理頁面綁定,這樣在手機微信客戶端接收到考勤iBeacon設備的信號后,就可以鏈接進入正確的后臺處理頁面,該處理頁面部署在應用服務器上.
運行自定義的預處理應用程序調用微信公眾平臺提供的“新增頁面”接口,指定一個新增的頁面,設置導航鏈接的主標題、副標題,頁面url地址和系統(tǒng)圖標圖片素材,微信公眾平臺會返回一個參數(shù)page_id作為為該頁面的ID.接下來調用“配置設備與頁面的關聯(lián)關系”接口將iBeacon設備與該處理頁面建立管理關系.經過預處理程序的配置,用戶使用微信“搖一搖”,在“搖一搖周邊”界面將會顯示該設備對應的頁面信息,包括:圖標、主標題、副標題,點擊鏈接后將進入url地址所對應的后臺處理頁面.
圖3 考勤信息接收與推送流程
圖4 微信“搖一搖”初始界面
圖5 接收到正確iBeacon信號后的界面
2.2.3 考勤信息推送
用戶在手機微信中搖到考勤iBeacon設備后,微信客戶端會把這個事件推送到微信公眾號的后臺.推送內容包含搖一搖時“周邊”頁卡展示出來的頁面所對應的設備信息,以及附近最多五個屬于該公眾賬號的設備的信息,該數(shù)據(jù)中包含用戶的OpenID,設備的UUID、Major、Minor,設備與用戶的距離等.用戶的OpenID是普通用戶的標識,對當前公眾號唯一.
2.3 手機微信客戶端查看考勤信息
微信后臺接收到手機微信客戶端送推過來的消息后,將獲取用戶信息以實現(xiàn)考勤信息的查看,圖6所示為具體的實現(xiàn)流程.
2.3.1 用戶信息獲取
微信后臺接收到手機微信客戶端送推過來的消息后,處理頁面調用微信平臺的JSAPI接口,先判斷該用戶是否關注了該公眾號,如果沒有,則提示用戶關注該公眾號.如果關注了,則直接獲取相關的用戶信息,調用微信平臺的“獲取用戶基本信息(包括UnionID機制)”接口,根據(jù)OpenID獲取用戶信息,返回的用戶信息包括昵稱、性別、頭像、所在城市、國家、省份、語言、用戶關注時間、備注、分組ID等.
2.3.2 手機微信考勤信息查看頁面
對于已經關注了系統(tǒng)公眾號的用戶,搖到iBeacon設備后,點擊“搖一搖周邊”界面上的導航鏈接,即可以直接打開員工考勤數(shù)據(jù)頁面進行查看,該頁面顯示了當前所有的員工考勤情況.包括每個用戶的OpenID、昵稱、頭像、位置和考勤時間.其中,OpenID、昵稱、頭像信息取自于微信公眾平臺,位置和考勤時間來自于接收到的iBeacon信號.
2.4 考勤信息存儲
在應用服務器上部署有考勤數(shù)據(jù)庫,系統(tǒng)后臺處理程序獲取用戶信息后,先判斷該用戶是否為需要考勤的用戶,并將合法用戶的各項考勤信息存儲到考勤數(shù)據(jù)庫.以此為依據(jù),系統(tǒng)支持進一步的多維度的數(shù)據(jù)報表匯總和統(tǒng)計分析,管理者可以通過任何一臺能夠上網的計算機或手機,就能查詢和管理考勤.考勤信息存儲流程如圖7所示.
圖6 考勤信息查看實現(xiàn)流程
圖7 考勤信息存儲流程
物聯(lián)網時代,以大數(shù)據(jù)、云計算、移動、社交為主的創(chuàng)新技術正在顛覆傳統(tǒng)的生活和工作模式.本系統(tǒng)將iBeacon設備與手機微信應用相結合,使用微信“搖一搖”來記錄員工的考勤行為,具有精確、便捷、低成本和部署方便的特點,是利用物聯(lián)網技術優(yōu)化企業(yè)傳統(tǒng)管理行為的一種實踐,用戶使用本系統(tǒng)只需要關注考勤系統(tǒng)關聯(lián)的微信公眾號,手機無需再下載任何其它的APP軟件,對于規(guī)范管理、提高工作效率具有非常積極的意義和價值.該系統(tǒng)經過參數(shù)的配置,也可以方便地應用于活動簽到、會議簽到等.
[1] 張玉潔,孟祥武.基于移動定位服務的考勤管理系統(tǒng)[J].計算機系統(tǒng)應用,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應用開發(fā)、移動應用開發(fā).