2021-06-20

智慧園區(qū)環(huán)境監(jiān)控系統(tǒng)實(shí)訓(xùn)報(bào)告

一、實(shí)驗(yàn)背景

目前尚未有智慧園區(qū)具體統(tǒng)一的概念,園區(qū)本身具有多種產(chǎn)業(yè)定位及需求,各園區(qū)基礎(chǔ)設(shè)施水平也不盡相同,所以并未統(tǒng)一規(guī)定智慧園區(qū)所必需的功能。各園區(qū)經(jīng)濟(jì)研究者、企業(yè)管理者、園區(qū)設(shè)計(jì)者及其他各界人士,正積極探索智慧園區(qū)的建設(shè)研究,使之在大經(jīng)濟(jì)環(huán)境形勢(shì)下,發(fā)展更為成熟與完善,更有力地支撐智慧城市的發(fā)展??梢?jiàn)在未來(lái),智慧園區(qū)已成為各產(chǎn)業(yè)園區(qū)發(fā)展的必然趨勢(shì)。

二、實(shí)驗(yàn)?zāi)繕?biāo)

(1)采集溫度、濕度、光照、氣壓值,并由OneNET平臺(tái)訂閱;

(2)實(shí)現(xiàn)公共區(qū)域照明系統(tǒng)的燈光自動(dòng)控制,當(dāng)光照充足時(shí),照明燈熄滅,光照較暗時(shí),照明燈開(kāi)啟;

(3)輕應(yīng)用展示溫度、濕度、光照、氣壓值;

(4)可視化展示溫度、濕度、光照、氣壓值。

三、實(shí)驗(yàn)步驟

1、頭文件定義引用

2、代碼的改寫(xiě)

(1)添加資源代碼:

   //添加光照資源
         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);
    }
        //添加氣壓資源
         press.type = NBIOT_FLOAT;
    press.flag = NBIOT_READABLE;
    ret = nbiot_resource_add(dev,
            3323,
            0,
            5700,
            &press);
    if (ret)
    {
        nbiot_device_destroy(dev);
        printf("device add resource(press) 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);
    }

(2)更新資源代碼:

void res_update(time_t interval)
{
    SHT20_INFO sht20;
    if (cur_time >= last_time + interval) {
        cur_time = 0;
        last_time = 0;

        temp.flag |= NBIOT_UPDATED;
        humi.flag |= NBIOT_UPDATED;
        sht20 = SHT20_GetValue();
        temp.value.as_float = ((float)((int)((sht20.tempreture + 0.05) * 100)) / 100);
        humi.value.as_float = sht20.humidity;
              illumi.flag |= NBIOT_UPDATED;
              BH1750_test();
              illumi.value.as_float=result_lx ;
        press.flag |= NBIOT_UPDATED;
              BMP180_test() ;
              press.value .as_float =bmp180.p;
        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();
    }
}

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

void write_callback(
        uint16_t       objid,
        uint16_t       instid,
        uint16_t       resid,
        nbiot_value_t *data)
{
    printf("write /%d/%d/%d£o%d\r\n",
            objid,
            instid,
            resid, data->value.as_bool);
if((objid == 3311) &&(instid == 0) &&(resid == 5850))
  {
     Led1_Set(data->value.as_bool);
  }
}

(4)讀回調(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 = (int64_t)sht20.tempreture;
    } else if (objid == 3304 && instid == 0 && resid == 5700) {
        SHT20_INFO sht20 = { 0 };
        sht20 = SHT20_GetValue();
        humi.value.as_float = (int64_t)sht20.humidity;
    }
          else if(objid==3323&&instid==0&&resid==5700)
            {
               BMP180_test();
                 press.value.as_float=bmp180.p ;
            }
}

3、POSTMAN調(diào)用API

4、添加觸發(fā)器及設(shè)置

添加觸發(fā)器
關(guān)燈觸發(fā)器參數(shù)設(shè)置
開(kāi)燈觸發(fā)器參數(shù)設(shè)置

5、輕應(yīng)用

(1)在應(yīng)用管理新增應(yīng)用;

(2)編輯應(yīng)用;

(3)輕應(yīng)用界面設(shè)置及數(shù)據(jù)值傳輸顯示。

應(yīng)用的添加
應(yīng)用編輯
輕應(yīng)用界面設(shè)置及數(shù)據(jù)值傳輸顯示

四、實(shí)訓(xùn)總結(jié)

通過(guò)這次實(shí)驗(yàn)我學(xué)到了通過(guò)Postman調(diào)用API控制燈光開(kāi)關(guān),學(xué)到了如何使用OneNET平臺(tái)上開(kāi)發(fā)小應(yīng)用的功能,OneNET平臺(tái)上發(fā)指令控制led燈亮滅。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 智慧園區(qū)環(huán)境監(jiān)控系統(tǒng)實(shí)訓(xùn)報(bào)告 一、項(xiàng)目背景 在智慧城市的發(fā)展引導(dǎo)下,“智慧園區(qū)”理念開(kāi)始進(jìn)入大眾視野。智慧園區(qū)是結(jié)...
    好運(yùn)蓮蓮_dca8閱讀 236評(píng)論 1 1
  • 智慧園區(qū)環(huán)境監(jiān)控系統(tǒng)實(shí)訓(xùn)報(bào)告 一、實(shí)驗(yàn)背景 智慧園區(qū)建設(shè)是實(shí)現(xiàn)園區(qū)管理智慧化、現(xiàn)代化的重要途徑,通過(guò)建設(shè)智慧園區(qū),...
    追尋一個(gè)夢(mèng)想閱讀 718評(píng)論 2 2
  • 摘錄和補(bǔ)充,讓候選人倒追 要遵循創(chuàng)新基本原則:秉持高標(biāo)準(zhǔn)。有要求高門(mén)檻,反而才能真正吸引一流的人。 一方面,體現(xiàn)在...
    馨瑩Iris閱讀 214評(píng)論 0 1
  • 仁德上人 修心五言偈 知苦才離苦,八苦為八師。無(wú)著能心空,念佛能往生。 人生皆是幻,切莫迷混亂。真我沒(méi)有我,眾生才...
    仁德上人閱讀 664評(píng)論 0 1
  • 今天青石的票圈出鏡率最高的,莫過(guò)于張藝謀的新片終于定檔了。 一張滿溢著水墨風(fēng)的海報(bào)一次次的出現(xiàn)在票圈里,也就是老謀...
    青石電影閱讀 10,816評(píng)論 1 2

友情鏈接更多精彩內(nèi)容