基于无线路由器的手机签到系统的设计与实现

2016-06-29 05:28王卫红陈校良
浙江工业大学学报 2016年3期

王卫红,陈校良

(浙江工业大学 计算机科学与技术学院,浙江 杭州 310023)

基于无线路由器的手机签到系统的设计与实现

王卫红,陈校良

(浙江工业大学 计算机科学与技术学院,浙江 杭州 310023)

摘要:为了满足讲座签到时尽可能减少用户操作的需求,设计了基于无线路由器的手机签到系统,包括Android用户客户端、Android教师客户端和服务器端三部分,以用户手机物理地址作为签到的唯一标志,在telnet协议的基础上,通过无线路由器获取所有与会人员的手机物理地址,与提前预存到服务器数据库中的物理地址进行比对,从而得出讲座的签到情况.结果表明:系统不仅能准确地检测出讲座中的签到情况,还能够在Android客户端上提供讲座预告、报名以及查看签到情况的功能.同时,系统将主要的操作集中在教师客户端上,对于每一位参加讲座的用户,只需要将手机连接上讲座对应的WIFI即可,这极大满足了轻便式签到的需求.

关键词:Android;telnet;无线路由;签到

随着各式各样的讲座在高校中的普及,新潮的知识与技术离我们越来越近.讲座的签到管理一直是个急需解决的问题.传统形式的活动,普遍采用的是人工核对身份证件和近距离刷卡两种手段.人工核对证件效率较低,准确度不能保证,且不便于自动化统计.普通近距离刷卡需要与会人员到指定地点刷卡,而在众多人员同时报到时显然会极大影响签到的管理效率[1].智能手机日新月异的变化让更多人将研究对象转向了手机客户端,基于各种不同技术的手机签到系统层出不穷,例如,利用手机蓝牙技术实现“路过即签”的无线自动签到功能[2];基于人脸识别的签到系统,识别率可达95%以上[3],能轻易识别出站在摄像头前的与会人员[4];基于二维码扫描的签到方式操作简单,成本低,方便统计[5],若采用彩色二维码更能够吸引人们的眼球[6].然而,这些智能的签到系统仍存在缺陷:无法保证签到信息与出勤学生的惟一对应性,达不到签到效果;蓝牙技术适合短距离通信,且逐一签到,效率不高;受手机硬件及技术的限制,人脸识别的精确度不够,识别效率也较低,统计人脸数目极有可能出错,反而加剧教师的工作量[7];二维码扫描存在二维码被远程扫描的漏洞,并不能保证扫描二维码就一定参加讲座.

基于无线路由的手机签到管理系统,通过无线路由器获取所有连接设备的物理地址,比对每一位用户预留的默认物理地址,从而确定用户是否参加讲座.与会人员只需连接无线路由的WIFI即可完成签到工作,可谓一键式操作,效率高,不会造成拥堵状况;与会人员必须用自己手机连接讲座现场的WIFI,不能轻易作弊,伪造签到,签到准确率高.

1系统结构及签到解决方案

1.1系统结构

基于无线路由器的手机签到系统主要由用户客户端、教师客户端和服务器端三部分组成.其中两个客户端均运行于Android平台,使用Java语言开发,运行于Dalvik虚拟机上,其运行效率远高于原来的J2ME程序[8].随着Android平台安全性加强[9]及其用户的大量增加[10],一些其他平台的功能也移植到了Android平台上,比如车载定位功能[11],用户可以在手机上随时查看爱车的位置.

在基于无线路由的手机签到系统中,用户可以在Android用户客户端上查看即将进行讲座的信息,进行讲座报名,以及查看以往的讲座签到情况.教师可以在Android教师客户端上控制讲座的进行,查看讲座签到列表,帮助学生手动补签等.服务端的功能主要是接收教师客户端上传的与会人员的物理地址,从而与数据库中用户预留的物理地址进行比对,计算出讲座的签到情况,同时还能为客户端提供讲座信息和签到情况的查询等功能.无线路由器首先开启一个特定WIFI供与会人员连接,然后获取到与会人员手机的物理地址,作为此次签到的标志.系统结构示意图如图1所示.

图1 系统结构示意图Fig.1 Diagram of the system architecture

1.2签到解决方案

