分享实战的能耗和环境的实时监测控制

简介: 本次分享实战的能耗和环境的实时监测,首先需要对主要用能设施、设备进行能耗分项计量。通过对空调机组、插座、风机、照明回路等安装分项能耗计量表,可以实时、准确、详细地掌握每个用能终端的能源消耗数据。在此基础上通过有线、串口或无线NB网路,将实时数据传送系统中,后台通过设备消息订阅方式对数据进行分发处理

本次分享实战的能耗和环境的实时监测,首先需要对主要用能设施、设备进行能耗分项计量。通过对空调机组、插座、风机、照明回路等安装分项能耗计量表,可以实时、准确、详细地掌握每个用能终端的能源消耗数据。在此基础上通过有线、串口或无线NB网路,将实时数据传送系统中,后台通过设备消息订阅方式对数据进行分发处理,数据按照能耗数据模型进行分析多个角度进行统计、分析、评判,采用动态曲线、图表的形式,并结合场景模式实现控制具体设备达到节能减排效果。整个方案实战内容比较多,因为硬件环境达不到,本次主要分享光线传感器、温湿度传感器、PM2.5传感器、电表、红外线装置通信采集为实战例子,并且数据展现已可视化方式完成配置实现。

一、整体系统由三级设备、二级通道以及一套系统构成。

1、三级设备指的是电能表,数据采集终端和设备。
2、二级通道指的是边缘计算网关(设备数据采集、控制)与电能表、空调、灯等传感器设备的数据下行和上行通道。
3、一套系统指的是能耗数据采集系统。

二、建设内容

1、对空调机组、插座、风机、照明回路等安装分项电能表。
2、安装数据采集终端,并在数据采集终端与电能表直接进行485总线连接。
3、将数据采集终端通过有线以太网/RS485总线或无线通讯方式接入系统。
4、在系统设置档案及通讯信息,对上述设备进行联调,对建筑能耗数据进行采集。
5、可通过系统进行建筑能耗数据分析并提出节能策略方案和控制指令。

总体流程如下图:

20190823164708.png

前期准备

硬件(因条件有限本次分享主要如下设备为主)

光线传感器(用于灯光控制策略,数据分析来源)
20190824100649.png

温湿度传感器(用于空调控制策略,数据分析来源)

20190824100724.png

PM2.5传感器(用于空气质量分析,并且根据策略模型控制排风等设备)

20190824100738.png

电表(该电表采用的是Modbus协议,目前主流电表品牌都支持,这里做为一个采集实战例子)
20190824100752.png
红外线装置(应用于不支持通信协议的空调设备)
20190824100809.png
海创微联系统
20190823164620.png

数据可视化,底层原理采用canvas矢量图形渲染引擎,失量图绘制数据采用JSON来表达,美工人员图片绘制可以在线绘制完成,并且由配置人员完成迭代开发,整体应用效率大大提高,在性能上比传统的DOM渲染方式更佳明显。
20190827173223.png

看板整体结构如下图,用户可根据需求编辑看板,自定义添加删除功能模块。这里我们将办公室分为A、B、C 3个区域,每个区域都能对区域内的各种指标进行实时监测,温湿度、光照度、PM2.5、实时电压电流值和能耗,数据可视化,直观,一目了然。
20190824100936.png
绘制一个控制交互效果
20190823160721.png
由设计人员在线绘制可组合N种不规则形态完成绘制效果,传统方式可能是直接采用一张PNG图片,但设计后无法根据业务场景需求进行灵活变化,我们采用矢量图绘制可灵活调整
20190823161226.png
20190823161251.png

移动端交互

基于canvas原理,我们同样可以完成移动端的交互效果,并且一次实现多端兼容
20190824101048.png
首页设有设备一键关闭按钮,防止下班楼内无人时设备还在运行的情况,一键远程关闭设备,减少不必要的能耗。同时可以对办公室区域进行选择和自定义增减,实现分区域管理,条理清晰。

1566266640(1).png
手机APP除了能够对数据进行实时显示外,还能对区域内的设备进行远程控制,基本页面如下图。

20190824101203.png

区域页

区域页中显示当前区域的温度、湿度、光照强度和PM2.5空气值,同时还能对区域内的设备进行添加,显示设备当前的运行状态。
1566266966(1).png

二、数据采集

连线

首先我们要把传感器和海创智能网关按照下图所示连接起来,这里以一台光线传感器为例,(温湿度传感器、PM2.5传感器和电表连接方法大致相同)光线传感器通过RS485连接串口服务器,需要注意正负。然后将串口服务器和海创智能网关用网线连接交换机,如下图。
20190823165252.png

接着打开海创微联开发平台在左侧导航栏中分别拖出定时器、Modbus和调试节点。

1565850758(1).png
1565850944(1).png
1565851044(1).png

按下图连接。

20190820152603.png

节点配置

定时器设置成周期性触发,主要当触发流程使用,这里设置成每30s一次,具体配置如下图。

1565851918(1).png

