夏凌云,龔文濤
?
基于微信公眾平臺(tái)和iBeacon的智慧校園LBS應(yīng)用設(shè)計(jì)
夏凌云,龔文濤
(中國石油大學(xué)(華東)網(wǎng)絡(luò)及教育技術(shù)中心 ,青島 266580)
微信公眾平臺(tái)為開發(fā)者提供了一個(gè)通用的信息服務(wù)發(fā)布平臺(tái),通過約定的身份信息和接口標(biāo)準(zhǔn),利用微信最新客戶端和微信公眾平臺(tái)提供的對(duì)藍(lán)牙BLE和iBeacon技術(shù)的支持接口,提出了一種通過微信公眾平臺(tái)和iBeacon基站及時(shí)獲取用戶當(dāng)前位置和場景信息的方法,以LBS簽到功能為例,給出了LBS應(yīng)用實(shí)現(xiàn)方案和流程圖,敘述了如何將用戶信息、用戶場景和智慧校園后臺(tái)系統(tǒng)進(jìn)行對(duì)接和聯(lián)動(dòng)的實(shí)施細(xì)節(jié)。
微信公眾平臺(tái);iBeacon;基于位置的服務(wù)
近10年來,我國高校“數(shù)字校園”技術(shù)迅速發(fā)展,通過各類的信息化建設(shè),完成了校園內(nèi)部各個(gè)應(yīng)用系統(tǒng)的設(shè)計(jì)、部署和使用,同時(shí)通過校園局域網(wǎng)和公共數(shù)據(jù)平臺(tái)系統(tǒng)的實(shí)施,實(shí)現(xiàn)各個(gè)業(yè)務(wù)系統(tǒng)之間數(shù)據(jù)的共享和交換,消除了校內(nèi)信息系統(tǒng)的“孤島”,構(gòu)成了統(tǒng)一的用戶管理、資源管理和權(quán)限控制,用以實(shí)現(xiàn)數(shù)字化的高校校園網(wǎng)上管理和網(wǎng)上服務(wù)環(huán)境。為信息化教學(xué)和科研打下了軟硬件基礎(chǔ)。在信息化高速發(fā)展的今天,前期的“數(shù)字校園”已經(jīng)在開始向“智慧校園”進(jìn)行演進(jìn),而“智慧校園”有一個(gè)明顯的特征和需求,就是需要將環(huán)境感知和位置信息與“數(shù)字校園”應(yīng)用進(jìn)行結(jié)合,加強(qiáng)了校園里人、物、環(huán)境之間信息的互聯(lián)和協(xié)作[1],因此IoT(物聯(lián)網(wǎng),Internet of things)技術(shù)和傳感器技術(shù)是“智慧校園”不可分割的一部分,將位置檢測功能融入到“智慧校園”建設(shè)方案中,為用戶提供基于位置的服務(wù)(LBS,Location Based Services),以此來提高用戶與應(yīng)用交互的靈活性和明確性,實(shí)現(xiàn)智慧化的校園服務(wù)模式和校園管理模式。
1.1 微信公眾平臺(tái)在高校信息化系統(tǒng)中的應(yīng)用
微信是騰訊公司推出的一款手機(jī)社交即時(shí)通訊APP,支持絕大多數(shù)移動(dòng)終端的操作系統(tǒng),用戶普及非常廣泛。在此基礎(chǔ)上,2012年底騰訊公司又推出了微信公眾平臺(tái)功能,公眾平臺(tái)通過提供標(biāo)準(zhǔn)框架和協(xié)議,使作為第三方的公眾平臺(tái)所有者可以通過自行開發(fā)接口的方式,以符合標(biāo)準(zhǔn)的WebAPI接入公眾平臺(tái)的消息系統(tǒng),自主為微信用戶提供資訊和信息服務(wù)。微信公眾號(hào)的對(duì)接模式,如圖1所示:
圖1 微信公眾平臺(tái)消息傳遞流程
圖1說明了微信用戶和智慧校園后臺(tái)之間,是如何通過微信公眾平臺(tái)來進(jìn)行信息交互的原理和流程。實(shí)現(xiàn)該流程的要點(diǎn)有兩個(gè):一個(gè)要點(diǎn)是第2和4步,微信服務(wù)器和接口服務(wù)器之間的標(biāo)準(zhǔn)消息接口對(duì)接,微信方服務(wù)器將用戶所發(fā)消息以約定的標(biāo)準(zhǔn)格式打包,并附加上相關(guān)身份驗(yàn)證信息發(fā)送給校內(nèi)接口服務(wù)器,校內(nèi)接口服務(wù)器進(jìn)行接口認(rèn)證和解析數(shù)據(jù)包,提取出用戶消息,處理結(jié)束后再以同樣的數(shù)據(jù)標(biāo)準(zhǔn)將結(jié)果返回給微信服務(wù)器,通過其轉(zhuǎn)發(fā)給最終用戶。通常來說,簡單的處理結(jié)果可以用文本形式返回給用戶,復(fù)雜的結(jié)果可以采用動(dòng)態(tài)的Html5頁面[2],甚至音視頻消息與用戶進(jìn)行互動(dòng)交流。第二個(gè)要點(diǎn)是第5步,接口服務(wù)器與智慧校園后臺(tái)信息系統(tǒng)的對(duì)接,高校的信息系統(tǒng)一般有教務(wù)系統(tǒng)、學(xué)工系統(tǒng)、人事系統(tǒng)、辦公系統(tǒng)、科研系統(tǒng)和財(cái)務(wù)系統(tǒng)等等,這些系統(tǒng)中都存放著各種重要信息數(shù)據(jù),如果接口服務(wù)器分別與各個(gè)系統(tǒng)做對(duì)接,將是一個(gè)非常復(fù)雜的工作。幸運(yùn)的是,在高校的數(shù)字化校園多年建設(shè)過程中,尤其是向智慧校園發(fā)展的過程中,大都建立起了校園公共數(shù)據(jù)平臺(tái),匯總了各個(gè)子系統(tǒng)信息,并以數(shù)據(jù)庫視圖、WebService或者RESTful服務(wù)等等的形式對(duì)外提供接口服務(wù),這樣的架構(gòu)簡化了接口服務(wù)器的設(shè)計(jì),位于校園內(nèi)部的接口服務(wù)器的工作重點(diǎn)就是整個(gè)服務(wù)系統(tǒng)外部方向(與微信服務(wù)器)和內(nèi)部方向(與智慧校園后臺(tái))的接口標(biāo)準(zhǔn)實(shí)現(xiàn)和調(diào)用,并且在對(duì)外提供服務(wù)的同時(shí)隱藏了內(nèi)部信息系統(tǒng),大大降低了接口服務(wù)器的復(fù)雜度,提高了智慧校園系統(tǒng)的整體安全性。在以往的研究中,我們已實(shí)現(xiàn)了與微信服務(wù)器的基礎(chǔ)對(duì)接,并實(shí)現(xiàn)了一些簡單功能[3]。
1.2 利用微信公眾平臺(tái)實(shí)現(xiàn)LBS應(yīng)用的優(yōu)勢
具體到LBS應(yīng)用,傳統(tǒng)的LBS應(yīng)用一般采用原生APP開發(fā)的解決方案,原生APP是基于手機(jī)操作系統(tǒng)為軟件開發(fā)人員提供的開發(fā)環(huán)境和API所開發(fā)的客戶端應(yīng)用程序,使用原生APP在實(shí)現(xiàn)LBS應(yīng)用優(yōu)勢在于APP直接構(gòu)建于手機(jī)操作系統(tǒng)之上,能都直接調(diào)用和操作手機(jī)硬件,功能完整,用戶體驗(yàn)較好。但其缺點(diǎn)是開發(fā)門檻和成本較高,需要在不同的手機(jī)操作系統(tǒng)(iOS、Android、WP)上單獨(dú)開發(fā)和維護(hù)不同的軟件版本,并且為了用戶界面友好,很有可能還需要對(duì)移動(dòng)操作系統(tǒng)詳細(xì)版本和差異化的移動(dòng)設(shè)備顯示分辨率上做不同適配。這樣的開發(fā)模式對(duì)高校信息化移動(dòng)應(yīng)用建設(shè)來說并不契合,相對(duì)于商業(yè)化的APP應(yīng)用,高校內(nèi)部信息化應(yīng)用自由度較高,服務(wù)內(nèi)容的重點(diǎn)多在于信息共享和流程對(duì)接,因此對(duì)高校信息化團(tuán)隊(duì)來說,需要的是一種能進(jìn)行高效發(fā)布的,與用戶終端操作系統(tǒng)“松耦合”的,比較容易部署和升級(jí)的信息發(fā)布方式。
利用微信公眾號(hào)來實(shí)現(xiàn)智慧校園LBS應(yīng)用和使用原生APP的方法有很大的區(qū)別和優(yōu)勢:
第一是不需要使用獨(dú)立的客戶端,節(jié)省了獨(dú)立客戶端的開發(fā)、維護(hù)和升級(jí)等等問題;
第二是微信客戶端普及率高,兼容性好,利用其作為載體,相對(duì)于推廣獨(dú)立APP,有利于具體服務(wù)應(yīng)用的推廣;
第三是接口服務(wù)器只用負(fù)責(zé)對(duì)接微信服務(wù)器和內(nèi)部系統(tǒng),不用與用戶終端直接對(duì)接,大大加強(qiáng)系統(tǒng)安全性;
第四是微信公眾平臺(tái)提供了豐富的軟硬件接口,在可以方便調(diào)用系統(tǒng)硬件的同時(shí),減小了所開發(fā)的服務(wù)應(yīng)用與手機(jī)操作系統(tǒng)的直接依賴和耦合,降低了開發(fā)門檻,使開發(fā)人員可以更專注于智慧校園的應(yīng)用功能和服務(wù)流程提升上來。
iBeacon技術(shù)由蘋果公司于2013年9月推出,推出時(shí)支持蘋果公司攜帶藍(lán)牙4.0以上的硬件設(shè)備和蘋果iOS 7操作系統(tǒng)。iBeacon的原理是利用BLE(Bluetooth Low Energy,低功耗藍(lán)牙)技術(shù),通過iBeacon基站和手機(jī)藍(lán)牙模塊進(jìn)行聯(lián)動(dòng)來確定手機(jī)所處的位置信息。具體來說,iBeacon基站定期廣播發(fā)送BLE協(xié)議中的“Advertising Packet”(通告幀),并在該數(shù)據(jù)幀中攜帶其自身標(biāo)識(shí)數(shù)據(jù),當(dāng)支持iBeacon協(xié)議的設(shè)備接收到該幀后,操作系統(tǒng)會(huì)將信息提供給已安裝和注冊(cè)的APP對(duì)載荷數(shù)據(jù)進(jìn)行分析,從而達(dá)到查找和定位目的。
利用iBeacon技術(shù)有以下優(yōu)勢:
第一是系統(tǒng)低功耗:無論是手機(jī)端還是iBeacon基站端均采用BLE技術(shù),BLE技術(shù)不需要設(shè)備間建立持續(xù)連接,發(fā)送端只需要定時(shí)發(fā)送廣播信息即可,發(fā)送數(shù)據(jù)的持續(xù)時(shí)間非常短(幾毫秒以內(nèi)),在一般以“秒”為時(shí)間單位的定位周期中僅僅占非常小一部分,使iBeacon基站的運(yùn)行功耗大大降低,使用電池就能滿足系統(tǒng)電源要求,降低系統(tǒng)部署和運(yùn)行成本;
第二是軟硬件支持廣泛:硬件上,市面上大部分終端都支持藍(lán)牙4.0和BLE協(xié)議,軟件上除了蘋果的iOS系統(tǒng)外,谷歌Android4.3以上系統(tǒng)和WindowsPhone都對(duì)其提供操作系統(tǒng)層面上的全面支持,因此iBeacon技術(shù)對(duì)開發(fā)者和用戶操作系統(tǒng)要求不嚴(yán)格,適配性好;
第三是適用于室內(nèi)定位:一般來說,由于信號(hào)被屏蔽的原因,GPS系統(tǒng)無法解決室內(nèi)密集應(yīng)用場景的高精度定位問題,而由于iBeacon 基站部署簡單,可以在室內(nèi)環(huán)境大規(guī)模部署,通過軟硬件結(jié)合的方式將室內(nèi)定位精度大大提高,如圖2所示。
圖2 利用iBeacon基站進(jìn)行三點(diǎn)定位
微信公眾平臺(tái)在2015年推出了“搖一搖周邊”功能,利用各個(gè)手機(jī)操作系統(tǒng)對(duì)BLE的廣泛支持,將iBeacon技術(shù)集成到了微信客戶端的“搖一搖”功能中。賬號(hào)管理員在微信公眾平臺(tái)后臺(tái)登記并綁定了實(shí)際使用的iBeacon基站的獨(dú)立識(shí)別信息后,用戶使用微信客戶端可以在“搖一搖”界面下?lián)u出該基站所設(shè)置的URL頁面,該URL內(nèi)包含有一個(gè)票據(jù)信息,后臺(tái)服務(wù)器可以通過該票據(jù)信息查詢到本次搖一搖事件所對(duì)應(yīng)的用戶和設(shè)備具體信息。與此同時(shí),微信服務(wù)器會(huì)向該iBeacon注冊(cè)公眾號(hào)的后臺(tái)服務(wù)器推送一個(gè)事件消息,該消息包含了用戶身份信息、搖出頁面信息、選中iBeacon基站的具體信息、以及用戶位置所能發(fā)現(xiàn)的最多五個(gè)附近其它iBeacon基站具體信息,其中包括了用戶到每個(gè)iBeacon基站的RSSI(Received Signal Strength Indication,接收的信號(hào)強(qiáng)度指示)。通常來說,在校園環(huán)境里一個(gè)最近的iBeacon基站定位就能滿足LBS應(yīng)用的定位要求,但如果有對(duì)用戶進(jìn)行更精確定位的需求,可以適當(dāng)增加iBeacon基站的部署密度,使每個(gè)終端能同時(shí)接收到3個(gè)以上基站信號(hào),再根據(jù)相應(yīng)定位算法對(duì)用戶精確定位做更進(jìn)一步的研究[4,5]。
綜上所述,微信公眾平臺(tái)提供了非常完善的軟硬件接口和功能,可以在這些基礎(chǔ)上與智慧校園后臺(tái)對(duì)接,實(shí)現(xiàn)許多滿足智慧校園場景的定制化和個(gè)性化功能。其中iBeacon基站的位置信息結(jié)合,為本文所講述的智能校園LBS應(yīng)用服務(wù)的實(shí)現(xiàn)提供了可行性。
3.1 校園中LBS應(yīng)用的需求
在高校的教學(xué)活動(dòng)中,有很多應(yīng)用需要將使用者所處位置或場景與應(yīng)用系統(tǒng)相結(jié)合,以實(shí)現(xiàn)服務(wù)的“智慧性”。這樣的應(yīng)用中,首先要解決用戶“在哪兒”的問題,我們可以對(duì)iBeacon基站的部署進(jìn)行規(guī)劃和管理,通過識(shí)別用戶所處位置的iBeacon基站信息,來解決用戶定位問題;其次,通過與智慧校園信息系統(tǒng)后臺(tái)的對(duì)接,將用戶個(gè)人信息和位置進(jìn)一步映射為用戶身份和具體場景,解決用戶“干什么”的問題,比如將當(dāng)前某間教室的位置查詢出正在進(jìn)行的課程信息,如正在上什么課,哪些用戶是聽課者,哪個(gè)用戶是老師??梢哉f,當(dāng)校園中的LBS應(yīng)用能夠獲取以上信息的時(shí)候,其提供的服務(wù)才能真正具有“智慧性”。我們可以利用這些功能,與教務(wù)系統(tǒng)結(jié)合,打造空閑教室查詢、課程信息查詢、課堂點(diǎn)名或提問系統(tǒng);與會(huì)議系統(tǒng)結(jié)合,打造諸如學(xué)術(shù)活動(dòng)或者會(huì)議的指引、報(bào)到和互動(dòng)系統(tǒng)等等。
3.2 位置服務(wù)應(yīng)用系統(tǒng)的設(shè)計(jì)
位置服務(wù)應(yīng)用的設(shè)計(jì)主要分為以下部分:
第一部分是iBeacon基站的部署管理模塊:用于管理和維護(hù)已部署的眾多iBeacon模塊用途和位置信息,將iBeacon基站的物理標(biāo)識(shí)UUID(通用唯一標(biāo)識(shí)符)、Major、Minor與具體位置信息和場景信息對(duì)應(yīng)起來,并管理該iBeacon基站在微信“搖一搖周邊”功能時(shí)所對(duì)應(yīng)的頁面url地址。需要注意的是,由于后續(xù)需要使用教務(wù)系統(tǒng)的各種信息,所以具體位置的編碼格式最好與教務(wù)系統(tǒng)中的教室編碼一致;
第二部分是微信公眾平臺(tái)后臺(tái)對(duì)接模塊:按照微信公眾平臺(tái)的對(duì)接要求,該模塊以一個(gè)Web模式設(shè)計(jì),利用HTTP協(xié)議接收用戶發(fā)送的消息以及用戶和iBeacon基站的互動(dòng)消息,同時(shí)負(fù)責(zé)查詢和維護(hù)用戶的具體位置信息,負(fù)責(zé)維護(hù)和查詢微信用戶賬號(hào)與智慧校園用戶賬號(hào)的對(duì)應(yīng)關(guān)系,建立和維護(hù)“用戶-位置”的對(duì)應(yīng)關(guān)系表;
第三部分是智慧校園信息系統(tǒng)對(duì)接模塊:該模塊負(fù)責(zé)與智慧校園信息系統(tǒng)之間的對(duì)接,利用智慧校園后臺(tái)的教務(wù)、后勤和GIS數(shù)據(jù),將用戶所在位置與智慧校園的應(yīng)用場景進(jìn)行映射,建立和維護(hù)“位置-場景”的對(duì)應(yīng)關(guān)系表,同時(shí)也對(duì)用戶在智慧校園后臺(tái)中的相關(guān)數(shù)據(jù)進(jìn)行查詢和梳理,確定用戶在場景中的身份,劃分用戶在場景中的權(quán)限,確立起“用戶-位置-場景”三維對(duì)應(yīng)信息;
第四部分是用戶展示和交互頁面模塊:負(fù)責(zé)系統(tǒng)與用戶之間的前端展示和交互,以不同用戶的權(quán)限和身份為劃分基礎(chǔ),為用戶提供不同功能的交互界面,接受用戶指令,展示服務(wù)信息。
3.3 總體流程設(shè)計(jì)
發(fā)光細(xì)菌歸屬于微生物范疇,對(duì)水體污染物較為敏感,在細(xì)菌正常代謝期間,發(fā)光強(qiáng)度穩(wěn)定,持續(xù)時(shí)間較長,但若受到外部環(huán)境的影響,其發(fā)光會(huì)受到限制,因此,可結(jié)合發(fā)光抑制率監(jiān)測水體綜合毒性。以往有研究資料顯示,再生水的原水對(duì)發(fā)光菌有一定的毒性作用,以工業(yè)廢水為主的再生水對(duì)發(fā)光菌的抑制率約為50.00%。選擇Y城與M城作為研究對(duì)象進(jìn)行發(fā)光細(xì)菌毒性測試,結(jié)果如表1所示。此結(jié)果顯示出,二級(jí)生物處理可降低污水的毒性,但氯消毒后會(huì)增加水毒性。
在通過3.2中所述的“iBeacon基站的部署管理”模塊設(shè)置好iBeacon相關(guān)信息并綁定到微信公眾號(hào)后臺(tái),并將iBeacon基站部署到對(duì)應(yīng)位置以后,普通用戶即可通過微信客戶端的“搖一搖”界面,在“周邊”選項(xiàng)卡里搖出該基站所對(duì)應(yīng)的LBS應(yīng)用URL入口頁面。每個(gè)用戶搖出入口界面后,點(diǎn)擊進(jìn)入該頁面均會(huì)觸發(fā)LBS系統(tǒng)服務(wù)的總流程。系統(tǒng)總體流程設(shè)計(jì),如圖3所示。
圖3 LBS系統(tǒng)總體流程
提供入口URL的Web服務(wù)器也是校內(nèi)的接口服務(wù)器,在用戶點(diǎn)擊進(jìn)入LBS應(yīng)用的入口頁面后,LBS應(yīng)用首先接收該頁面?zhèn)魅氲莫?dú)立票據(jù),首先通過調(diào)用上述“微信公眾平臺(tái)后臺(tái)對(duì)接”模塊,查詢到該用戶的微信身份信息和對(duì)應(yīng)iBeacon基站注冊(cè)信息,然后調(diào)用“智慧校園信息系統(tǒng)對(duì)接”模塊得到微信用戶對(duì)應(yīng)的校園身份信息以及位置和場景信息。得到這些信息后經(jīng)過判斷,進(jìn)入相應(yīng)的LBS具體服務(wù)的處理流程后,最終再通過“用戶展示和交互頁面”模塊返回給交互結(jié)果。
3.4 具體LBS服務(wù)子流程示例
我們以如何實(shí)現(xiàn)“搖一搖簽到”的功能為例,簡要介紹LBS服務(wù)子流程的設(shè)計(jì)細(xì)節(jié),流程圖,如圖4所示。
圖4 搖一搖簽到LBS子流程示例
在流程中,我們首先可以利用前面得到的具體位置信息,通過教務(wù)系統(tǒng)接口查詢?cè)撐恢卯?dāng)前時(shí)間的課程信息,比如課程名稱、上課教師、應(yīng)到學(xué)生學(xué)號(hào)等等的具體信息,然后再通過一系列必要的邏輯判斷后,將簽到結(jié)果記入簽到數(shù)據(jù)庫,并將結(jié)果返回上一層的總體流程,以便形成最終交互頁面返回用戶。
當(dāng)然,除了進(jìn)行上述簽到流程外,系統(tǒng)還需要為準(zhǔn)備一些必要的后臺(tái)管理功能。比如需要為對(duì)應(yīng)的上課教師提供簽到管理和展示功能。一般建議通過數(shù)字校園的通過統(tǒng)一身份認(rèn)證,為教師建立一個(gè)對(duì)應(yīng)自己身份的后臺(tái)管理界面,為教師提供當(dāng)前課程簽到功能的“開始”和“關(guān)閉”功能,并將本場景的“應(yīng)到人員”、“已到人員”做人性化展示,同時(shí)還應(yīng)該有提示“未到人員”具體信息的功能。
[1] 宗平,朱洪波,黃剛等.智慧校園設(shè)計(jì)方法的研究[J].南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,30(4):15-19,51.
[2] 黃永慧,陳程凱.HTML5在移動(dòng)應(yīng)用開發(fā)上的應(yīng)用前景[J],計(jì)算機(jī)技術(shù)與發(fā)展 2013(7):207-210.
[3] 夏凌云,韓立峰.王長慶.利用微信公眾平臺(tái)打造校園信息移動(dòng)發(fā)布平臺(tái)[J],信息技術(shù),2014(2):183-185,190.
[4] 張倬勝,馬方方.薛靜遠(yuǎn).等, 基于iBeacon的精細(xì)室內(nèi)定位方法研究[J], 地理信息世界, 2015(2):26-30.
[5] 韓旭海,夏文龍,周淵平.基于線性加權(quán)的藍(lán)牙室內(nèi)定位算法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2015,24(1):119-122.
Design of Wisdom Campus LBS Application Based on the WeChat Public Platform and iBeacon
Xia Lingyun, Gong Wentao
(Internet and Education Technology Center, China University of Petroleum (East China), Qingdao 266580, China)
WeChat public platform is built to provide developers a generic service information release platform. Through authentication information and standards interface, using the WeChat and the latest version of WeChat public platform to provide the Bluetooth BLE and iBeacon support interface, the paper proposes a method uses WeChat public platform and iBeacon base station access timely the current location and scene information of the user. Then LBS sign function, for example, gives the LBS application implementation scheme and flow chart, The paper describes how to dock and link the user information, user scenarios and wisdom campus background system in detail.
WeChat public platform; iBeacon; Location based service
1007-757X(2016)12-0050-04
TP393
A
作者介紹:夏凌云(1980-)男,四川瀘州人,碩士,工程師,研究方向:互聯(lián)網(wǎng)技術(shù)、計(jì)算機(jī)軟硬件技術(shù)和物聯(lián)網(wǎng)技術(shù),青島 266580
龔文濤(1984-)男,湖北潛江人,碩士,工程師,研究方向:網(wǎng)絡(luò)信息安全,青島 266580
(2016.09.20)