本发明涉及物联网,尤其涉及一种基于机器学习的物联网设备实时预警系统。
背景技术:
1、物联网技术的大规模应用促进了智能工业的快速发展,智能工业将具有环境感知能力的各类终端不断融入到工业生产的各个环节,可以显著提升工业产品的生产效率,并有效改善产品质量,降低产品成本和资源消耗,生产过程控制、生产环境监测是智能工业的典型应用场景。
2、在工业生产环境的场景中,由plc设备采集各种环境数据,然后将这些数据通过tcp协议发送到接入网关,接入网关再将这些数据发送给大数据系统进行存储和管理。生产环境中采集的数据如温度、湿度、甲醛、瓦斯气体密度等与安全生产息息相关,一旦这些数据超过了预定的阈值就可能触发安全事故。因此,如何对采集到的这些环境数据进行分析挖掘,并对其未来的趋势进行预测,从而提前发出预警,提醒人们采取安全防范就显得极为重要。
3、有鉴于此,本发明提出一种基于机器学习的物联网设备实时预警系统。
技术实现思路
1、本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
2、鉴于上述的问题,提出了本发明。
3、为解决上述技术问题,本发明提供如下技术方案:一种基于机器学习的物联网设备实时预警系统,包括:
4、plc设备:用与采集工业生产中的环境数据,并将环境数据发送到接入网关;
5、接入网关:用于接收plc设备采集的环境数据,并将环境数据发送给训练模块;
6、训练模块:用于接收并处理环境数据,更新历史数据集,训练预测模型;
7、预警模块:用于使用训练好的模型对未来数据进行预测,根据预警规则配置文件判断是否需要触发预警;
8、websocket模块:用于接收预警消息并通过websocket双向连接将消息发送到web客户端模块;
9、web客户端模块:用于显示从websocket模块接收到的预警消息;
10、系统运行流程包括:
11、步骤1,plc设备向接入网关发起tcp连接请求,双方建立tcp长连接;
12、步骤2,plc设备采集工业生产中的环境数据并将环境数据封装到plc_data消息后发送到接入网关,plc_data消息内容包括createtime、plcid、plctype和plcvalue,其中,createtime表示数据采集时间,plcid表示plc设备id,plctype表示plc设备类型,plcvalue表示plc设备的采集值;
13、步骤3,接入网关向训练模块发起grpc连接请求,将消息发送到训练模块;
14、步骤4,训练模块解析出plc_data的字段[createtime,plctype,plcvalue],并将这些字段的数据插入到历史数据集后保存到指定目录下;
15、步骤5,训练模块对历史数据集的所有记录进行遍历,如果记录的plctype字段与plc_data中的plctype字段的值相同,则将该记录插入集合s中;
16、步骤6,训练模块加载随机森林算法,然后对集合s的createtime和plcvalue的值进行拟合计算,生成预测模型,然后将预测模型保存到指定的目录下,不同类型的plc设备对应不同的预测模型;
17、步骤7,训练模块创建携带plc_data的plctype值的预测请求消息并将预测请求消息发送到预警模块;
18、步骤8,预警模块加载预警规则配置文件,预警规则配置文件内容包括不同的plctype以及各个plctype对应的预警的最大值、预警的最小值和预警天数,预警模块根据预测请求消息中的plctype值获得该类型数据对应的预警的最大值、预警的最小值和预警天数,然后根据plc_data消息的plctype字段加载对应的预测模型;
19、步骤9,预警模块根据当前日期值将预警天数转换为未来日期值,然后调用预测模型对未来的日期数据进行预测,获得预测数据,根据预测数据判断是否创建预警消息;
20、步骤10,预警模块向websocket模块发起grpc连接请求,将预警消息发送到websocket模块,websocket模块与web客户端模块建立web socket双向连接,然后将预警消息alert_data发送到web客户端模块,web客户端模块将预警消息显示在网页上。
21、作为本发明一种基于机器学习的物联网设备实时预警系统的一种优选方案,其中,步骤2中plc设备具体通过modubs协议采集工业生产中的环境数据。
22、作为本发明一种基于机器学习的物联网设备实时预警系统的一种优选方案,其中,环境数据具体包括温度、湿度、甲醛密度和瓦斯气体密度。
23、作为本发明一种基于机器学习的物联网设备实时预警系统的一种优选方案,其中,步骤9中判断是否创建预警消息的方法具体为:将预测数据与预警的最大值、预警的最小值进行比较,如果预测数据不在该范围内,则创建预警消息。
24、作为本发明一种基于机器学习的物联网设备实时预警系统的一种优选方案,其中,步骤9中创建的预警消息内容具体包括预警天数、plctype和预测数据。
25、作为本发明一种基于机器学习的物联网设备实时预警系统的一种优选方案,其中,所述历史数据集为csv格式并且其表头字段为createtime、plctype和plcvalue。
26、作为本发明一种基于机器学习的物联网设备实时预警系统的一种优选方案,其中,步骤10具体包括:
27、步骤10.1,预警模块将预警消息封装到protobuf消息体中,然后向websocket模块发起grpc连接,将protobuf消息体发送到websocket模块;
28、步骤10.2,websocket模块在指定端口监听预警模块的发起的grpc请求,收到预警模块发送的protobuf消息体后解析出预警消息;
29、步骤10.3,websocket模块与web客户端模块建立web socket双向连接,获得websocket数据通道对应的channelcontext,由channelcontext将预警消息alert_data发送到web客户端模块,由web客户端模块将预警消息显示在网页上。
30、作为本发明一种基于机器学习的物联网设备实时预警系统的一种优选方案,其中,步骤10.2中websocket模块在指定端口监听预警模块的发起的grpc请求具体为:websocket模块加载python的grpc模块,调用函数server()在指定端口监听预警模块的发起的grpc请求。
31、本发明的有益效果:本发明通过物联网技术实现了对工业生产环境中各种关键数据的实时采集、存储和管理,并利用机器学习算法对历史数据进行分析和预测,能够提前识别潜在的安全风险并发出预警,利于保障工业生产的安全性。
1.一种基于机器学习的物联网设备实时预警系统,其特征在于,包括:
2.根据权利要求1所述的一种基于机器学习的物联网设备实时预警系统,其特征在于:步骤2中plc设备具体通过modubs协议采集工业生产中的环境数据。
3.根据权利要求2所述的一种基于机器学习的物联网设备实时预警系统,其特征在于:环境数据具体包括温度、湿度、甲醛密度和瓦斯气体密度。
4.根据权利要求1所述的一种基于机器学习的物联网设备实时预警系统,其特征在于,步骤9中判断是否创建预警消息的方法具体为:将预测数据与预警的最大值、预警的最小值进行比较,如果预测数据不在该范围内,则创建预警消息。
5.根据权利要求4所述的一种基于机器学习的物联网设备实时预警系统,其特征在于:步骤9中创建的预警消息内容具体包括预警天数、plctype和预测数据。
6.根据权利要求1所述的一种基于机器学习的物联网设备实时预警系统,其特征在于:所述历史数据集为csv格式并且其表头字段为createtime、plctype和plcvalue。
7.根据权利要求1所述的一种基于机器学习的物联网设备实时预警系统,其特征在于,步骤10具体包括:
8.根据权利要求7所述的一种基于机器学习的物联网设备实时预警系统,其特征在于,步骤10.2中websocket模块在指定端口监听预警模块的发起的grpc请求具体为:websocket模块加载python的grpc模块,调用函数server()在指定端口监听预警模块的发起的grpc请求。