基于无线路由的手机签到系统充分利用了智能移动终端的便携性,以及WIFI连接下可以检测到移动终端物理地址的功能,以此来提供一个高效便捷的签到解决方案.该方案中,首先需要预存每一位用户的手机物理地址到数据库,在首次登录时,客户端会获取手机的物理地址,发送给服务器,记录到数据库.在讲座进行时,讲座所在的场所中无线路由器开启固定WIFI,用户用手机连接该WIFI,无线路由器便可以获取这些用户的设备信息,包括系统所需要的物理地址,作为每一位用户签到的标志.当然这些物理地址需要发送到服务器,教师客户端就作为中介完成这个传递工作.主持讲座的管理员或者教师在教师客户端上开始该讲座,进行自动签到.教师客户端通过Telnet方式访问无线路由器,获取到所有连接固定WIFI的手机的物理地址,编辑成固定格式发送给服务器.基于准确性的考虑,这个过程教师客户端会自动每隔一定时间进行一次,直到讲座结束.讲座结束后,服务器会分析每一次教师客户端发送来的物理地址,主要是与数据库中的物理地址进行比对,确定签到成功的用户名单.同时,教师客户端可以查询此次讲座的签到情况,用户也可以开启客户端查看自己的签到情况.签到实现的流程图如图2所示.

图2 签到实现流程图Fig.2 Flow char of realization of lecture signing

该解决方案的优势在于:1) 与会人员用于签到的手机需要绑定,保证了唯一性对应;2) 与会人员只需连接无线路由的WIFI即可完成签到工作,操作极其简单,效率非常高,并且不需要固定的签到地点;3) WIFI连接的技术成熟,签到成功率100%;4) 与会人员必须连接讲座现场的特定WIFI,不能轻易作弊,伪造签到.

2Telnet方式访问无线路由器

Telnet协议是Internet上的一个远程登录协议,应用于数据采集,图形界面设计,远程控制等[12].其位于应用层,直接工作在TCP层之上,远程主机服务程序工作位于23号端口.远程登录服务的四个过程是建立TCP连接,客户端程序发送NVT格式数据,解析远程主机的NVT格式数据到本地,撤销连接[13].

在基于无线路由的手机签到系统中,主要是通过无线路由器获取用户手机的物理地址来进行签到,物理地址的惟一性保证了用户签到的正确性,而通过简单的WIFI连接来签到,保证了用户的操作十分简单.但是用户的操作简单,是在把整个签到过程的复杂处封装于教师客户端的基础上的.在教师客户端需要访问无线路由器来获取所有连接特定WIFI的手机的物理地址,并传送给服务器,服务器就可以用来比对与会人员预留的物理地址,从而得出该讲座的人员参加情况,并反馈给客户端.由于服务器不在无线路由器附近,因而无法直接访问无线路由器来获取已连接WIFI的手机的物理地址.在Android平台上采用Telnet方式访问无线路由器,是解决这个难点的关键.

一般情况下,在浏览器上通过IP地址可以访问无线路由器,在网页上可以肉眼看到所有连接设备的物理地址,但是不能直接用客户端获取.这里采用Telnet协议来访问无线路由.首先,无线路由器需要改动,开通Telnet访问方式,设置用户名与密码,与浏览器访问使用的用户名密码不同.在Android平台下,新建一个TelnetClient对象,根据IP地址和设置的Telnet端口2323号端口,采用connect方法连接无线路由器,新建一个异步任务,输入用户名和密码登录,登录成功后,输入“wstalist”命令获取所有连接无线路由器的设备的物理地址等信息.在Android教师客户端上的一个扫描服务就采用这样的方式获取到所有连接设备的信息(包括物理地址),接着就截取出物理地址这部分内容,组合成一个物理地址列表,上传给服务器.该服务的流程如图3所示.

图3 扫描服务流程图Fig.3 Flow char of scan service

3手机签到系统设计

3.1主要模块设计

准备工作阶段:用户注册后首次登录时,Android用户客户端自动获取手机的物理地址提交给服务器,与相应用户信息绑定,保存到数据库,作为以后签到的标志.

讲座预告:管理人员发布讲座预告,提供讲座详情,包括讲座演讲人员、演讲内容、时间地点等,用户可以在客户端上查看讲座的预告.

讲座报名:用户看到讲座预告后,根据实际需要,进行报名预定.

讲座进行前的3个模块的序列如图4所示.

图4 讲座进行前序列图Fig.4 Sequence diagram before lecture

讲座进行模块:首先,用户开启WIFI,连接到相应教室或报告厅的无线路由器.然后,教师或助教用Android教师客户端通过Telnet方式访问无线路由器,获取所有已连接手机的物理地址,再发送给服务器,服务器端(比对数据库中的报名人员的物理地址)反馈所有与会人员的名单,当然已注册未报名的旁听人员名单也可以获取到;教师或助教可以仅仅开启讲座点到模式,Android教师客户端就会开启一个Service,这个Service每过一段时间会自动获取扫描结果并上传服务器,自动完成与会人员的签到统计,记录在服务器数据库中,直到讲座结束时关闭讲座来停止该Service.该模块序列图如图5所示.

图5 讲座进行模块序列图Fig.5 Sequence diagram of lecture module

签到反馈和阶段性统计:讲座结束后,每一位用户可以在Android用户客户端上查看自己的讲座签到情况.在学期末,或者一阶段后,可以通过服务器自动统计一系列讲座的签到情况,比如某个讲座的应到人数、实到人数和旁听人数,或者某个用户的讲座报名及签到统计情况.用户查看自己签到情况的序列图如图6所示.

