夏凌云,龔文濤
?
基于微信公眾平臺和iBeacon的智慧校園LBS應用設計
夏凌云,龔文濤
(中國石油大學(華東)網絡及教育技術中心 ,青島 266580)
微信公眾平臺為開發者提供了一個通用的信息服務發布平臺,通過約定的身份信息和接口標準,利用微信最新客戶端和微信公眾平臺提供的對藍牙BLE和iBeacon技術的支持接口,提出了一種通過微信公眾平臺和iBeacon基站及時獲取用戶當前位置和場景信息的方法,以LBS簽到功能為例,給出了LBS應用實現方案和流程圖,敘述了如何將用戶信息、用戶場景和智慧校園后臺系統進行對接和聯動的實施細節。
微信公眾平臺;iBeacon;基于位置的服務
近10年來,我國高校“數字校園”技術迅速發展,通過各類的信息化建設,完成了校園內部各個應用系統的設計、部署和使用,同時通過校園局域網和公共數據平臺系統的實施,實現各個業務系統之間數據的共享和交換,消除了校內信息系統的“孤島”,構成了統一的用戶管理、資源管理和權限控制,用以實現數字化的高校校園網上管理和網上服務環境。為信息化教學和科研打下了軟硬件基礎。在信息化高速發展的今天,前期的“數字校園”已經在開始向“智慧校園”進行演進,而“智慧校園”有一個明顯的特征和需求,就是需要將環境感知和位置信息與“數字校園”應用進行結合,加強了校園里人、物、環境之間信息的互聯和協作[1],因此IoT(物聯網,Internet of things)技術和傳感器技術是“智慧校園”不可分割的一部分,將位置檢測功能融入到“智慧校園”建設方案中,為用戶提供基于位置的服務(LBS,Location Based Services),以此來提高用戶與應用交互的靈活性和明確性,實現智慧化的校園服務模式和校園管理模式。
1.1 微信公眾平臺在高校信息化系統中的應用
微信是騰訊公司推出的一款手機社交即時通訊APP,支持絕大多數移動終端的操作系統,用戶普及非常廣泛。在此基礎上,2012年底騰訊公司又推出了微信公眾平臺功能,公眾平臺通過提供標準框架和協議,使作為第三方的公眾平臺所有者可以通過自行開發接口的方式,以符合標準的WebAPI接入公眾平臺的消息系統,自主為微信用戶提供資訊和信息服務。微信公眾號的對接模式,如圖1所示:

