APP下载

某幼儿园智能校园服务平台的设计与实现

2018-01-18赵永鹏

数字技术与应用 2018年9期

赵永鹏

摘要:本文基于某电子科技公司智能校园项目(某幼儿园项目),从软件、硬件、接口三个主要方面分别介绍了整个项目的设计与关键实现技术,项目实现了教室门禁,学生考勤,教师家长互动,课程信息,学生成绩查询等主要功能。

关键词:智能校园;云数据库;socket通信;移动物联网

中图分类号:TN948.6 文献标识码:A 文章编号:1007-9416(2018)09-0106-01

隨着新技术的快速发展,学校开始利用云平台、移动物联网技术和互联网技术等进行智能校园建设,这成为建设校园智能化的一个重要方向。近几年校企教育越来越受到社会的认可,校企合作越来越深入,校企合作项目也越来越多,尤其是智能校园相关项目逐渐被落实并进入到校园,这些项目的实现提高了学校的管理和教师的幸福感指数,有利于远程移动办公,从长远来看促进了教育事业的发展。

1 软硬件要点介绍

软件主要分为四部分:教师版APP、家长版APP、平板APP和云后台(云服务器)。后台架构通过.NET和云数据库SQL Server布局并部署在云端,教师版APP和家长版APP通过http协议和socket与后台通信。http协议负责与云后台数据的拉取,socket负责外设、连接设备等与云后台间的通信。硬件平台主要是带安卓系统的开发版(在开发版基础上开发出平板设备)和IC卡。

2 平板设备上APP源码架构

平板设备是外挂在教室门口,学生进入教室前需要通过平板进行刷卡(二维码扫描或刷脸),相关考勤信息会通过平板APP被采集到云后台。平板APP源码架构采用MVVM设计(本项目其它APP都采用此架构设计实现)。

3 教师/家长版APP功能

教师可以通过教师版APP进行家长互动,查看学生考勤记录以及园务通知等操作。家长可以通过家长版APP查询了解学生成绩和课程信息等。

4 硬件平台和外设介绍

采用带有安卓7.1.1Nougat系统的基础开发板包含camera,并在此板子基础上加刷卡和二维码扫描外设,制作成平板设备。学生上课前在平板设备上刷卡(二维码扫描或刷脸),通过gpio控制开教室门后才能进入教室学习,学生上课数据会被采集并上传到云服务器端。

5 接口通讯规范

智能出入通道终端软件与中心服务器之间是双向通讯,中心服务器运行服务端程序,终端软件作为客户端程序运行。为保证通讯能够稳定进行,需要具备如下条件[1-2]:

(1)使用基本的TCP协议,长时间连接的方式运行,中心服务器服务端口定为XXXX,要求中心网管系统开放该端口的TCP通讯。(2)中心服务器应支持多个智能出入通道终端软件的主动连接,并有效管理连接。(3)心跳机制:智能出入通道终端软件主动连接中心服务器,连接成功后,每15秒向中心服务器发送心跳命令包,中心服务器收到该心跳命令包后,回应一个心跳数据包。(4)握手通讯过程:认证过程使用类似的Digest过程,为保证安全密码不在通讯线路中传送。(5)数据确认机制:每一次会话,有请求,必需有回应,有提交数据时,必需有提交确认,如果数据发送失败,或者没有回应,认为网络断开,按网络断开流程处理。

5.1 数据格式说明

所有数据采用低端在前,高端在后。(1)通讯帧头数据格式。数据意义:帧头标志,固定为0x62AD36BE+加密后的数据有效长度n(不含本帧头长度)+协商的身份标识符Token+加密后的数据;数据长度(字节):4+4+16+n。(2)加密后的数据解密后的原始数据格式。数据意义:CRC16校验+数据功能命令+命令序号MsgID+有效数据;数据长度(字节):2+2+4+(n-8)。CRC16校验:除CRC16这两字节外的后面所有其它数据的CRC16校验值(即:“数据功能命令+命令序号+有效数据”的CRC16校验)。数据功能命令:见后面定义。命令序号MsgID:当软件登录时给定一个初始序号,可以是0,也可以是其它随机数,然后每次交互发送命令,该值+1,如果收到的序号小于或等于当前的序号,说明数据重复发送,不需要再处理数据,只需要发回结果。该命令序号由发起者给出,响应者原值送回。(3)数据加密方法。软件采用MD5混合式简单处理方式。公式为:MD5(Token+用户密码+本次数据长度n) ,得到16字节的MD5值,然后将该16字节与原始数据,依次相异或[3]。

5.2 错误信息定义

错误码ErrCode(意义):0(表示正确,无错误)、100(表示设备ID不存在)、101(表示该用户名不存在)、102(表示密码不正确)、103(表示数据格式不正确)、104(表示不支持的数据功能命令)、105(表示设备未登录服务器)。

5.3 数据据功能命令定义

数据使用Json格式打包,以便程序好处理。以(数据功能命令+数据意义+发送内容格式+回应数据格式)格式展示3个命令如下所示:

0x0001+智能出入通道终端软件登录服务器+{“ParkID”:”设备ID号”,”User”:”登录的用户名”,”Pass”:”MD5(请求的Token+登录密码)”}+{“ErrCode”:0,”NewToken”:”…”}或者{“ErrCode”:错误码}。

0x0009+更新整个公告信息,旧有的公告信息将自动删除+{“Update”:[{“ID”:”整数标识编号” ,”Text”:”公告内容” },{“ID”:”整数标识编号”,”Text”:”公告内容”},…]}+服务器主动发送或回应0x0008的请求,接收端回应{“ErrCode”:错误码}。

0x0020+刷卡信息主动上传+{“DateTime”:”刷卡时间”,"JobID":"学号",“CardID”:”IC卡卡号”,"FinData":"1为IC卡刷卡,2为二维码,3为刷脸","Img":"实时照片","lockFlag ": "是否有开锁动作,0=无,1=有"}+终端设备主动上传,服务器收到后,回应{“ErrCode”:错误码}。注意:需要用数据格式里的MsgID来区分是哪条命令。

所有操作命令的回应数据都必需带ErrCode指示值。

6 结语

本文以某幼儿园智能校园服务平台项目为依托,介绍了整个项目的设计与关键实现技术,从软件、硬件、接口三个方面分别做了设计。主要实现了以下功能:教室门禁,学生考勤,教师家长互动,课程信息,学生成绩等。后期我们将会在幼儿健康、营养膳食、幼儿圈、智能课程等方面进行平台的升级。

参考文献

[1]吴伟生.基于物联网技术的智慧校园解决方案[J].计算机产品与流通,2018,(5):206.

[2]杨文,贾红宇,刘立栋.基于云平台的智慧校园建设与应用研究初探[J].科学技术创新,2018,(23):63-64.

[3]邓春红,任海鹏,潘涛.基于移动终端的智慧校园系统设计[J].绥化学院学报,2017,(5):158-160.