刘文举,冯锡炜,徐伟炫,陈 槊,魏 铭,马国皓
(1.辽宁石油化工大学创新创业学院,辽宁抚顺 113001;2.辽宁石油化工大学信息与控制工程学院,辽宁抚顺 113001;3.辽宁石油化工大学经济管理学院,辽宁抚顺 113001;4.辽宁石油化工大学机械工程学院,辽宁 抚顺 113001)
2020 年春,新冠肺炎席卷全球,在疫情期间高校应更加高效地管理学生[1],保证学生安全,防止疫情传播,因此该系统设计的主要目的便是保证同学们的安全。手机以及微信是大学生日常生活学习必不可少的工具,该系统中学生端打开微信小程序[2-3],开启手机定位[4],小程序对学生的位置信息进行实时采集,将数据传送至数据库[5]供管理平台进行调用查询,管理员可实时查询学生位置;通过对百度地图进行二次开发[6],用户端微信小程序能够方便用户查看校园地图,显示行程轨迹,查询天气信息,以及在用户接近设定范围边界及或有门禁的楼宇时会对用户进行提示。门禁[7]部分采用较为流行的嵌入式开发,选用ESP8266 开发板[8],通过Arduino[9]开发对其嵌入代码,实现开闸、关闸、测温等功能,同时将数据进行上传。
如此便可对人员位置进行实时监控,对校园内人员以及安全进行全方位管理。
该系统的主要设计目的是帮助高校更好地管理学生,能够调取学生在校期间的行程数据,通过对数据进行分析,能够了解学生的行程信息,进而保护学生安全。同时在疫情期间,大多数高校实行封闭式管理,该系统能有效缓解高校的管理压力。
系统主要分为三大部分,分别是微信小程序、管理平台、门禁系统,结合前后端开发对系统的各个部分进行设计,管理员可通过管理平台实现门禁查询、路线查询、历史记录查看、日周月报查看等功能,用户端则具有查看天气、楼宇门禁提示、围栏警示等功能,系统结构功能如图1 所示。
图1 系统结构功能图
管理平台采用IDEA 开发工具对页面进行设计,管理员登录管理平台即可实现对校园管理系统的管理,对异常数据进行处理,对超出学校围栏的进行通报,以及查询人员的行踪轨迹数据,查看周报、月报与日报。
微信小程序用于移动端检验查询系统的设计与开发[10],主要涵盖登录页面、地图页面、个人中心页面,其中地图主页面有“天气查询”“开始记录轨迹”“轨迹记录”三个按钮,以及校园电子地图界面。小程序能够对用户的位置进行采集,并进行数据上传,同时能显示用户的行程轨迹,超出范围时进行警示。
门禁部分由ESP8266WiFi 开发模块、DS1820 温度传感器和舵机组成,通过Arduino 开发工具给ESP8266 开发板嵌入代码,以实现对进入人员进行测温,以及控制舵机旋转实现门禁开闭。
注册微信小程序后,准备百度地图微信小程序JavaScript API 相关配置获取开发者密钥(AK),小程序JSAPI 对百度地图Web 服务API 中的部分接口按照微信小程序的规范进行前端JS 封装,方便微信小程序开发者进行调用。
2.2.1 IDEA
IDEA 能够为创建可扩展的集成开发环境提供一个稳固可靠的开放平台,在该系统中,IDEA 用于Web 的前后端开发,同时作为百度地图开发的平台,并将其嵌入微信小程序中。
2.2.2 MySQL设计
MySQL 是关系型数据库[11]管理系统,是包括有关联的逻辑组织和存取数据的一套程序,该系统数据库设计主要包括以下实体:
1)门禁:地点、时间、ID;
2)温度:ID(自动增长)、时间、体温、地点;
3)开关:ID(自动增长)、按钮;
4)用户:ID(自动增长)、学号、用户名;
5)天气:时间、文本、风向、风力级别;
6)管理员:ID、用户名;
7)地点:经度、纬度、地点名、半径、ID;
8)行迹:经度、纬度、时间。
前端主要使用了和微信小程序类似的开发技术,使用HTML 对页面进行编写;CSS 可以对整个页面进行编辑,其与div 的结合使得页面更加美观;标签里嵌入JS 函数,可以让标签更活跃,当标签被点击或者需要数据时可以通过JS 函数来获取。
数字温度传感器DS18B20 是温度采集系统中常用的一个新型数字温度传感器,其具有体积小、精度高、适用电压宽及采用一线总线、可组网等优点[12],在实际应用中取得了良好的测温效果。
ESP8266 是专为移动设备和电子产品等物联网应用而设计的,通过Arduino 开发平台给ESP8266开发板嵌入门禁程序,令其控制舵机,实现门禁的开闭。
门禁控制电路如图2 所示,DS18B20 端的温度信号转换成电信号,由ESP8266 开发板处理后根据温度判断是否低于合格温度37.3 ℃,如果小于37.3 ℃,则门禁屏幕显示“体温正常开”,同时ESP8266 开发板控制舵机P-Motor 转动,门禁打开;反之如果大于合格温度,屏幕显示异常,门禁关闭。
图2 门禁控制电路原理图
MQTT 协议[13]是为工作在低带宽、不可靠网络的远程传感器和控制设备通信而设计的协议,通过MQTT 消息代理者通信来间接实现交互消息。
MQTT 传输的信息主要是由主题(Topic)和负载(Playload)两部分组成[14],可以把所有联网物品和外部连接起来,通过单片机的联网功能实现校园监控和门禁测温相结合,学生每次进入建筑物时进行测温,通过MQTT 传递信息,以判断是否体温正常,MQTT 连接ESP8266 示意图如图3 所示。
图3 MQTT连接ESP8266示意图
MQTT 工作流程图如图4 所示。
图4 MQTT工作流程
第一,对技术可行性进行分析,通过较为成熟的MySQL 数据库以及Java 编程语言和C 语言的相关结合应用,使用IDEA 和微信开发工具,在Tomcat 服务器[15]上进行部署,前端在微信小程序上运行,后端在浏览器上运行,因此技术方面可行。
第二,对操作可行性进行分析,学生只要打开微信小程序,便可实现定位功能,管理员只需登录平台便可实现对校内人员的行程信息进行管理。
开发工具有jdk-12.02、MySQL、navicat.exe、Arduino.exe、IntelliJ IDEA、Postman.exe、微信开发者工具及Mqttx.exe。
1)登录界面
为了平台的安全性,管理员查看用户数据时,需要先输入自己的用户名和密码,以防止信息泄露。
2)平台主界面
平台主界面用来展示管理员主页面,显示管理员有哪些功能和管理范围,其中管理员的权限有天气查询,体温检测,门禁查询,人员行程历史记录,日报、周报、月报查看,以及人员体温查询等。管理平台主界面如图5 所示。
图5 管理平台主界面
3)体温查询
管理员可以在平台查询人员体温信息。
4)天气查询
管理员可以在平台查询天气信息。
5)门禁查询
管理员通过管理平台能够查看学生经过哪些门禁,间接的说明学生进入过哪些建筑物,查询样例结果如图6 所示。
图6 门禁查询样例结果图
6)路线查询
管理员可查询人员在地图上的行踪轨迹。
7)历史查询
用来查看用户的身份信息和去过的路线,查询样例如图7 所示。
基于百度地图的二次开发[16],注册百度地图密钥,连接百度地图API,利用IDEA 开发平台调出校园电子地图,百度地图能够较为详细地显示校内地图,并将其嵌入微信小程序中。
当用户接近或超出设定范围时,微信小程序会发出警告,当用户接近或进入带有门禁的楼宇时,小程序也会发出提示,提示用户该建筑物有门禁测温,其实现的提示及报警功能如图8 所示。
图8 小程序功能实现图
门禁系统模型采用ESP8266 串口以WIFI 模块为主体,该模块能够实时联网、上传数据,当测温合格时则门禁打开,待其通过后,门禁关闭。
当温度合格时门禁打开,舵机控制闸刀打开,如图9 所示。
图9 门禁打开图
等待通过后门禁关闭,舵机旋转,闸刀下拉,门禁闭合,如图10 所示。
图10 门禁关闭图
该文设计的校园定位管理系统主要基于微信小程序,通过该系统能够准确定位校内人员,并在人员进入门禁及时进行提醒、超出范围时进行报警,同时管理员能够对校内人员行踪进行管理,全方位管理校园,保证了学生安全。