王衛(wèi)紅,陳校良
(浙江工業(yè)大學 計算機科學與技術學院,浙江 杭州 310023)
基于無線路由器的手機簽到系統(tǒng)的設計與實現(xiàn)
王衛(wèi)紅,陳校良
(浙江工業(yè)大學 計算機科學與技術學院,浙江 杭州 310023)
摘要:為了滿足講座簽到時盡可能減少用戶操作的需求,設計了基于無線路由器的手機簽到系統(tǒng),包括Android用戶客戶端、Android教師客戶端和服務器端三部分,以用戶手機物理地址作為簽到的唯一標志,在telnet協(xié)議的基礎上,通過無線路由器獲取所有與會人員的手機物理地址,與提前預存到服務器數(shù)據(jù)庫中的物理地址進行比對,從而得出講座的簽到情況.結果表明:系統(tǒng)不僅能準確地檢測出講座中的簽到情況,還能夠在Android客戶端上提供講座預告、報名以及查看簽到情況的功能.同時,系統(tǒng)將主要的操作集中在教師客戶端上,對于每一位參加講座的用戶,只需要將手機連接上講座對應的WIFI即可,這極大滿足了輕便式簽到的需求.
關鍵詞:Android;telnet;無線路由;簽到
隨著各式各樣的講座在高校中的普及,新潮的知識與技術離我們越來越近.講座的簽到管理一直是個急需解決的問題.傳統(tǒng)形式的活動,普遍采用的是人工核對身份證件和近距離刷卡兩種手段.人工核對證件效率較低,準確度不能保證,且不便于自動化統(tǒng)計.普通近距離刷卡需要與會人員到指定地點刷卡,而在眾多人員同時報到時顯然會極大影響簽到的管理效率[1].智能手機日新月異的變化讓更多人將研究對象轉(zhuǎn)向了手機客戶端,基于各種不同技術的手機簽到系統(tǒng)層出不窮,例如,利用手機藍牙技術實現(xiàn)“路過即簽”的無線自動簽到功能[2];基于人臉識別的簽到系統(tǒng),識別率可達95%以上[3],能輕易識別出站在攝像頭前的與會人員[4];基于二維碼掃描的簽到方式操作簡單,成本低,方便統(tǒng)計[5],若采用彩色二維碼更能夠吸引人們的眼球[6].然而,這些智能的簽到系統(tǒng)仍存在缺陷:無法保證簽到信息與出勤學生的惟一對應性,達不到簽到效果;藍牙技術適合短距離通信,且逐一簽到,效率不高;受手機硬件及技術的限制,人臉識別的精確度不夠,識別效率也較低,統(tǒng)計人臉數(shù)目極有可能出錯,反而加劇教師的工作量[7];二維碼掃描存在二維碼被遠程掃描的漏洞,并不能保證掃描二維碼就一定參加講座.
基于無線路由的手機簽到管理系統(tǒng),通過無線路由器獲取所有連接設備的物理地址,比對每一位用戶預留的默認物理地址,從而確定用戶是否參加講座.與會人員只需連接無線路由的WIFI即可完成簽到工作,可謂一鍵式操作,效率高,不會造成擁堵狀況;與會人員必須用自己手機連接講座現(xiàn)場的WIFI,不能輕易作弊,偽造簽到,簽到準確率高.
1系統(tǒng)結構及簽到解決方案
1.1系統(tǒng)結構
基于無線路由器的手機簽到系統(tǒng)主要由用戶客戶端、教師客戶端和服務器端三部分組成.其中兩個客戶端均運行于Android平臺,使用Java語言開發(fā),運行于Dalvik虛擬機上,其運行效率遠高于原來的J2ME程序[8].隨著Android平臺安全性加強[9]及其用戶的大量增加[10],一些其他平臺的功能也移植到了Android平臺上,比如車載定位功能[11],用戶可以在手機上隨時查看愛車的位置.
在基于無線路由的手機簽到系統(tǒng)中,用戶可以在Android用戶客戶端上查看即將進行講座的信息,進行講座報名,以及查看以往的講座簽到情況.教師可以在Android教師客戶端上控制講座的進行,查看講座簽到列表,幫助學生手動補簽等.服務端的功能主要是接收教師客戶端上傳的與會人員的物理地址,從而與數(shù)據(jù)庫中用戶預留的物理地址進行比對,計算出講座的簽到情況,同時還能為客戶端提供講座信息和簽到情況的查詢等功能.無線路由器首先開啟一個特定WIFI供與會人員連接,然后獲取到與會人員手機的物理地址,作為此次簽到的標志.系統(tǒng)結構示意圖如圖1所示.
圖1 系統(tǒng)結構示意圖Fig.1 Diagram of the system architecture
1.2簽到解決方案
基于無線路由的手機簽到系統(tǒng)充分利用了智能移動終端的便攜性,以及WIFI連接下可以檢測到移動終端物理地址的功能,以此來提供一個高效便捷的簽到解決方案.該方案中,首先需要預存每一位用戶的手機物理地址到數(shù)據(jù)庫,在首次登錄時,客戶端會獲取手機的物理地址,發(fā)送給服務器,記錄到數(shù)據(jù)庫.在講座進行時,講座所在的場所中無線路由器開啟固定WIFI,用戶用手機連接該WIFI,無線路由器便可以獲取這些用戶的設備信息,包括系統(tǒng)所需要的物理地址,作為每一位用戶簽到的標志.當然這些物理地址需要發(fā)送到服務器,教師客戶端就作為中介完成這個傳遞工作.主持講座的管理員或者教師在教師客戶端上開始該講座,進行自動簽到.教師客戶端通過Telnet方式訪問無線路由器,獲取到所有連接固定WIFI的手機的物理地址,編輯成固定格式發(fā)送給服務器.基于準確性的考慮,這個過程教師客戶端會自動每隔一定時間進行一次,直到講座結束.講座結束后,服務器會分析每一次教師客戶端發(fā)送來的物理地址,主要是與數(shù)據(jù)庫中的物理地址進行比對,確定簽到成功的用戶名單.同時,教師客戶端可以查詢此次講座的簽到情況,用戶也可以開啟客戶端查看自己的簽到情況.簽到實現(xiàn)的流程圖如圖2所示.
圖2 簽到實現(xiàn)流程圖Fig.2 Flow char of realization of lecture signing
該解決方案的優(yōu)勢在于:1) 與會人員用于簽到的手機需要綁定,保證了唯一性對應;2) 與會人員只需連接無線路由的WIFI即可完成簽到工作,操作極其簡單,效率非常高,并且不需要固定的簽到地點;3) WIFI連接的技術成熟,簽到成功率100%;4) 與會人員必須連接講座現(xiàn)場的特定WIFI,不能輕易作弊,偽造簽到.
2Telnet方式訪問無線路由器
Telnet協(xié)議是Internet上的一個遠程登錄協(xié)議,應用于數(shù)據(jù)采集,圖形界面設計,遠程控制等[12].其位于應用層,直接工作在TCP層之上,遠程主機服務程序工作位于23號端口.遠程登錄服務的四個過程是建立TCP連接,客戶端程序發(fā)送NVT格式數(shù)據(jù),解析遠程主機的NVT格式數(shù)據(jù)到本地,撤銷連接[13].
在基于無線路由的手機簽到系統(tǒng)中,主要是通過無線路由器獲取用戶手機的物理地址來進行簽到,物理地址的惟一性保證了用戶簽到的正確性,而通過簡單的WIFI連接來簽到,保證了用戶的操作十分簡單.但是用戶的操作簡單,是在把整個簽到過程的復雜處封裝于教師客戶端的基礎上的.在教師客戶端需要訪問無線路由器來獲取所有連接特定WIFI的手機的物理地址,并傳送給服務器,服務器就可以用來比對與會人員預留的物理地址,從而得出該講座的人員參加情況,并反饋給客戶端.由于服務器不在無線路由器附近,因而無法直接訪問無線路由器來獲取已連接WIFI的手機的物理地址.在Android平臺上采用Telnet方式訪問無線路由器,是解決這個難點的關鍵.
一般情況下,在瀏覽器上通過IP地址可以訪問無線路由器,在網(wǎng)頁上可以肉眼看到所有連接設備的物理地址,但是不能直接用客戶端獲取.這里采用Telnet協(xié)議來訪問無線路由.首先,無線路由器需要改動,開通Telnet訪問方式,設置用戶名與密碼,與瀏覽器訪問使用的用戶名密碼不同.在Android平臺下,新建一個TelnetClient對象,根據(jù)IP地址和設置的Telnet端口2323號端口,采用connect方法連接無線路由器,新建一個異步任務,輸入用戶名和密碼登錄,登錄成功后,輸入“wstalist”命令獲取所有連接無線路由器的設備的物理地址等信息.在Android教師客戶端上的一個掃描服務就采用這樣的方式獲取到所有連接設備的信息(包括物理地址),接著就截取出物理地址這部分內(nèi)容,組合成一個物理地址列表,上傳給服務器.該服務的流程如圖3所示.
圖3 掃描服務流程圖Fig.3 Flow char of scan service
3手機簽到系統(tǒng)設計
3.1主要模塊設計
準備工作階段:用戶注冊后首次登錄時,Android用戶客戶端自動獲取手機的物理地址提交給服務器,與相應用戶信息綁定,保存到數(shù)據(jù)庫,作為以后簽到的標志.
講座預告:管理人員發(fā)布講座預告,提供講座詳情,包括講座演講人員、演講內(nèi)容、時間地點等,用戶可以在客戶端上查看講座的預告.
講座報名:用戶看到講座預告后,根據(jù)實際需要,進行報名預定.
講座進行前的3個模塊的序列如圖4所示.
圖4 講座進行前序列圖Fig.4 Sequence diagram before lecture
講座進行模塊:首先,用戶開啟WIFI,連接到相應教室或報告廳的無線路由器.然后,教師或助教用Android教師客戶端通過Telnet方式訪問無線路由器,獲取所有已連接手機的物理地址,再發(fā)送給服務器,服務器端(比對數(shù)據(jù)庫中的報名人員的物理地址)反饋所有與會人員的名單,當然已注冊未報名的旁聽人員名單也可以獲取到;教師或助教可以僅僅開啟講座點到模式,Android教師客戶端就會開啟一個Service,這個Service每過一段時間會自動獲取掃描結果并上傳服務器,自動完成與會人員的簽到統(tǒng)計,記錄在服務器數(shù)據(jù)庫中,直到講座結束時關閉講座來停止該Service.該模塊序列圖如圖5所示.
圖5 講座進行模塊序列圖Fig.5 Sequence diagram of lecture module
簽到反饋和階段性統(tǒng)計:講座結束后,每一位用戶可以在Android用戶客戶端上查看自己的講座簽到情況.在學期末,或者一階段后,可以通過服務器自動統(tǒng)計一系列講座的簽到情況,比如某個講座的應到人數(shù)、實到人數(shù)和旁聽人數(shù),或者某個用戶的講座報名及簽到統(tǒng)計情況.用戶查看自己簽到情況的序列圖如圖6所示.
圖6 簽到查看模塊序列圖Fig.6 Sequence diagram of checking attendance module
3.2數(shù)據(jù)庫設計
用戶表(PUB_USER)如表1所示,USER_MAC字段用于綁定用戶手機MAC地址到數(shù)據(jù)庫,以通過MAC地址來確認簽到的用戶,USER_ROLE字段代表用戶的角色(表中一些不重要的字段未以顯示,如性別,班級等,下同).
表1 用戶表
講座表(PUB_LECTURE)如表2所示,LECTURE_STATE 字段表示講座的狀態(tài),有未發(fā)布、已發(fā)布、開始和結束等.
表2 講座表
簽到表(PUB_SIGNIN)如表3所示,LECTURE_ID字段與USER_ID字段共同組成主鍵,SIGNIN_STATE字段表示講座的簽到狀態(tài),有未簽到、已簽到等,SIGNIN_TYPE字段可取自動簽到,手工補簽等.
表3 簽到表
掃描記錄表(PUB_SCAN_RECORD)見表4,記錄每一次無線路由器上傳的掃描情況,對比表1中的USER_MAC,即可得出掃描到的用戶ID.
表4 掃描記錄表
其他數(shù)據(jù)庫表、評價表(PUB_EVALUATE)、報名表(PUB_ENROLL)和講座統(tǒng)計表(PUB_LECTURE_STATISTICS)等限于篇幅,不再贅述.
4手機簽到系統(tǒng)的展示
基于無線路由器的手機簽到系統(tǒng)有用戶客戶端和教師客戶端兩個Android端.圖7展示的是用戶客戶端,圖7(a)為用戶登錄;圖7(b)為用戶查看講座預告;圖7(c)為用戶查看講座預告詳情并報名;圖7(d)為用戶查看自己講座的簽到情況.
圖7 系統(tǒng)展示圖1Fig.7 One of system display
圖8展示的是教師客戶端,圖8(a)為教師選擇講座所在地;圖8(b)為教師查看講座報名名單;圖8(c)為教師查看無線路由簽到人數(shù)的統(tǒng)計;圖8(d)為教師可以為學生手工簽到.
圖8 系統(tǒng)展示圖2Fig.8 Another of system display
5結論
基于無線路由器的手機簽到系統(tǒng),將獲取手機物理地址并上傳給服務器的復雜操作封裝在教師客戶端,而參加講座的人員在講座簽到時只需要連接一個WIFI,步驟簡單,操作少,簽到準確率高,并不像二維碼掃描、人臉識別需要固定地點進行簽到,因而不會造成講座簽到時的人流擁堵狀況.系統(tǒng)真正從參加講座人員的角度出發(fā),盡可能地減少他們的操作,又保證了簽到的準確率.但是系統(tǒng)中,仍有兩個問題,一個是無線路由器可以連接的設備數(shù)有限,另一個是用于點到的無線路由器產(chǎn)生的WIFI頻段相近,會相互干擾,且會影響公用網(wǎng)絡[14].智能時代的到來,簽到的方式也層出不窮,一改過去的繁雜與不便,但是仍有些許小缺陷,需要我們不斷去創(chuàng)新和改進.
參考文獻:
[1]郭雷勇,周志超,李宇,等.RFID技術在會議報到系統(tǒng)中研究與實現(xiàn)[J].微計算機信息,2012,28(1):36-38.
[2]張宗達,李禹恒,李云超,等.基于ARM7LPC2138的手機藍牙考勤系統(tǒng)設計[J].長春理工大學學報(自然科學版),2012,34(4):145-148.
[3]湯一平,嚴海東.非約束環(huán)境下人臉識別技術的研究[J].浙江工業(yè)大學學報,2010,38(2):155-161.
[4]程繼興,丁金卉,劉霞,等.人臉識別會議簽到的嵌入式系統(tǒng)設計[J].單片機與嵌入式系統(tǒng)應用,2014(7):38-41.
[5]于曉君.二維碼信息技術在會議簽到中的應用管理[J].通信管理與技術,2014(4):168-168.
[6]梁榮華,劉志,崔沖.基于移動端的二維彩色條碼分割算法研究[J].浙江工業(yè)大學學報,2011,39(5):566-570.
[7]狄三云,宋麗紅,張鎧.基于Android的手機簽到系統(tǒng)[J].計算機與現(xiàn)代化,2014(7):104-108.
[8]陳璟,陳平華,李文亮.Android內(nèi)核分析[J].現(xiàn)代計算機(專業(yè)版),2009(11):112-115.
[9]HUNG S H, HSIAO S W, TENG Y C, et al. Real-time and intelligent private data protection for the Android platform[J]. Pervasive & mobile computing,2015,24:231-242.
[10]魏小銳,謝滿,游瑞澤.基于NFC技術的Android簽到管理系統(tǒng)的設計與實現(xiàn)[J].東莞理工學院學報,2015,22(3):41-46.
[11]徐志江,莊壯,孟利民.一種基于Android智能手機的車載定位查詢軟件[J].浙江工業(yè)大學學報,2014,41(6):655-659.
[12]胡奕,唐莉萍.嵌入式系統(tǒng)上無操作系統(tǒng)Telnet服務器的實現(xiàn)[J].計算機系統(tǒng)應用,2014(10):79-84.
[13]盧愛卿,張會勇,趙征.Telnet協(xié)議的實現(xiàn)原理及應用[J].計算機工程,2002,28(11):268-269.
[14]宋曉詩.無線通信網(wǎng)絡干擾管理技術研究[D].北京:北京郵電大學,2014.
(責任編輯:劉巖)
The design and implementation of mobile phone registration system based on wireless router
WANG Weihong, CHEN Xiaoliang
(College of Computer Science and Technology, Zhejiang University of Technology, Hangzhou 310023, China)
Abstract:In order to meet the need as far as possible to reduce user’s operation at the lecture registration, this paper design a mobile phone registration system based on wireless router, which consists of the user client, the teacher client and the server in the Android platform. The system use the physical address of the user’s mobile phone as the sign of registration. All the physical addresses of attendants’ phones can be obtained through wireless router based on telnet protocol. These physical address can be compared with those stored in the database of the server in order to get the attendance status of the lecture. The running results show that the system not only can detect the attendance status of the lecture accurately, but also can provide other functions on the client such as publishing lecture notice, registering lecture and checking the attendance status of the lecture. The system focus on the main operation on the teacher client. Each attendee in the lecture only need to connect their phones to the WIFI, the lecture registration can be finished.
Keywords:android; telnet; wireless router; registration
收稿日期:2015-12-15
基金項目:國家自然科學專項基金項目(61340058);浙江省自然科學基金重點項目(LZ14F020001)
作者簡介:王衛(wèi)紅(1969—),男,浙江臨海人,教授,主要從事遙感信息提取和空間信息服務研究,E-mail:wwh@zjut.edu.cn.
中圖分類號:TP311.5
文獻標志碼:A
文章編號:1006-4303(2016)03-0242-05