项目三 智慧园区节能减排监控系统实训报告

一、项目背景

~~~~~随着全球环境问题的日益突出和对可持续发展的迫切需求,节能减排成为当务之急。智慧园区作为城市发展的重要组成部分,其能源消耗和环境影响不容忽视。为了实现园区的可持续发展,提高能源利用效率,降低碳排放,建立一套智慧园区节能减排监控系统显得尤为重要。

二、项目目标

  1. 深入理解物联网监控原理:透彻掌握多种物联网监控设备和云服务平台的工作机制。
  2. 精确监测与数据收集:准确、实时地采集和记录环境中温度、湿度、光照及 LCD 等关键指标数据。
  3. 熟练掌握远程操作技巧:灵活运用远程手动操作功能,对系统进行高效管理。
  4. 强化数据追踪与分析能力:能够持续追踪和分析城市不同区域的环境数据。
  5. 提升大数据图表制作水平:熟练运用大数据分析技术,生成清晰直观的环境热力图、湿度分布图等。
  6. 增强环境变化预测能力:通过对环境数据的分析,精准预测环境变化趋势。
  7. 熟练掌握 OneNET 平台操作:顺利在 OneNET 物联网开放平台上接入 NB 设备,并实现与第三方应用的数据交互。
  8. 灵活运用数据推送功能:熟练掌握利用数据推送功能实现自动开关灯的方法,提升节能效果。
  9. 提高问题解决与创新能力:在项目实施过程中,不断发现和解决问题,积极探索创新方法。

三、系统环境的搭建

3.1参数配置

3.1.1OneNET云平台创建产品设备

1、注册登录云平台,创建产品
2、在创建的产品中添加设备

3.1.2硬件搭建

1、设备通电并连接上电脑
2、本实验要用到核心板、温湿度模块、NB-IoT 模块、光照模块和 LCD 模块

3.1.3IMEI、IMSI生成及使用

1、用NB-IMEI生成器随机生成两个IMEI号并同步写入代码及生成的产品中
2、在代码中更改IMEI号和IMSI号,与产品设备IMEI号、IMSI号保持一致

代码中的 IMEI 和 IMSI 必须保持跟OneNET 平台上的一样。

3.1.4代码添加

1、在 main.c 文件中添加包含“BH1750.h”和"Lcd_Driver.h"头文件的预处理命令

添加以下代码:

#include "BH1750.h"     /* 光照传感器 */
#include "Lcd_Driver.h" /*LCD屏*/
2、在 main.c 文件中增加光照和 LED 的类型结构,并声明外部变量。添加位置和代码如下图所示:

添加以下代码:

nbiot_value_t illumi;     /* 光照 */
nbiot_value_t led;     /* LED灯 */

extern float result_lx;/*光照*/
3、在 main.c 文件的主函数中,在“写”回调函数添加 LED 灯模拟打开、关闭的代码。

添加以下代码:

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;
            }
    }       
4、在 main.c 文件的主函数中,在“读”回调函数添加光照和 LED 灯的控制代码,当从平台接收到控制写入命令时,响应控制。

添加以下代码:

     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;
5、在 main.c 文件里增加光照值、LED 数值的读取更新

添加以下代码:

          /* 更新光照数值 */
            illumi.flag |= NBIOT_UPDATED;
            BH1750_test();
            illumi.value.as_float = result_lx;
            /* 更新 LED 数值*/
            led.flag |= NBIOT_UPDATED;
            led.value.as_bool = ledStatus.Led1Sta;
        
        } else if (cur_time == 0 && last_time == 0) {
        cur_time = nbiot_time();
        last_time = cur_time;
    } else {
        cur_time = nbiot_time();
    }    
6、在 main.c 文件里增加光照、LED 资源

添加以下代码:

// 添加光照资源
        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.2接入OneNET平台

3.2.1、烧写代码,打开串口调试助手,查看数据

3.2.2、OneNET 云平台设备上线

3.2.3、在资源列表界面,可以看到温度、湿度、光照、LED 灯,还可以查看属性值等。

3.2.4、在设备资源列表中可查看到光照传感器和光照控制的代码

3.3 周期上报数据

3.3.1温度数据

3.3.2湿度数据

3.3.3光照数据

3.3.4LCD数据

3.4实验效果

1、在 Light Control 对象的详情页面中,可以观察到终端上报平台的状态以及上报时间。通过简单点击操作界面上的【写】按钮,可以控制 LED 灯的开关状态。
~~~~~点击“写”操作按钮后,在弹出的对话框中输入“true”点击确定,就可以打开开发板上的 LED白色背光


输入“false”点击确定,可以关闭 LED,显示黑色背光

3.5使用数据推送功能自动开关led灯

3.5.1在OneNET云平台配置参数

1、在OneNET云平台开发者中心,找到数据流转→数据推送中对产品进行设置,添加url和token协议,消息加密方式为明文方式


2、打开产品的生态状态

3.5.2第三方应用的配置参数

1、打开灯光推送运用用户门户,以OneNET注册用户的 用户id 和用户AcessKey 登陆。

具体的id,AcessKey信息在OneNET官网(用户中心-访问权限页面)




注意:第一次登陆用户id无使用记录要进行二次登录,用户id和用户密钥必须要和OneNET云平台的id和AcessKey一致。

2、绑定NB-IoT设备的IMEI号(绑定的IMEI号为项目三设备的IMEI号)

3.5.3数据推送

~~~~~观察LCD的显示变化,在确保设备在线的状态下,无论NB-IoT设备是上线、下线还是上报新数据,服务器都能实时接收到这些数据。程序将解析新数据其中的光照值,根据预设的阈值来自动控制LCD灯的开关。

1、监控光照传感器的数值,一旦低于预设的最小阈值,系统将自动调用API来开启LED灯。为了测试这一功能,可以使用物体遮挡光照传感器模块大约30秒,此时LCD模块应该显示为“开启”状态,并且LED灯亮起。
2、当光照传感器的值达到预设的最大阈值时,系统将自动触发API来关闭LED灯。在室内照明环境中,LCD模块应当显示为“关闭”状态,并且LED灯熄灭。

四、总结与收获

1、项目总结:

~~~~~在本次智慧园区节能减排监控系统实训中,我们成功构建了一个全面而有效的监控体系。通过运用先进的技术和平台,我们实现了对园区内能源消耗和环境状况的精确监测与管理。
~~~~~在实践过程中,我们克服了诸多技术难题,确保了系统的稳定运行和数据的准确采集。同时,我们与实际园区环境紧密结合,深入了解了智慧园区节能减排的实际需求和运作模式。

2、项目收获:

  • 技术熟练度提升:熟练掌握了运用特定云平台进行节能减排监控的各项技术。
  • 实际操作能力增强:通过亲身实践,能够熟练操作和调试监控系统,应对各种实际情况。
  • 对标准的深入理解:对相关标准有了更深入的认识,能够准确应用并遵守标准进行操作。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容