图6 签到查看模块序列图Fig.6 Sequence diagram of checking attendance module

3.2数据库设计

用户表(PUB_USER)如表1所示,USER_MAC字段用于绑定用户手机MAC地址到数据库,以通过MAC地址来确认签到的用户,USER_ROLE字段代表用户的角色(表中一些不重要的字段未以显示,如性别,班级等,下同).

表1 用户表

讲座表(PUB_LECTURE)如表2所示,LECTURE_STATE 字段表示讲座的状态,有未发布、已发布、开始和结束等.

表2 讲座表

签到表(PUB_SIGNIN)如表3所示,LECTURE_ID字段与USER_ID字段共同组成主键,SIGNIN_STATE字段表示讲座的签到状态,有未签到、已签到等,SIGNIN_TYPE字段可取自动签到,手工补签等.

表3 签到表

扫描记录表(PUB_SCAN_RECORD)见表4,记录每一次无线路由器上传的扫描情况,对比表1中的USER_MAC,即可得出扫描到的用户ID.

表4 扫描记录表

其他数据库表、评价表(PUB_EVALUATE)、报名表(PUB_ENROLL)和讲座统计表(PUB_LECTURE_STATISTICS)等限于篇幅,不再赘述.

4手机签到系统的展示

基于无线路由器的手机签到系统有用户客户端和教师客户端两个Android端.图7展示的是用户客户端,图7(a)为用户登录;图7(b)为用户查看讲座预告;图7(c)为用户查看讲座预告详情并报名;图7(d)为用户查看自己讲座的签到情况.

图7 系统展示图1Fig.7 One of system display

图8展示的是教师客户端,图8(a)为教师选择讲座所在地;图8(b)为教师查看讲座报名名单;图8(c)为教师查看无线路由签到人数的统计;图8(d)为教师可以为学生手工签到.

图8 系统展示图2Fig.8 Another of system display

5结论

基于无线路由器的手机签到系统,将获取手机物理地址并上传给服务器的复杂操作封装在教师客户端,而参加讲座的人员在讲座签到时只需要连接一个WIFI,步骤简单,操作少,签到准确率高,并不像二维码扫描、人脸识别需要固定地点进行签到,因而不会造成讲座签到时的人流拥堵状况.系统真正从参加讲座人员的角度出发,尽可能地减少他们的操作,又保证了签到的准确率.但是系统中,仍有两个问题,一个是无线路由器可以连接的设备数有限,另一个是用于点到的无线路由器产生的WIFI频段相近,会相互干扰,且会影响公用网络[14].智能时代的到来,签到的方式也层出不穷,一改过去的繁杂与不便,但是仍有些许小缺陷,需要我们不断去创新和改进.

参考文献:

[1]郭雷勇,周志超,李宇,等.RFID技术在会议报到系统中研究与实现[J].微计算机信息,2012,28(1):36-38.

[2]张宗达,李禹恒,李云超,等.基于ARM7LPC2138的手机蓝牙考勤系统设计[J].长春理工大学学报(自然科学版),2012,34(4):145-148.

[3]汤一平,严海东.非约束环境下人脸识别技术的研究[J].浙江工业大学学报,2010,38(2):155-161.

[4]程继兴,丁金卉,刘霞,等.人脸识别会议签到的嵌入式系统设计[J].单片机与嵌入式系统应用,2014(7):38-41.

[5]于晓君.二维码信息技术在会议签到中的应用管理[J].通信管理与技术,2014(4):168-168.

[6]梁荣华,刘志,崔冲.基于移动端的二维彩色条码分割算法研究[J].浙江工业大学学报,2011,39(5):566-570.

[7]狄三云,宋丽红,张铠.基于Android的手机签到系统[J].计算机与现代化,2014(7):104-108.

[8]陈璟,陈平华,李文亮.Android内核分析[J].现代计算机(专业版),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签到管理系统的设计与实现[J].东莞理工学院学报,2015,22(3):41-46.

[11]徐志江,庄壮,孟利民.一种基于Android智能手机的车载定位查询软件[J].浙江工业大学学报,2014,41(6):655-659.

[12]胡奕,唐莉萍.嵌入式系统上无操作系统Telnet服务器的实现[J].计算机系统应用,2014(10):79-84.

[13]卢爱卿,张会勇,赵征.Telnet协议的实现原理及应用[J].计算机工程,2002,28(11):268-269.

[14]宋晓诗.无线通信网络干扰管理技术研究[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)

作者简介:王卫红(1969—),男,浙江临海人,教授,主要从事遥感信息提取和空间信息服务研究,E-mail:wwh@zjut.edu.cn.

中图分类号:TP311.5

文献标志码:A

文章编号:1006-4303(2016)03-0242-05