一.實(shí)驗(yàn)背景
隨著全球?qū)Νh(huán)境保護(hù)和可持續(xù)發(fā)展的關(guān)注度不斷提高朵锣,各國都在積極推動(dòng)低碳經(jīng)濟(jì)和資源循環(huán)利用抬探。智慧園區(qū)節(jié)能減排監(jiān)控系統(tǒng)在這一背景下應(yīng)運(yùn)而生润歉。
智慧園區(qū)節(jié)能減排監(jiān)控系統(tǒng)是一種基于高科技手段和大數(shù)據(jù)分析的管理系統(tǒng)鱼炒,旨在解決傳統(tǒng)園區(qū)管理中能源浪費(fèi)琴锭、碳排放量大和環(huán)境污染等問題琴拧。通過實(shí)時(shí)監(jiān)測和調(diào)控園區(qū)內(nèi)的能源消耗和排放情況降瞳,該系統(tǒng)可以幫助園區(qū)實(shí)現(xiàn)節(jié)能減排的目標(biāo),提高能源利用效率蚓胸,降低碳排放量挣饥,減少環(huán)境污染。
二.實(shí)驗(yàn)?zāi)繕?biāo)
1.熟練掌握IPSO 規(guī)范
2.會(huì)新增傳感器資源并上報(bào)數(shù)據(jù)
3.會(huì)響應(yīng)平臺下發(fā)的指令
4.會(huì)使用 HTTP 推送
5.了解如何處理HTTP 推送
三.實(shí)驗(yàn)步驟
1.登錄OneNET平臺
2.在OneNET 平臺創(chuàng)建產(chǎn)品
3.在所建產(chǎn)品當(dāng)中添加設(shè)備
4.硬件搭建
5.代碼的編寫
1.在 main.c 文件中添加包含“BH1750.h”和"Lcd_Driver.h"頭文件的預(yù)處理命令沛膳。
代碼添加位置如下圖所示:
添加的具體代碼行如下:
#include "BH1750.h" /* 光照傳感器 */
#include "Lcd_Driver.h" /*LCD屏*/
2.在 main.c 文件中增加光照和 LED 的類型結(jié)構(gòu)扔枫,并聲明外部變量。
添加位置和代碼如下圖所示:
添加的具體代碼行如下:
nbiot_value_t illumi; /* 光照 */
nbiot_value_t led; /* LED燈 */
extern float result_lx;/*光照*/
3.在 main.c 文件的主函數(shù)中于置,在“寫”回調(diào)函數(shù)添加 LED 燈模擬打開茧吊、關(guān)閉的代碼。
代碼添加位置如下圖所示:
添加的具體代碼行如下:
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 文件的主函數(shù)中八毯,在“讀”回調(diào)函數(shù)添加光照和 LED 燈的控制代碼搓侄,當(dāng)從平臺接收到控制寫入命令時(shí),響應(yīng)控制话速。
代碼添加位置如下圖所示:
添加的具體代碼行如下:
} 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 文件中修改網(wǎng)絡(luò)配置讶踪,修改引導(dǎo)機(jī)服務(wù)地址,更改 IMEI 和IMSI 信息泊交。
代碼添加位置如下圖所示:
添加的具體代碼行如下:
const char endpoint_name[] = "159131706942085;100530085021686 ";
6.在 main.c 文件里增加光照值乳讥、LED 數(shù)值的讀取更新。
代碼添加位置如下圖所示:
添加的具體代碼行如下:
/* 更新光照數(shù)值 */
illumi.flag |= NBIOT_UPDATED;
BH1750_test();
illumi.value.as_float = result_lx;
/* 更新 LED 數(shù)值*/
led.flag |= NBIOT_UPDATED;
led.value.as_bool = ledStatus.Led1Sta;
7.在 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);
}
6.設(shè)備在OneNET 平臺在線
1.接入OneNET平臺
2.溫度數(shù)據(jù)
3.濕度數(shù)據(jù)
4.光照數(shù)據(jù)
5.LCD命令執(zhí)行數(shù)據(jù)
選擇 Light Control 對象,進(jìn)入詳情頁面研乒,具體操作界面如下圖所示:進(jìn)入詳情頁面后可以觀察到終端上報(bào)平臺的狀態(tài)與上報(bào)時(shí)間汹忠。點(diǎn)擊【寫】操作按鈕,可以對LED 燈進(jìn)行開關(guān)控制雹熬。
當(dāng)寫入true時(shí)
當(dāng)寫入false時(shí)
7.使用Postman寫/讀命令
1.POST LWM2M及時(shí)命令-寫設(shè)備資源
2.GET LWM2M及時(shí)命令-讀設(shè)備資源
3.GET LWM2M緩存命令-讀設(shè)備資源
8.使用數(shù)據(jù)推送自動(dòng)開關(guān)led燈
1.在OneNET云平臺上配置參數(shù)
1宽菜、在OneNET云平臺開發(fā)者中心,找到數(shù)據(jù)流轉(zhuǎn)竿报,在其數(shù)據(jù)推送中對產(chǎn)品進(jìn)行設(shè)置铅乡,添加url和token協(xié)議,消息加密方式為明文方式
2.開啟生效狀態(tài)
2.在第三方應(yīng)用上配置參數(shù)
1.打開燈光推送應(yīng)用用戶門戶烈菌,以O(shè)neNET注冊用戶的 用戶id 和用戶AcessKey 登陸
門戶地址:http://1.14.71.134:8080/
2.登錄上述第三方應(yīng)用需要使用本人在OneNET注冊用戶的 用戶id 和用戶AcessKey
3.綁定NB-IoT設(shè)備的IMEI號
8.數(shù)據(jù)推送
觀察光照數(shù)值變化與LCD模塊顏色狀態(tài)的變化確保設(shè)備在線的情況下阵幸,當(dāng) NB-IoT 設(shè)備上下線花履、上報(bào)新數(shù)據(jù)時(shí),應(yīng)用服務(wù)器就能夠獲得這些數(shù)據(jù)挚赊,當(dāng)數(shù)據(jù)上報(bào)時(shí)臭挽,程序會(huì)解析其中的光照度數(shù)據(jù),并且根據(jù)預(yù)設(shè)的閾值咬腕,對 LCD 燈進(jìn)行控制。
1葬荷、室內(nèi)照明情況下涨共,LCD模塊應(yīng)處于“關(guān)閉”狀態(tài)(顏色程序編寫的“關(guān)”狀態(tài)顏色),如下圖宠漩;
2举反、用物體遮擋光照傳感器模塊(約30秒),LCD模塊應(yīng)處于“開啟”狀態(tài)(顏色程序編寫的“開”狀態(tài)顏色)扒吁,如下圖火鼻;
四. 總結(jié)與收獲
本實(shí)驗(yàn)通過智慧園區(qū)節(jié)能減排監(jiān)控系統(tǒng)的搭建和配置,實(shí)現(xiàn)了節(jié)能減排的目標(biāo)雕崩。通過參與這個(gè)項(xiàng)目魁索,我獲得了許多寶貴的經(jīng)驗(yàn)和收獲。這個(gè)項(xiàng)目讓我對相關(guān)領(lǐng)域的知識有了更深入的了解盼铁。我學(xué)習(xí)到了許多新的概念和技能粗蔚,并通過實(shí)踐應(yīng)用于實(shí)際項(xiàng)目中,提升了我的專業(yè)能力饶火。其次鹏控,這個(gè)項(xiàng)目鍛煉了我的團(tuán)隊(duì)合作能力。在項(xiàng)目中肤寝,我與團(tuán)隊(duì)成員緊密合作当辐,相互協(xié)作,共同解決問題鲤看。這不僅增強(qiáng)了我的溝通和協(xié)調(diào)能力缘揪,還培養(yǎng)了我的團(tuán)隊(duì)合作意識和人際關(guān)系技巧。此外刨摩,這個(gè)項(xiàng)目還給我?guī)砹俗晕姨魬?zhàn)和成長的機(jī)會(huì)寺晌。在解決問題的過程中,我面臨著各種困難和挑戰(zhàn)澡刹,但通過堅(jiān)持不懈和不斷學(xué)習(xí)呻征,我成功地克服了這些困難,并取得了可喜的成果罢浇。