Modbus需要设置串口服务器对应设备设置的相应端口以及IP,协议选择Modbus-TCP,通讯模式选择Telnet,使用功能码FC3读取数据,电表功能码为FC4,添加相应的寄存器地址、单元ID以及数据类型和相应的算法即可。

光线传感器

光线传感器的单元ID为255,地址为1,长度为1,数据类型为lnt16BE。配置如下图。

1565852666(1).png

20190824101302.png

温湿度传感器

温湿度传感器的单元ID为1,温度读取地址为0,长度为1,数据类型为lnt16BE,算法为%s/100;湿度读取地址为1,长度为1,数据类型为lnt16BE,算法为%s/100(输出数除100)。配置如下图。

1565854994(1).png

20190820152720.png

PM2.5传感器

PM2.5传感器的单元ID为2,PM2.5取地址为4,长度为1,数据类型为lnt16BE;PM10读取地址为9,长度为1,数据类型为lnt16BE。配置如下图。

1566006175(1).png

20190820152846.png

调试节点在右侧调试窗口输出调试结果,无需配置。

电表

电表的单元ID为,电压读取地址为0,长度为2,数据类型为FloatBE;电流读取地址为8,长度为2,数据类型为FloatBE,更多地址配置如下图。

20190823101514.png

20190823101611.png

20190823101858.png

采集

配置好后点击部署按钮进行部署。

1565852906(1).png

之后就能在调试窗口看到采集到的温湿度、PM2.5、PM10和光照强度了,这里的温度为28℃,湿度为60.65%RH;光照为4lux;PM2.5为27μg/m³,PM10为28μg/m³;电压为238V,电流为0.04A,总电能61.83。

20190820154820.png
1566526997(1).png

三、上报阿里云IOT

在使用海创智能网关采集设备的数据后,需要将采集到的数据上报到阿里云IoT上。

