基于OneNET的智慧園區(qū)監(jiān)控系統(tǒng)

1膜毁、實驗背景

隨著城市的快速發(fā)展和城市化進程的加快,伴隨而來的環(huán)境窥浪、社會镊逝、交通問題也日益嚴重物臂。利用先進的信息技術構(gòu)建智慧城市成為解決城市問題的重要途徑旺拉。作為智慧城市重要的組成部分,智慧園區(qū)的建設尤為重要。

2棵磷、實驗目標

1.采集溫度蛾狗、濕度、光照仪媒、氣壓值沉桌,并由OneNET平臺訂閱;
2.光照高于設定值算吩,LED燈亮留凭;光照低于設定值,LED燈滅
3.輕應用展示溫度偎巢、濕度蔼夜、光照、氣壓值压昼。
4.可視化展示溫度挎扰、濕度、光照巢音、氣壓值遵倦。

3、實驗步驟

3.1平臺控制
添加新的對象

nbiot_value_t press;   /* 氣壓*/
nbiot_value_t led;    /* LED燈*/

extern float result_lx;
extern _bmp180 bmp180;

編寫寫回調(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))
{
Led1_Set(data->value.as_bool);
}
}

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

void read_callback(
        uint16_t       objid,
        uint16_t       instid,
        uint16_t       resid,
        nbiot_value_t *data)
{
    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 == 3301 && instid == 0 && resid == 5700) {
            BH1750_test();
            illumi.value.as_float=result_lx;
        } else if (objid == 3323 && instid == 0 && resid == 5700) {
            BMP180_test();
            press.value.as_float=bmp180.p;
        }
}

添加資源

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();
    }
}

// 添加光照資源
    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,   /* objId */
            0,      /* instId */
            5700,   /* resId */
            &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,   /* objId */
            0,      /* instId */
            5850,   /* resId */
            &led);
    if (ret)
    {
        nbiot_device_destroy(dev);
        printf("device add resource(led) failed, code = %d.\r\n", ret);
    }

代碼編寫完之后官撼,終端固件燒寫運行梧躺。

進入OneNET平臺,設備上線后可以看到已經(jīng)有五個資源


打開Light Control資源,通過寫的操作掠哥,輸入true巩踏,LED燈亮著

3.2光照值控制
為設備添加觸發(fā)器
在光照值高于60時Led燈滅

在光照值低于50時亮燈

3.3Postman控制
調(diào)用API返回溫度值和資源ID

image

返回值

{
    "errno": 0,
    "data": {
        "count": 5,
        "datastreams": [
            {
                "datapoints": [
                    {
                        "at": "2021-06-08 16:16:38.236",
                        "value": 30.870001
                    }
                ],
                "id": "3303_0_5700"
            },
            {
                "datapoints": [
                    {
                        "at": "2021-06-08 16:16:38.236",
                        "value": 57.674973
                    }
                ],
                "id": "3304_0_5700"
            },
            {
                "datapoints": [
                    {
                        "at": "2021-06-08 16:16:38.026",
                        "value": 121.666664
                    }
                ],
                "id": "3301_0_5700"
            },
            {
                "datapoints": [
                    {
                        "at": "2021-06-08 16:16:38.555",
                        "value": 98022
                    }
                ],
                "id": "3323_0_5700"
            },
            {
                "datapoints": [
                    {
                        "at": "2021-06-08 16:16:38.252",
                        "value": false
                    }
                ],
                "id": "3311_0_5850"
            }
        ]
    },
    "error": "succ"
}

使用Postman發(fā)送請求,向終端設備寫入資源
資源參數(shù)

image
image

寫入(其中輸入1续搀,表示亮燈塞琼,0表示關燈)

image

3.4輕應用

1.png

4、總結(jié)

本次實驗步驟比較繁瑣但是比較簡單禁舷,需要耐心彪杉。遇到問題時要多與同學討論!

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末牵咙,一起剝皮案震驚了整個濱河市派近,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌洁桌,老刑警劉巖渴丸,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異另凌,居然都是意外死亡谱轨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門吠谢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來土童,“玉大人,你說我怎么就攤上這事囊卜。” “怎么了错沃?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵栅组,是天一觀的道長。 經(jīng)常有香客問我枢析,道長玉掸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任醒叁,我火速辦了婚禮司浪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘把沼。我一直安慰自己啊易,他們只是感情好,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布饮睬。 她就那樣靜靜地躺著租谈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪捆愁。 梳的紋絲不亂的頭發(fā)上割去,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天窟却,我揣著相機與錄音,去河邊找鬼呻逆。 笑死夸赫,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的咖城。 我是一名探鬼主播茬腿,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼酒繁!你這毒婦竟也來了滓彰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤州袒,失蹤者是張志新(化名)和其女友劉穎揭绑,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體郎哭,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡他匪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了夸研。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邦蜜。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖亥至,靈堂內(nèi)的尸體忽然破棺而出悼沈,到底是詐尸還是另有隱情,我是刑警寧澤姐扮,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布絮供,位于F島的核電站,受9級特大地震影響茶敏,放射性物質(zhì)發(fā)生泄漏壤靶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一惊搏、第九天 我趴在偏房一處隱蔽的房頂上張望贮乳。 院中可真熱鬧,春花似錦恬惯、人聲如沸向拆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽亲铡。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奖蔓,已是汗流浹背赞草。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吆鹤,地道東北人厨疙。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像疑务,于是被迫代替她去往敵國和親沾凄。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

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

  • 一知允、項目背景 隨著國家建設的推進撒蟀,人們不僅僅滿足于現(xiàn)在的生活標準,智慧生活温鸽,高效生活是當代人日益高漲要求的標準保屯。而...
    辛霄閱讀 488評論 2 4
  • 表情是什么,我認為表情就是表現(xiàn)出來的情緒涤垫。表情可以傳達很多信息姑尺。高興了當然就笑了,難過就哭了蝠猬。兩者是相互影響密不可...
    Persistenc_6aea閱讀 125,032評論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風險厭惡者切蟋,不喜歡去冒險,但是人生放棄了冒險榆芦,也就放棄了無數(shù)的可能柄粹。 ...
    yichen大刀閱讀 6,050評論 0 4