云捷EMS开源能源管理系统, 分为物联网硬件网关部分、数据采集部分、数据应用、数据大屏四大模块, 适用于生产制造类企业、工厂、园区、写字楼等高能耗企业的能源管理场景, 是一套完整的全链路的能源数据采集、上传、存储、计算、分析、展示的EMS系统 支持高耗能企业,水、电、汽、热、油、空压机、中央空调、光伏逆变器、机房、楼层配电箱、电力等数据的采集和分析。
硬件网关部分:支持包括 Modbus、IEC101、102、103、104、61850、DL/T645、MQTT、OPC等50余种协议的采集和解析; 数据采集部分:包括电表、水表、热用表、光伏、逆变器、空压机、配电箱等数据采集、解析、存储等功能; 数据服务部分:包括前端、后端、实时数据、历史数据、各维度能耗分析、报警、运维、工单、派单、一次线图等功能; 数据大屏部分:包括数据看板、自定义报表配置、可视化大屏配置、界面可视化配置等。
`
`
1.前端采用Arco Design Pro( VUE3 版本) 2.后端采用Spring Boot、Spring Cloud & Alibaba 3.注册中心、配置中心选型Nacos=2.2.2,权限认证使用Redis 4.流量控制框架选型Sentinel,分布式事务选型Seata 5.数据库采用MYSQL >= 5 .7, JDK1.8, Maven >= 3.0
方式一 :MQTT格式消息 硬件设备通过智能电表或者硬件网关上传,大部分为MQTT形式定时上报,采集系统订阅后对上报数据进行处理。 下图是某硬件网关上报的mqtt报文,由后台进行数据处理。不同的设备格式参数不同,可能需要进行针对性解析。 【后台可视化配置好参数后,直接可订阅硬件网关上传的数据,基本上不需要开发】
`
`
方式二 websocket订阅模式 websocket订阅模式,系统定时下行指令,设备上报后进入消息队列rabbitmq,由采集服务分布式处理。
`
`
【配置路由】
`
`
【配置转发方式:是MQTT 还是 TCP/IP socket 还是 其他方式】
`
`
【配置转发的点位(变量):如电压参数、电流参数、Ua、Ub等】
`
`
1、实时数据,上传至时序库或者redis数据库,以被实时调用;
2、业务数据,系统会自动计算,按照日月年的数据格式存放至业务库,以便系统进行调用,避免调用时临时计算降低效率。
`
` `
` `
` `
` `
` ` `
` `
` `
` `
` `
` `
**【数据看板支持拖拉拽,选择展示方式,完全可视化配置】**
`
` `
` `
`
【告别复杂报表,全部可以创建报表模板,关联数据,一键可视化配置】
`
` `
`
【报警-工单-任务,一气呵成】
`
`
** [大屏支持可视化配置,创建卡片,编辑卡片信息,选择卡片位置,关联数据,即可完成大屏配置]**
`
` `
`
com.yunpower ├── yunpower-ui // 前端UI界面 ├── yunpower-diagram-ui // 接线图UI界面 ├── yunpower-gateway // 网关模块 [8080] ├── yunpower-auth // 认证中心 [9200] ├── yunpower-api // 接口模块 │ └── yunpower-api-system // 系统接口 ├── yunpower-common // 通用模块 │ └── yunpower-common-core // 核心模块 │ └── yunpower-common-datascope // 权限范围 │ └── yunpower-common-datasource // 多数据源 │ └── yunpower-common-log // 日志记录 │ └── yunpower-common-redis // 缓存服务 │ └── yunpower-common-seata // 分布式事务 │ └── yunpower-common-security // 安全模块 │ └── yunpower-common-sensitive // 数据脱敏 │ └── yunpower-common-swagger // 系统接口 ├── yunpower-modules // 业务模块 │ └── yunpower-system // 系统模块 [9201] │ └── yunpower-job // 定时任务 [9203] │ └── yunpower-datav // 数据服务 [9204] │ └── yunpower-file // 文件服务 [9300] ├── yunpower-visual // 图形化管理模块 │ └── yunpower-visual-monitor // 监控中心 [9100] ├──pom.xml // 公共依赖