物联网应用案例:镇海智慧水务

首页 » 物联网 » 物联网应用案例:镇海智慧水务

物联网应用案例:镇海智慧水务

1

项目介绍

宁波市镇海区智慧水务工程包括水环境治理设施监控、水务信息资源中心、水务综合监管平台(监控、治水监管、应急指挥、综合服务、决策支持、集成开发)、水务专项应用(包括防洪、环保、排水)等。监控系统如图1所示。

物联网应用案例:镇海智慧水务

图1 智慧水务监管体系

2

技术架构

图2是基于物联网架构设计的镇海水务分层架构模型。根据物联网架构,我们将镇海智慧水务架构抽象为四层:感知层、网络层、平台层、应用层。

物联网应用案例:镇海智慧水务

图2 镇海水务分层架构模型

3

关键设计决策

任何架构和设计决策最终都是解决业务问题的关键。在镇海智能水务的开发和实施过程中,存在以下技术挑战:

“物”的多样性和差异性。镇海水务的监测对象包括:闸门、泵站、排海管网、水质检测站等。监测指标包括PH值、COD、流量等。监控数据来自不同的工业传感器、自动控制系统、智能终端设备和电子标签,运行在不同类型的操作系统或微控制器上,使用不同的数据协议,如Modbus、DNP3、DL101、OPC等。

“物”所处的网络环境的多样性。物联网设备以不同的方式连接到骨干传输网络,如RFID、WIFI、蓝牙等。

物联网应用层协议的多样性。在镇海水务项目中,我们采用MQTT、HTTP(REST)和WebSocket。

实时数据采集、传输和处理。在应急响应和实时监控方面,对实时数据和系统响应有很高的要求。

海量数据的实时处理、存储和分析。

此外,每个单位都有一些已建或在建的系统,数据孤岛现象严重,难以互联互通。

物联网应用案例:镇海智慧水务

图3 智慧水务SCADA系统的逻辑架构

那么,我们如何解决和应对这些挑战呢?接下来,我们将重点介绍四项关键技术。它们是:

物联网网关——解决众多传感器设备的数据采集和处理问题;

海量数据存储——解决物联网传感器产生的海量数据存储问题;

实时通信——解决数据通信的实时性问题,从“感知层”到“表示层”的上行通信和从“表示层”到“感知层”的下行通信;

数据交换和共享——解决不同单位和系统之间的数据交换和共享问题。

物联网网关

镇海水利工程的各种监测设备主要是工业自动化系统的传感器,如水质PH值、COD检测、流量计、水位计等。Modbus协议是水利行业传感器协议事实上的标准。此外,OPC协议被广泛使用。虽然是标准协议,但是各单位已经有一些原有的自动监控系统,设备来自不同的厂家,系统也不是一个开发商提供的,所以Modbus协议的实现并不完全一致,增加了系统开发和集成的难度和工作量。

针对这样的普遍需求,我们在项目中自主研发了物联网网关产品。一般来说,物联网网关是一个通用的数据采集和通信网关。它内置了对主流数据协议的支持,并提供自定义插件实现动态扩展,即可以支持对非内置的协议进行二次定制开发。开发者只需要继承DataSource基类,实现特定的override方法,就可以快速完成新的“DataSource”程序的开发。然后通过管理工具将动态链接库(DLL)发布到物联网的网关服务器上,从而实现与特定类型的设备和传感器的通信,如图4所示。

物联网应用案例:镇海智慧水务

图4 物联网网关工作原理示意图

海量数据存储

镇海水务一期工程连接多个监测厂、站、节点,不同类型的监测指标采集频率不完全相同。据统计,所有节点一天上报的监测数据约4.32亿条,一年1500亿条记录,约7.2TB。

基于以上容量规划,经过技术调研和可行性验证,我们最终选择MongoDB数据库作为实时数据的持久化存储。

MongoDB实时监控数据集的架构如下:

Point_data_real {

Code string,        // 测点代码

Value double,   // 监测值

Time date,  // 采集时间

Owner {     // 数据来源对象

Category string,

Site string

},

Attributes {    // 扩展属性

Quality bool,

Valid bool,

Event_num int

}

}

经过测试和分析,我们总结了MongoDB数据库性能的最佳实践。当然,这是基于我们自己的测试数据,如表1所示,仅供参考。

物联网应用案例:镇海智慧水务

表1 MongoDB数据库性能最佳实践

值得注意的是,我们的性能测试和评估是在一台服务器上完成的。因此,在实际生产部署环境中,建议采用复制集加芯片集群的模式。

图5展示了如何在最佳性能和最大数据可靠性之间取得平衡。

物联网应用案例:镇海智慧水务

图5 最佳性能和最大数据可靠性的平衡

实时通信

物联网的应用从传感器设备的数据采集和处理,到存储、传输、分析和显示,经历了很多环节。除了程序运行和处理的时间成本,还要考虑网络传输的延迟,即用户对实时系统的要求。除此之外,人机交互方式对系统可扩展性的影响也不容忽视——当有新的监控数据上报给服务器时,是主动推送到监控系统的用户界面,还是让用户发送新的数据请求,然后将结果返回给用户?推送操作是由数据库轮询模式触发还是基于事件通知?这些都会影响最终的技术选择。

表2是相关技术的简单比较。

物联网应用案例:镇海智慧水务

表2 通信技术对比

最后,我们选择HTML5 WebSocket作为物联网网关到监控系统用户界面的实时数据通信机制。主要测评指标包括:实时性、系统可扩展性、技术复杂度、浏览器兼容性、标准化和开放性、用户体验。

数据交换和共享

如前所述,政府部门和单位之间“数据孤岛”现象严重,导致系统之间难以实现互联互通。因此,迫切需要一种数据交换和共享的解决方案。经过市场调研,我们最终开发了一个轻量级的数据交换和共享服务器程序,以满足镇海智慧水务的数据交换需求,如图6所示。

物联网应用案例:镇海智慧水务

图6 数据交换与共享服务工作原理

数据提供者程序和数据接收者程序可以部署在不同的网段和不同的服务器上,只要这两个服务器之间有可连接的网络。数据发送方进程和数据接收方进程可以在不知道对方数据库的情况下访问自己的数据库。

数据交换配置信息用于描述源数据库和目标数据库之间的标识、表和字段映射关系。

数据提供者可以向多个接收者发送数据,数据接收者也可以从多个提供者接收数据。

此时,有人可能会问:为什么不在数据库层面直接使用DTS来实现数据复制呢?简单来说,DTS在某些场景下也可以应用,但只能看具体项目情况,两个数据库必须直接互联,这在镇海智慧水务项目中基本不可行。

附言

最后,我想和大家分享一些经验:

了解多个项目的相关知识。比如镇海智慧水务项目的实施,需要掌握工业传感器、PLC编程、嵌入式系统与编程、网络通信、服务器端开发、大数据相关技术、GIS、数据可视化分析与展示等知识。

应该仔细设计架构。在技术落地和项目实施过程中,需要不断优化和演进架构设计,防止设计的退化。

对于物联网应用项目的实施,很大一部分工作量在于系统集成和设备调试。使用实时数据模拟程序、可视化数据分析等工具,可以对整个项目进行合理的划分和分解,也有利于并行开发,加快进度,便于系统集成。

本文章来源于互联网,如有侵权,请联系删除!