项目三 智慧园区能源管控系统 实训报告

1项目背景

首先,随着我国经济社会的持续发展,能源生产和消费模式正在发生重大转变。能源产业不仅需要提高能源效率、保障能源安全,还要促进新能源消纳和推动环境保护。传统的能源系统建设主要侧重于单一系统的纵向延伸,而能源系统间的物理互联和信息交互相对较少。因此,适应这种转变,需要改变传统能源系统建设路径和发展模式。
其次,对于园区而言,如何加强能源管理、降低能耗、提高能源利用效率,实现人和能源、能源和能源之间的密切交互,成为了一个普遍面临的问题。园区作为能源消耗密集的区域,具有耗能密度大、负荷利用时长高、可再生能源比例高、产能形式多样化等特点。智慧园区能源管控系统的建设,正是为了有效应对这些挑战,推动可再生能源的大规模就地消纳,提高能源的综合利用率,从而实现节能减排的目标。
此外,全球气候正面临严峻的挑战,碳减排、碳达峰已成为全人类的共同使命。在国内,“能源双控”政策的持续升级使得生产性企业面临更大的压力,如何有效控制碳排放量、提升能源使用效率、降低能耗,进而实现“双碳目标”,成为了企业亟待解决的问题。
因此,智慧园区能源管控系统项目的提出和实施,旨在通过应用集成技术和物联网技术,建设一个高效、智能的能源管理系统,实现对园区内多种能源、多业态和多用户的综合能源管理。该系统不仅可以实现能源使用情况的实时监测和节能管理,还能提供决策支持,为园区的能源管理提供科学、有效的解决方案。

2 实验目标

1.实时采集温湿度,光照。
2.会使用 HTTP 推送.
3.实现对LCD的自动控制。

3实验步骤

1.硬件搭建
利用物联网实验箱中的核心板、NB-IOT模块、LCD模块、ZigBee-光照模块、ZigBee-温湿度模块按照图片所示搭建。


硬件图

2.1修改代码


image.png

添加以下代码:
#include "BH1750.h"     /* 光照传感器 */
#include "Lcd_Driver.h" /*LCD屏*/

2.2在 main.c 文件中增加光照和 LED 的类型结构,并声明外部变量。添加位置和代码如下图所示:


image.png

添加以下代码:

nbiot_value_t illumi;     /* 光照 */
nbiot_value_t led;     /* LED灯 */
extern float result_lx;/*光照*/

2.3###### 在 main.c 文件的主函数中,在“写”回调函数添加 LED 灯模拟打开、关闭的代码。

image

添加以下代码:

if(objid ==3311 && instid==0 && resid ==5850)/*LED灯*/
    {
        if( data->value.as_bool)
        {
            // 打开白色背光以模拟 LED 打开
            Lcd_Clear(WHITE);
            ledStatus.Led1Sta=1;
        }   
        else
            {
                //打开黑色背光以模拟 LED 打开
                Lcd_Clear(BLACK);
                ledStatus.Led1Sta=0;
            }
    } 

2.4###### 在 main.c 文件的主函数中,在“读”回调函数添加光照和 LED 灯的控制代码,当从平台接收到控制写入命令时,响应控制。

image

添加以下代码:

 else if (objid == 3301 && instid == 0 && resid == 5700) { /* 光 照 */
            BH1750_test();
            illumi.value.as_float = result_lx;
        } else if (objid == 3311 && instid == 0 && resid == 5850) { /* LED */
            led.value.as_bool = ledStatus.Led1Sta;

2.5###### 在 main.c 文件里增加光照、LED 资源

image

添加以下代码:

// 添加光照资源
        illumi.type = NBIOT_FLOAT;
        illumi.flag = NBIOT_READABLE;
        ret = nbiot_resource_add(dev, 3301, 0, 5700, &illumi);
        if (ret)
            {
                nbiot_device_destroy(dev);
                printf("device add resource(illumi) failed, code = %d.\r\n", ret);

            }
            // 添加 LED 灯资源
            led.type = NBIOT_BOOLEAN;
            led.flag = NBIOT_READABLE | NBIOT_WRITABLE;
            ret = nbiot_resource_add(dev, 3311, 0, 5850, &led);
            if (ret)
                {
                    nbiot_device_destroy(dev);
                    printf("device add resource(led) failed, code = %d.\r\n", ret);
                }

3.登录ONENET云平台


ONENET云平台

4.打开灯光推送应用用户门户,以OneNET注册用户的 用户id 和用户AcessKey 登陆门户地址:http://1.14.71.134:8080/


image.png

5.绑定NB-IoT设备的IMEI号
IMEI号需要正确填写在OneNET官网上创建的LwM2M设备IMEI号,进入“我的物联网”-“设备”菜单页面,填写IMEI号(用于数据推送时匹配),点击确定完成绑定
7d72d882a32a05ee8d0240f609420061.jpg

6.实例创建
进入OneNET物联网开放平台“开发者中心”,选择菜单栏中的【数据流转】下的【资源管理】,点击【HTTP推送实例】,每个实例对应一个HTTP的推送配置点击【添加实例】,填写实例名称、推送地址、Token等信息,完成实例新增。


cdf877efdd5374e741e3c2c66d031e9d.jpg

7.实例创建成功后,下一步进行实例验证。实例列表页面,点击【验证】,平台服务器会向配置的服务器地址发送HTTP GET请求,进行地址有效性验证,只有验证成功了,平台才会向其推送数据,如下:
image.png

8.规则引擎配置
实例验证通过后,即配置完数据推送,只是告诉了平台应该完成什么动作,但是还没有告诉平台在什么情况下进行数据推送。这就需要用到规则引擎。规则描述了数据从哪里来、如何筛选并处理数据、处理数据到哪里去三个参数信息,是规则引擎流转数据的基础配置。展开菜单栏中【数据流转】,点击【规则引擎】进入规则引擎页,点击【直接添加规则】,配置规则名称、规则描述后保存,进入规则引擎详情页。您可进行条件过滤设置和转发方式设置,转发方式设置支持“HTTP推送”,筛选范围指定设备数据的获取范围,这里为“指定产品”。
image.png

9.配置完成后,启动该规则引擎
image.png

10.观察光照数值变化与LCD模块颜色状态的变化。接下来观察LCD的变化,确保设备在线的情况下,当 NB-IoT 设备上下线、上报新数据时,应用服务器就能够获得这些数据,当数据上报时,程序会解析其中的光照度数据,并且根据预设的阈值,对 LCD 灯进行控制。
b21f13c7d0f3186ebed50f1dece72c4a.jpg

4总结

1.大体了解了HTTP 推送。
2.学会了在实验中遇到问题该如何去解决。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容