圖1 微信公眾平臺消息傳遞流程
圖1說明了微信用戶和智慧校園后臺之間,是如何通過微信公眾平臺來進行信息交互的原理和流程。實現該流程的要點有兩個:一個要點是第2和4步,微信服務器和接口服務器之間的標準消息接口對接,微信方服務器將用戶所發消息以約定的標準格式打包,并附加上相關身份驗證信息發送給校內接口服務器,校內接口服務器進行接口認證和解析數據包,提取出用戶消息,處理結束后再以同樣的數據標準將結果返回給微信服務器,通過其轉發給最終用戶。通常來說,簡單的處理結果可以用文本形式返回給用戶,復雜的結果可以采用動態的Html5頁面[2],甚至音視頻消息與用戶進行互動交流。第二個要點是第5步,接口服務器與智慧校園后臺信息系統的對接,高校的信息系統一般有教務系統、學工系統、人事系統、辦公系統、科研系統和財務系統等等,這些系統中都存放著各種重要信息數據,如果接口服務器分別與各個系統做對接,將是一個非常復雜的工作。幸運的是,在高校的數字化校園多年建設過程中,尤其是向智慧校園發展的過程中,大都建立起了校園公共數據平臺,匯總了各個子系統信息,并以數據庫視圖、WebService或者RESTful服務等等的形式對外提供接口服務,這樣的架構簡化了接口服務器的設計,位于校園內部的接口服務器的工作重點就是整個服務系統外部方向(與微信服務器)和內部方向(與智慧校園后臺)的接口標準實現和調用,并且在對外提供服務的同時隱藏了內部信息系統,大大降低了接口服務器的復雜度,提高了智慧校園系統的整體安全性。在以往的研究中,我們已實現了與微信服務器的基礎對接,并實現了一些簡單功能[3]。
1.2 利用微信公眾平臺實現LBS應用的優勢
具體到LBS應用,傳統的LBS應用一般采用原生APP開發的解決方案,原生APP是基于手機操作系統為軟件開發人員提供的開發環境和API所開發的客戶端應用程序,使用原生APP在實現LBS應用優勢在于APP直接構建于手機操作系統之上,能都直接調用和操作手機硬件,功能完整,用戶體驗較好。但其缺點是開發門檻和成本較高,需要在不同的手機操作系統(iOS、Android、WP)上單獨開發和維護不同的軟件版本,并且為了用戶界面友好,很有可能還需要對移動操作系統詳細版本和差異化的移動設備顯示分辨率上做不同適配。這樣的開發模式對高校信息化移動應用建設來說并不契合,相對于商業化的APP應用,高校內部信息化應用自由度較高,服務內容的重點多在于信息共享和流程對接,因此對高校信息化團隊來說,需要的是一種能進行高效發布的,與用戶終端操作系統“松耦合”的,比較容易部署和升級的信息發布方式。
利用微信公眾號來實現智慧校園LBS應用和使用原生APP的方法有很大的區別和優勢:
第一是不需要使用獨立的客戶端,節省了獨立客戶端的開發、維護和升級等等問題;
第二是微信客戶端普及率高,兼容性好,利用其作為載體,相對于推廣獨立APP,有利于具體服務應用的推廣;
第三是接口服務器只用負責對接微信服務器和內部系統,不用與用戶終端直接對接,大大加強系統安全性;
第四是微信公眾平臺提供了豐富的軟硬件接口,在可以方便調用系統硬件的同時,減小了所開發的服務應用與手機操作系統的直接依賴和耦合,降低了開發門檻,使開發人員可以更專注于智慧校園的應用功能和服務流程提升上來。
iBeacon技術由蘋果公司于2013年9月推出,推出時支持蘋果公司攜帶藍牙4.0以上的硬件設備和蘋果iOS 7操作系統。iBeacon的原理是利用BLE(Bluetooth Low Energy,低功耗藍牙)技術,通過iBeacon基站和手機藍牙模塊進行聯動來確定手機所處的位置信息。具體來說,iBeacon基站定期廣播發送BLE協議中的“Advertising Packet”(通告幀),并在該數據幀中攜帶其自身標識數據,當支持iBeacon協議的設備接收到該幀后,操作系統會將信息提供給已安裝和注冊的APP對載荷數據進行分析,從而達到查找和定位目的。
利用iBeacon技術有以下優勢:
第一是系統低功耗:無論是手機端還是iBeacon基站端均采用BLE技術,BLE技術不需要設備間建立持續連接,發送端只需要定時發送廣播信息即可,發送數據的持續時間非常短(幾毫秒以內),在一般以“秒”為時間單位的定位周期中僅僅占非常小一部分,使iBeacon基站的運行功耗大大降低,使用電池就能滿足系統電源要求,降低系統部署和運行成本;
第二是軟硬件支持廣泛:硬件上,市面上大部分終端都支持藍牙4.0和BLE協議,軟件上除了蘋果的iOS系統外,谷歌Android4.3以上系統和WindowsPhone都對其提供操作系統層面上的全面支持,因此iBeacon技術對開發者和用戶操作系統要求不嚴格,適配性好;
第三是適用于室內定位:一般來說,由于信號被屏蔽的原因,GPS系統無法解決室內密集應用場景的高精度定位問題,而由于iBeacon 基站部署簡單,可以在室內環境大規模部署,通過軟硬件結合的方式將室內定位精度大大提高,如圖2所示。