首先打开阿里云物联网平台(网址 https://account.aliyun.com ),创建产品,输入产品名称,所属分类我们选择自定义品类

20190820151432.png

创建好之后我们点击功能定义,添加我们所需要的功能,这里我们选择添加光照强度、PM25、PM10、温湿度。具体如下图。

20190820151800.png

之后在产品中创建设备,创建完成后会生成三个唯一的标识,ProductKey(产品key)、DeviceSecret(产品密钥)、DeviceName(设备名称)

20190820152033.png

接下来回到海创微联开发平台在左侧导航栏中拖出阿里云IOT。

1566179351(1).png

在阿里云节IOT输入之前生成好的三个唯一标识和地域(地域为cn-shanghai),插入在modbus和调试节点之间,如下图。

20190820152259.png

点击部署,这样就成功将数据上传到阿里云IOT了,我们在设备的运行状态中就能查看到采集的数据了。

20190820152457.png

20190821104253.png

四、数据对接

实例分析-空调控制

将红外线装置通过RS485连接串口服务器,再将串口服务器用网线连接交换机,最后将红外线装置对准空调。

1566454389(1).png

1566454359(1).png

打开海创微联开发平台,从左侧拖出mqtt、function、request和调试节点。

mqtt用于与前端进行数据对接,接收包体,配置中填入前端的主题和服务端地址即可。

20190822111354.png

function节点用于对包体中的内容进行识别,具体函数内容见末尾附录。

20190822105317.png

request节点中输入串口服务器的IP地址和端口。

20190822105530.png

连接如下图,手机APP发出指令后经过mqtt传给function,function对指令进行判断后控制红外线装置对空调进行控制,实现远程控制。

20190822111417.png

前端数据同时会上传到阿里云IOT,我们在产品的功能定义中可以自己对指令进行枚举,如对于空调状态:0为关闭,1为开启;对于风速:0为自动档,1为低档,2为中档,3为高档;对于模式:0为制冷,1为制热。如下图。

20190822113041.png

然后在设备中就能看到空调当前的运行状态了。

20190822112913.png

此时室内温为26.98℃,空调开启、温度为25、风速自动、模式为制冷。

五、总结

基于海创微联系统与阿里云端的集成,可以很轻松的完成各种感知层设备通信和数据上云端的场景,并且结合数据可视化开发平台,进行各种看板、组态、移端应用的配置,如果你对该分享感兴趣可以通过扫码下方联系我
20190823163056.png

附录

空调控制 Function节点函数

//实例一个buffer用于存放控制空调指令,长度为8字节
let buf = Buffer.alloc(8);
//写入红外控制协议头
buf.write('A114', 0, 2, 'hex');
//判断电源是否为关闭,如果为关闭发送默认关闭代码即可,不必理会温度以及模式和风速
if (!msg.payload.PowerSwitch) {
    buf = Buffer.from('a11400001400006c', 'hex');
}
//判断是否为制冷模式
else if (!msg.payload.WorkMode) {
    if (msg.payload.PowerSwitch) {
        //判断风速
        switch (msg.payload.WindSpeed) {
            case 0: buf.write('10', 2, 1, 'hex'); break;
            case 3: buf.write('11', 2, 1, 'hex'); break;
            case 2: buf.write('12', 2, 1, 'hex'); break;
            case 1: buf.write('13', 2, 1, 'hex'); break;
            default:
                {
                    node.error('WindSpeed参数有误!');
                    return;
                }
        }
    }
    else {
        node.error('PowerSwitch参数有误!');
        return;
    }

}
//判断是否为制热模式
else if (msg.payload.WorkMode) {
    if (msg.payload.PowerSwitch) {
        //判断风速
        switch (msg.payload.WindSpeed) {
            case 0: buf.write('30', 2, 1, 'hex'); break;
            case 3: buf.write('31', 2, 1, 'hex'); break;
            case 2: buf.write('32', 2, 1, 'hex'); break;
            case 1: buf.write('33', 2, 1, 'hex'); break;
            default:
                {
                    node.error('WindSpeed参数有误!');
                    return;
                }
        }
    }
    else {
        node.error('PowerSwitch参数有误!');
        return;
    }

}
else {
    node.error('WorkMode参数有误!');
    return;
}
//控制空调温度,输入为10进制的整数温度
buf.writeInt8(msg.payload.TargetTemperature, 4);
//空调型号,请参考协议表,为整数
buf.writeInt16BE(msg.payload.merchant, 5);
let cont = 0;
for (let i = 0, len = Buffer.byteLength(buf) - 1; i < len; i++) {
    cont += buf[i];
}
let CheckSum = cont ^ 0xa5;
buf[7] = CheckSum;
msg.payload = buf;
return msg;

红外线装置协议说明

20190823164003.png
20190823164303.png
20190823164057.png

欢迎大家扫码进群领取物联网最新资料以及获取一手直播资讯。

image.png

目录
相关文章
|
10月前
|
SQL 人工智能 安全
网络安全的盾牌:漏洞防护与加密技术解析
在数字时代的浪潮中,网络安全和信息安全成为了维护社会稳定和保护个人隐私的关键。本文将深入探讨网络安全中的常见漏洞、先进的加密技术以及提升安全意识的重要性。通过分析网络攻击的手法,揭示防御策略的构建过程,并分享实用的代码示例,旨在为读者提供一套全面的网络安全知识体系,以增强个人和组织在网络空间的防御能力。
W9
|
10月前
|
运维 关系型数据库 MySQL
轻松管理Linux服务器的5个优秀管理面板
Websoft9 应用管理平台,github 2k star 开源软件,既有200+的优秀开源软件商店,一键安装。又有可视化的Linux管理面板,文件、数据库、ssl证书方便快捷管理。
W9
816 2
|
数据采集 数据安全/隐私保护 Python
Selenium与Web Scraping:自动化获取电影名称和评分的实战指南
在信息时代,Web Scraping 成为核心技能之一,尤其在面对如豆瓣电影这类动态网页时更为重要。本文介绍如何运用 Selenium 这一强大的自动化工具,配合代理 IP、User-Agent 及 Cookie,实现对豆瓣电影名称与评分的有效抓取。通过设置代理 IP 来规避访问限制,调整 User-Agent 以模拟真实用户行为,并利用 Cookie 保持会话状态,确保数据抓取的稳定性和隐蔽性。文中还提供了完整的 Python 代码示例,帮助读者快速上手实践。
409 0
|
11月前
|
人工智能 算法 安全
人工智能伦理与监管:构建负责任的AI未来
【10月更文挑战第3天】随着人工智能(AI)技术的快速发展,其在社会各领域的应用日益广泛。然而,AI的广泛应用也带来了一系列伦理和监管挑战。本文旨在探讨AI的伦理问题,分析现有的监管框架,并提出构建负责任AI未来的建议。同时,本文将提供代码示例,展示如何在实践中应用这些原则。
1696 1
|
11月前
|
Web App开发 前端开发 JavaScript
从零搭建Xswitch进行测试
从零搭建Xswitch进行测试
|
11月前
|
计算机视觉
Deepseek开源多模态LLM模型框架Janus,魔搭社区最佳实践
deepseek近期推出了简单、统一且灵活的多模态框架Janus,它能够统一处理多模态理解和生成任务。让我们一起来了解一下吧。
|
11月前
|
安全 Cloud Native 定位技术
阿里云游戏访问与下载加速解决方案
阿里云游戏访问与下载加速解决方案
|
安全 数据安全/隐私保护 开发者
代码签名证书
代码签名证书识别软件开发者身份,确保代码未被篡改,增强用户信任。签名的软件避免安全警告,保护品牌声誉,维护软件完整性和可用性。普通证书适合个人和小型企业,而EV证书提供更全面信息,适合中大型企业或高加密需求单位。
|
SQL Java 关系型数据库
从0开始,搭建springboot后台工程搭建及解释(从jdk 及 maven 讲起)(2)
从0开始,搭建springboot后台工程搭建及解释(从jdk 及 maven 讲起)
663 0
|
Android开发
Android Shape 详细使用
Android Shape 详细使用
327 0