网站首页  词典首页

请输入您要查询的论文:

 

标题 基于物联网及数据挖掘的教学设备监测预警平台
范文

    宋永生 陈继永

    摘要:教学设备分散在各个实验室,设备故障如果没有及时发现和处理,将会影响正常的教学活动。将物联网及数据挖掘应用到教学设备的监测中,采集教学设备的数据并传输到监测预警服务器,利用深度学习技术对采集到数据进行挖掘分析,及时发现即将发生故障的设备,将预警信息及时告知管理员,以便维修和保养。

    关键词:教学设备;物联网;数据挖掘;深度学习;预警

    中图分类号:TP368.1 文献标识码:A 文章编号:1009-3044(2018)32-0027-03

    Abstract: Teaching equipment is scattered in various laboratories, equipment failure if not detected and dealt with in time, will affect the normal teaching activities. We apply the Internet of Things and data mining to the monitoring of teaching equipment, collect the data of teaching equipment and transmit it to the monitoring and early warning server, use the depth learning technology to mine and analyze the collected data, timely discover the equipment that is about to break down, and timely inform the administrator of the early warning information for repairing and maintenance.

    Key words: teaching equipment; internet of things; data mining; deep learning; early warning

    随着国家推进产业升级,国内很多学校特别是职业院校非常重视学生动手能力的培养,学生需要进行比较多的实验操作。教学设备分散在各个实验室及教室,万一教学设备发生故障,不能及时发现和解决,将会影响正常的教学秩序,造成教学事故。教学设备众多,从而给管理和维护带来了困难,特别是具有多校区的学校。教学设备分散,维修和保养需要大量的人力物力。如果可以预测教学设备的故障发生,为应急处置赢得时间,显得尤为重要。

    数据挖掘是从海量数据中抽取前所未知的,可理解可操作信息的过程。对数据挖掘而言,数据库提供了数据管理技术,机器学习和统计学提供了数据分析技术,数据挖掘技术大多来自机器学习领域。深度学习又是近年来机器学习中发展最快的部分,深度学习有助于提升对大数据挖掘的精度和深度[1]。

    Python 是一种面向对象的解释型高级程序设计语言。由于 Python 程序的简洁、易读、可扩展,还可以跨平台运行,深受科研人员的喜爱,在科学计算、数据分析及挖掘等方面更是积累了丰富的Python程序库。

    本文将物联网及数据挖掘应用到教学设备监测中去,物联网将分散在各个实验室孤立的教学设备连接起来,通过传感器采集教学设备的数据并传输到监测服务器,利用深度学习技术对采集到的数据进行分析与挖掘,及时发现即将发生故障的教学设备,将预警信息及时通知管理员,以便管理员做好设备的维修和保养。

    1 系统架构

    教学设备监测预警平台主要分为三个部分:终端接入、数据挖掘和教学设备管理。终端接入单元主要提供各类教学设备的数据接入功能;数据挖掘单元主要对采集到的教学设备数据进行挖掘和分析;教学设备管理系统主要为管理员、教师及学生提供报修、故障信息发布、使用申请及短信提醒等功能,系统总体架构如图1所示。

    教学设备的监测数据来源主要有传感器数据、日志数据及用户上报数据。大多数教学设备不具备联网能力,对这类教学设备的数据采集,可以加装传感器及具有联网能力的终端控制器。根据教学设备的不同特點,选用不同的传感器,有的设备可以根据声音判断是否发生故障,有的设备可以根据指示灯判断是否发生故障,有的设备可以根据温度判断是否发生故障。

    2 相关技术模块

    2.1 结构化数据采集与处理

    结构化数据采集终端的控制器可以选用TPYBoard V202,该开发板基于ESP8266,可以Wi-Fi上网,TPYBoard支持MicroPython编程。MicroPython是Python 3语言的精简高效实现。温度等传感器与TPYBoard相连。

    很多学校实现了校园Wi-Fi全覆盖,利用Wi-Fi网络将传感器数据上传到监测服务器。物联网通信协议主要有MQTT和CoAP。CoAP传输内容虽然小巧精简,但不适合实时反向控制。MQTT是IBM基于TCP/IP协议开发的一种轻量灵活的通讯协议,采用Pub/Sub的方式。MQTT支持异步通信,将消息发送者与接收者分离,适用于设备间消息通信或需要反向控制的场景。本文将MQTT选为结构化数据采集终端与监测服务器之间的通信协议。MQTT Broker主要有Mosquitto、Apollo、Mosca、emqttd及hbmqtt等,其中Mosquitto是Eclipse的一款用C语言实现的轻量级开源消息代理软件,实现了MQTT协议 3.1和3.1.1。MQTT客户端可以采用Eclipse的开源项目 Paho,Paho有Python、C、C++、Java等不同语言实现的版本。

    2.2 非结构化数据采集与处理

    非结构化数据采集终端的控制器选用树莓派3B+,带Wi-Fi上网功能,安装开源直播软件OBS。利用麦克风采集音频、摄像头采集视频,OBS将音视频数据通过RTMP协议传输到音视频监控服务器。目前很多实验室及教室已安装有音视频监控系统,可以对现有音视频监控服务器上的音频及视频数据进行挖掘。

    OpenCV是开源、跨平台的计算机视觉库,由英特尔公司发起并参与开发,在商业和研究领域可以免费使用[2]。OpenCV提供了很多图像和视频处理API,利用OpenCV可以很方便的处理视频数据。pydub是Python的一个音频处理库,提供了简单易用的音频处理API。由于pydub底層依赖于FFmpeg,所以需要先安装FFmpeg。利用pydub可以很方便地处理音频数据。

    2.3 日志数据收集与管理

    服务器、电脑、交换机等教学设备,在运行过程中,通常会记录日志信息,比如记录系统开机、发生故障等信息。这些设备虽然具有联网能力,但日志信息没有得到集中管理和利用,形成了日志信息孤岛。可以在这些设备上安装日志收集客户端,通过客户端将这些设备的日志通过网络上传到日志收集服务器。

    常用的开源日志收集系统有Logstash、Scribe、Chukwa及Flume等,各有所长。利用开源日志收集软件构建日志收集系统,将联网设备的日志存储于日志收集服务器。

    2.4 用户上报数据收集与管理

    为了快速构建教学设备管理系统,可以在Web框架的基础上进行构建。Django是最负盛名的Python Web框架,于2003年诞生于美国,最初用于劳伦斯出版集团旗下的在线新闻Web站点,于2005年在BSD许可证下发布,成为开源Web框架。相对于Python其他Web框架,Django的功能最为完整,Django定义了服务发布、路由映射、模板编程、数据处理的一整套功能[3]。Django是遵循MVC架构的Web开发框架。利用Django可以简便快速的构建教学设备管理系统,实现教学设备的报修、故障信息发布、使用申请及短信提醒等功能。教师和学生在使用教学设备过程中,如果教学设备发生故障,可以在教学设备管理系统上报设备故障信息,以便管理员及时获悉并处理。

    2.5 数据挖掘

    深度学习是构建具有多隐层的机器学习模型,对海量的训练数据进行学习得到更有用的特征,从而提升分类或预测的准确性[4]。TensorFlow最初由Google Brain Team团队开发,Google使用TensorFlow研发自身产品,并于2015年将其开源。TensorFlow功能强大,执行效率高,可以在CPU、GPU及TPU中执行。TensorFlow具备跨平台的能力,并提供Python、C++等多种语言编程接口。利用TensorFlow进行深度学习,以实现数据挖掘。TensorFlow的众多深度学习模型中,循环神经网络在时序数据分析中适应性更强[5],故采用循环神经网络处理温度传感器时序数据及日志数据。鉴于卷积神经网络在图像及语音处理方面的出色表现,采用卷积神经网络处理音频及视频数据。

    3 系统集成

    教学设备监测预警平台需要三台服务器,分别为:监测预警服务器、音视频监控服务器及日志收集服务器,系统集成示意图如图2所示。

    监测预警服务器选用腾讯云GPU服务器,服务器的配置为CPU 28核,内存224 G,GPU 4*NVIDIA Tesla P40,2T硬盘,100Mbps带宽,操作系统选用CentOS 7.4 64位。安装MySql 5.6数据库,Python 3.6及Django 2.0框架。Web服务器选用nginx 1.4,应用服务器选用uwsgi 2.0。

    在监测预警服务器上安装mosquitto及OpenSSL,完成MQTT Broker的构建。参照Python版Eclipse Paho,开发MQTT客户端,实现消息订阅、发布并将消息存入MySQL数据库等功能。数据采集终端上所安装的MQTT客户端不需消息存储功能。

    利用Django及Ajax技术构建教学设备管理系统,并调用腾讯云短信API,实现短信发送功能。教学设备管理系统的用户分为学生、教师及管理员三种角色,均可上报设备故障信息,设备状况可以在线查询。通过数据挖掘发现教学设备即将发生故障的信息,用户上报的故障信息,都以短信的形式及时通知管理员。

    服务器上依次安装Anaconda及TensorFlow,搭建深度学习环境。通过TensorFlow构建循环神经网络,利用传感器的时序数据及故障数据对其训练、验证及测试,验证数据集和测试数据集要晚于训练数据集。为解决循环神经网络的梯度消失等问题,在TensorFlow中可以用BasicLSTM替代BasicRNNCell。循环神经网络测试好之后,将传感器新采集的数据输入循环神经网络即可得知是否即将发生故障。

    音视频监控服务器上除了安装音视频监控服务器端软件外,还需安装FFmpeg、Anaconda、pydub、OpenCV及TensorFlow。利用 pydub处理音频数据,利用OpenCV处理视频数据,利用TensorFlow开展深度学习,从音频及视频数据中挖掘设备即将发生故障的信息。将故障信息及时同步到监测预警服务器的数据库中。

    日志文件被收集并存储于日志收集服务器,日志收集服务器上除了安装日志收集系统软件外,还需安装Anaconda及TensorFlow。在日志收集服务器上对日志数据进行深度学习,挖掘出设备即将发生故障的信息。将故障信息及时同步到监测预警服务器的数据库中。

    数据的获取及深度学习要实现自动化,以便获取最新的数据,及时进行挖掘分析,从而发现设备即将发生故障的信息。将这些预警信息以短信的形式及时发送到管理员的手机,以便管理员对设备做好维修和保养。

    4 结束语

    本文将物联网及数据挖掘应用于教学设备的监测中去,以便发现即将出现的故障信息。针对不同的设备,选择不同的数据收集方法。对于自身不具备联网能力的教学设备,采集其温度或音视频等数据;对于自身具备联网能力的教学设备,收集其日志数据。将传感器采集的数据或收集到的日志数据上传至服务器,分别对这些数据进行深度学习,挖掘设备即将发生故障的信息,以便管理员及时对设备进行维修和保养,为教学活动的正常开展提供保障。

    参考文献:

    [1] 王万良,张兆娟,高楠,等.基于人工智能技术的大数据分析方法研究进展[EB/OL].计算机集成制造系统.http://kns.cnki.net/kcms/detail/11.5946.tp.20180817.1005.011.html

    [2] Joe Minichino.OpenCV3计算机视觉:Python语言实现(原书第2版)[M].刘波,等.译.北京:机械工业出版社,2018.

    [3] 刘长龙. Python高效开发实战:Django、Tornado、Flask、Twisted[M].电子工业出版社,2016.

    [4] 刘帆,刘鹏远,李兵,等. TensorFlow 平台下的视频目标跟踪深度学习模型设计[J]. 激光与光电子学进展,2017,54(9):1-9.

    [5] 王鑫,吴际,刘超,等.基于LSTM循环神经网络的故障时间序列预测[J]. 北京航空航天大学学报,2018,44(4),772-784.

    【通联编辑:梁书】

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/11 3:01:12