圖2 利用iBeacon基站進行三點定位
微信公眾平臺在2015年推出了“搖一搖周邊”功能,利用各個手機操作系統對BLE的廣泛支持,將iBeacon技術集成到了微信客戶端的“搖一搖”功能中。賬號管理員在微信公眾平臺后臺登記并綁定了實際使用的iBeacon基站的獨立識別信息后,用戶使用微信客戶端可以在“搖一搖”界面下搖出該基站所設置的URL頁面,該URL內包含有一個票據信息,后臺服務器可以通過該票據信息查詢到本次搖一搖事件所對應的用戶和設備具體信息。與此同時,微信服務器會向該iBeacon注冊公眾號的后臺服務器推送一個事件消息,該消息包含了用戶身份信息、搖出頁面信息、選中iBeacon基站的具體信息、以及用戶位置所能發現的最多五個附近其它iBeacon基站具體信息,其中包括了用戶到每個iBeacon基站的RSSI(Received Signal Strength Indication,接收的信號強度指示)。通常來說,在校園環境里一個最近的iBeacon基站定位就能滿足LBS應用的定位要求,但如果有對用戶進行更精確定位的需求,可以適當增加iBeacon基站的部署密度,使每個終端能同時接收到3個以上基站信號,再根據相應定位算法對用戶精確定位做更進一步的研究[4,5]。
綜上所述,微信公眾平臺提供了非常完善的軟硬件接口和功能,可以在這些基礎上與智慧校園后臺對接,實現許多滿足智慧校園場景的定制化和個性化功能。其中iBeacon基站的位置信息結合,為本文所講述的智能校園LBS應用服務的實現提供了可行性。
3.1 校園中LBS應用的需求
在高校的教學活動中,有很多應用需要將使用者所處位置或場景與應用系統相結合,以實現服務的“智慧性”。這樣的應用中,首先要解決用戶“在哪兒”的問題,我們可以對iBeacon基站的部署進行規劃和管理,通過識別用戶所處位置的iBeacon基站信息,來解決用戶定位問題;其次,通過與智慧校園信息系統后臺的對接,將用戶個人信息和位置進一步映射為用戶身份和具體場景,解決用戶“干什么”的問題,比如將當前某間教室的位置查詢出正在進行的課程信息,如正在上什么課,哪些用戶是聽課者,哪個用戶是老師。可以說,當校園中的LBS應用能夠獲取以上信息的時候,其提供的服務才能真正具有“智慧性”。我們可以利用這些功能,與教務系統結合,打造空閑教室查詢、課程信息查詢、課堂點名或提問系統;與會議系統結合,打造諸如學術活動或者會議的指引、報到和互動系統等等。
3.2 位置服務應用系統的設計
位置服務應用的設計主要分為以下部分:
第一部分是iBeacon基站的部署管理模塊:用于管理和維護已部署的眾多iBeacon模塊用途和位置信息,將iBeacon基站的物理標識UUID(通用唯一標識符)、Major、Minor與具體位置信息和場景信息對應起來,并管理該iBeacon基站在微信“搖一搖周邊”功能時所對應的頁面url地址。需要注意的是,由于后續需要使用教務系統的各種信息,所以具體位置的編碼格式最好與教務系統中的教室編碼一致;
第二部分是微信公眾平臺后臺對接模塊:按照微信公眾平臺的對接要求,該模塊以一個Web模式設計,利用HTTP協議接收用戶發送的消息以及用戶和iBeacon基站的互動消息,同時負責查詢和維護用戶的具體位置信息,負責維護和查詢微信用戶賬號與智慧校園用戶賬號的對應關系,建立和維護“用戶-位置”的對應關系表;
第三部分是智慧校園信息系統對接模塊:該模塊負責與智慧校園信息系統之間的對接,利用智慧校園后臺的教務、后勤和GIS數據,將用戶所在位置與智慧校園的應用場景進行映射,建立和維護“位置-場景”的對應關系表,同時也對用戶在智慧校園后臺中的相關數據進行查詢和梳理,確定用戶在場景中的身份,劃分用戶在場景中的權限,確立起“用戶-位置-場景”三維對應信息;
第四部分是用戶展示和交互頁面模塊:負責系統與用戶之間的前端展示和交互,以不同用戶的權限和身份為劃分基礎,為用戶提供不同功能的交互界面,接受用戶指令,展示服務信息。
3.3 總體流程設計
發光細菌歸屬于微生物范疇,對水體污染物較為敏感,在細菌正常代謝期間,發光強度穩定,持續時間較長,但若受到外部環境的影響,其發光會受到限制,因此,可結合發光抑制率監測水體綜合毒性。以往有研究資料顯示,再生水的原水對發光菌有一定的毒性作用,以工業廢水為主的再生水對發光菌的抑制率約為50.00%。選擇Y城與M城作為研究對象進行發光細菌毒性測試,結果如表1所示。此結果顯示出,二級生物處理可降低污水的毒性,但氯消毒后會增加水毒性。
在通過3.2中所述的“iBeacon基站的部署管理”模塊設置好iBeacon相關信息并綁定到微信公眾號后臺,并將iBeacon基站部署到對應位置以后,普通用戶即可通過微信客戶端的“搖一搖”界面,在“周邊”選項卡里搖出該基站所對應的LBS應用URL入口頁面。每個用戶搖出入口界面后,點擊進入該頁面均會觸發LBS系統服務的總流程。系統總體流程設計,如圖3所示。

