2022-04-10

智慧園區(qū)能源管控系統(tǒng)

1.實(shí)驗(yàn)?zāi)康?/h3>

1.1采集溫度忿檩、濕度、光照值介蛉,并上傳OneNET平臺(tái)
1.2實(shí)現(xiàn)公共區(qū)域照明系統(tǒng)的燈光自動(dòng)控制萌庆。當(dāng)光照充足的時(shí)候,燈光熄滅币旧。光照暗時(shí)践险,照明燈亮起。
(LED燈模擬照明燈吹菱,通過HTTP數(shù)據(jù)推送將光照值推送給應(yīng)用程序巍虫,由應(yīng)用程序控制LED開關(guān))

2.實(shí)驗(yàn)步驟

2.1代碼更改

在程序中設(shè)置接入機(jī)的地址和鑒權(quán)信息(即IMEI和IMSI)

char uri[] = "coap://183.230.102.118:5683";   // 引導(dǎo)機(jī)服務(wù)
char *serv_addr = "183.230.102.118";          // 接入機(jī) IP 地址,暫時(shí)無用
const char endpoint_name[] = "318790567959252;318790567959252";     //IMEI;IMSI

向SDK添加外圍硬件驅(qū)動(dòng)鳍刷,本項(xiàng)目Demo中已經(jīng)做好LED和光照傳感器驅(qū)動(dòng)程序

#include "BH1750.h"     /* 光照傳感器 */
#include "Lcd_Driver.h" /* lcd屏 */
nbiot_value_t illumi;   /* 光照 */
nbiot_value_t led;      /* led燈*/
extern float result_lx; /*光照*/

光照傳感器的對(duì)象ID:3301
燈光控制的對(duì)象ID:3311

寫回調(diào)函數(shù)

// "寫"回調(diào)函數(shù)
void write_callback(
        uint16_t       objid,
        uint16_t       instid,
        uint16_t       resid,
        nbiot_value_t *data)
{   
    printf("write /%d/%d/%d:%d\r\n",
            objid,
            instid,
            resid, data->value.as_bool);
      if (objid == 3311 && instid == 0 && resid == 5850)
      {
      if(data->value.as_bool)
      {
      Lcd_Clear(WHITE);
          ledStatus.Led1Sta=1;
      }else
      {
       Lcd_Clear(BLACK);
          ledStatus.Led1Sta=0;
      }
      }
}

讀回調(diào)函數(shù)

// "讀"回調(diào)函數(shù)
void read_callback(
        uint16_t       objid,
        uint16_t       instid,
        uint16_t       resid,
        nbiot_value_t *data)
{   if (objid == 3301 && instid == 0 && resid == 5700) { /* 光照 */
        BH1750_test();
       illumi.value.as_float=result_lx;
}   else if (objid == 3303 && instid == 0 && resid == 5700) {        /* 溫度 */
        SHT20_INFO sht20 = { 0 };
        sht20 = SHT20_GetValue();
        temp.value.as_float = sht20.tempreture;
    } else if (objid == 3304 && instid == 0 && resid == 5700) { /* 濕度 */
        SHT20_INFO sht20 = { 0 };
        sht20 = SHT20_GetValue();
        humi.value.as_float = sht20.humidity;
    }

}

添加溫濕度垫言,光照資源

   // 添加溫度資源
    temp.type = NBIOT_FLOAT;
    temp.flag = NBIOT_READABLE;
    ret = nbiot_resource_add(dev,
            3303,   /* objId */
            0,      /* instId */
            5700,   /* resId */
            &temp);
    if (ret)
    {
        nbiot_device_destroy(dev);
        printf("device add resource(temp) failed, code = %d.\r\n", ret);
    }
    // 添加濕度資源
    humi.type = NBIOT_FLOAT;
    humi.flag = NBIOT_READABLE;
    ret = nbiot_resource_add(dev,
            3304,
            0,
            5700,
            &humi);
    if (ret)
    {
        nbiot_device_destroy(dev);
        printf("device add resource(humi) failed, code = %d.\r\n", ret);
    }
    
    // 添加光照資源
    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);
    }

溫濕度資源更新

// 更新資源
void res_update(time_t interval)
{
    SHT20_INFO sht20;
    if (cur_time >= last_time + interval) {
        cur_time = 0;
        last_time = 0;

        /* 更新溫濕度數(shù)值 */
        temp.flag |= NBIOT_UPDATED;
        humi.flag |= NBIOT_UPDATED;
        sht20 = SHT20_GetValue();
        temp.value.as_float = sht20.tempreture;
        humi.value.as_float = sht20.humidity;
            
    } else if (cur_time == 0 && last_time == 0) {
        cur_time = nbiot_time();
        last_time = cur_time;
    } else {
        cur_time = nbiot_time();
    }
}

int main(int argc, char *argv[])
{
    int life_time = 300;
    int ret;

2.2平臺(tái)控制

資源列表
資源列表
讀寫控制

2.3Postman

返回現(xiàn)象

LCD屏現(xiàn)象


屏幕亮

屏幕暗

實(shí)驗(yàn)總結(jié)

通過此次項(xiàng)目的實(shí)施,能夠?qū)崿F(xiàn)對(duì)園區(qū)內(nèi)的溫濕度實(shí)時(shí)檢測
認(rèn)知了南向通信協(xié)議和北調(diào)API
熟悉了北調(diào)API
在這次項(xiàng)目中更熟悉了postman的用法
了解到了通過數(shù)據(jù)推送的方式控制LCD屏幕

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末倾剿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌前痘,老刑警劉巖凛捏,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異芹缔,居然都是意外死亡坯癣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門最欠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來示罗,“玉大人,你說我怎么就攤上這事芝硬⊙恋悖” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵拌阴,是天一觀的道長绍绘。 經(jīng)常有香客問我,道長迟赃,這世上最難降的妖魔是什么陪拘? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮纤壁,結(jié)果婚禮上左刽,老公的妹妹穿的比我還像新娘。我一直安慰自己酌媒,他們只是感情好欠痴,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著馍佑,像睡著了一般斋否。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拭荤,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天茵臭,我揣著相機(jī)與錄音,去河邊找鬼舅世。 笑死旦委,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的雏亚。 我是一名探鬼主播缨硝,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼罢低!你這毒婦竟也來了查辩?” 一聲冷哼從身側(cè)響起胖笛,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宜岛,沒想到半個(gè)月后长踊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡萍倡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年身弊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片列敲。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡阱佛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出戴而,到底是詐尸還是另有隱情凑术,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布填硕,位于F島的核電站麦萤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏扁眯。R本人自食惡果不足惜壮莹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望姻檀。 院中可真熱鬧命满,春花似錦、人聲如沸绣版。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽杂抽。三九已至诈唬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缩麸,已是汗流浹背铸磅。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留杭朱,地道東北人阅仔。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像弧械,于是被迫代替她去往敵國和親八酒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • ???????智慧園區(qū)能源管控系統(tǒng)報(bào)告 ???????????????????楊小龍 1.項(xiàng)目背景 智慧園區(qū)能源管...
    fighting_41a7閱讀 522評(píng)論 0 0
  • ?????智慧園區(qū)能源管理系統(tǒng)項(xiàng)目報(bào)告 ?????????????杜海鑫 1.實(shí)驗(yàn)背景 ??智慧園區(qū)能源管理系統(tǒng)的...
    遠(yuǎn)方上閱讀 353評(píng)論 0 0
  • 智慧園區(qū)能源管理系統(tǒng)項(xiàng)目報(bào)告 鐘梓航 一.項(xiàng)目背景 通過對(duì)園區(qū)的數(shù)據(jù)進(jìn)行監(jiān)控分析 二.項(xiàng)目目標(biāo) 通過onenet云...
    草莓QQ糖閱讀 385評(píng)論 0 0
  • 實(shí)驗(yàn)?zāi)康?智慧園區(qū)為體現(xiàn)低消耗刃唐、低排放羞迷、高性能界轩、高舒適的設(shè)計(jì)理念,應(yīng)用集成技術(shù)和物聯(lián)網(wǎng)技術(shù)在智慧園區(qū)內(nèi)建設(shè)能效管理...
    kevin_1bf1閱讀 319評(píng)論 0 0
  • 智慧園區(qū)能源管理系統(tǒng)項(xiàng)目報(bào)告 吳鋒光 一.項(xiàng)目背景 對(duì)園區(qū)的數(shù)據(jù)進(jìn)行監(jiān)控分析然后通過演示展示結(jié)果 二.項(xiàng)目目標(biāo) 通...
    臘味煲祖飯閱讀 312評(píng)論 0 0