圖3 LBS系統總體流程
提供入口URL的Web服務器也是校內的接口服務器,在用戶點擊進入LBS應用的入口頁面后,LBS應用首先接收該頁面傳入的獨立票據,首先通過調用上述“微信公眾平臺后臺對接”模塊,查詢到該用戶的微信身份信息和對應iBeacon基站注冊信息,然后調用“智慧校園信息系統對接”模塊得到微信用戶對應的校園身份信息以及位置和場景信息。得到這些信息后經過判斷,進入相應的LBS具體服務的處理流程后,最終再通過“用戶展示和交互頁面”模塊返回給交互結果。
3.4 具體LBS服務子流程示例
我們以如何實現“搖一搖簽到”的功能為例,簡要介紹LBS服務子流程的設計細節,流程圖,如圖4所示。

圖4 搖一搖簽到LBS子流程示例
在流程中,我們首先可以利用前面得到的具體位置信息,通過教務系統接口查詢該位置當前時間的課程信息,比如課程名稱、上課教師、應到學生學號等等的具體信息,然后再通過一系列必要的邏輯判斷后,將簽到結果記入簽到數據庫,并將結果返回上一層的總體流程,以便形成最終交互頁面返回用戶。
當然,除了進行上述簽到流程外,系統還需要為準備一些必要的后臺管理功能。比如需要為對應的上課教師提供簽到管理和展示功能。一般建議通過數字校園的通過統一身份認證,為教師建立一個對應自己身份的后臺管理界面,為教師提供當前課程簽到功能的“開始”和“關閉”功能,并將本場景的“應到人員”、“已到人員”做人性化展示,同時還應該有提示“未到人員”具體信息的功能。
[1] 宗平,朱洪波,黃剛等.智慧校園設計方法的研究[J].南京郵電大學學報(自然科學版),2010,30(4):15-19,51.
[2] 黃永慧,陳程凱.HTML5在移動應用開發上的應用前景[J],計算機技術與發展 2013(7):207-210.
[3] 夏凌云,韓立峰.王長慶.利用微信公眾平臺打造校園信息移動發布平臺[J],信息技術,2014(2):183-185,190.
[4] 張倬勝,馬方方.薛靜遠.等, 基于iBeacon的精細室內定位方法研究[J], 地理信息世界, 2015(2):26-30.
[5] 韓旭海,夏文龍,周淵平.基于線性加權的藍牙室內定位算法[J].計算機系統應用,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-)男,四川瀘州人,碩士,工程師,研究方向:互聯網技術、計算機軟硬件技術和物聯網技術,青島 266580
龔文濤(1984-)男,湖北潛江人,碩士,工程師,研究方向:網絡信息安全,青島 266580
(2016.09.20)