實(shí)驗(yàn)?zāi)康?/h1>
智慧園區(qū)為體現(xiàn)低消耗、低排放、高性能、高舒適的設(shè)計(jì)理念,應(yīng)用集
成技術(shù)和物聯(lián)網(wǎng)技術(shù)在智慧園區(qū)內(nèi)建設(shè)能效管理系統(tǒng),實(shí)現(xiàn)多能涌、多
業(yè)態(tài)和多用戶的綜合能涌管理。
實(shí)驗(yàn)任務(wù)
1.實(shí)時(shí)采集溫濕度,光照,氣壓值。
2.實(shí)現(xiàn)對(duì)燈光的自動(dòng)控制,當(dāng)光照充足的時(shí)候,燈光熄滅。光照暗時(shí),照明燈亮起。
實(shí)驗(yàn)步驟
一、代碼更改
1.寫(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:%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;
}
}
}
2.添加 讀回調(diào)函數(shù)
if(objid == 3303 && instid == 0 && resid == 5700)
{
SHT20_INFO sht20 = { 0 };
sht20 = SHT20_GetValue();
temp.value.as_float = sht20.tempreture;
}
else if(objid == 3301 && instid == 0 && resid == 5700)
{
BH1750_test();
illumi.value.as_float = result_lx;
}
3.更新資源
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;
illumi.flag |= NBIOT_UPDATED;
led.flag |= NBIOT_UPDATED;
led.value.as_bool = ledStatus.Led1Sta;
BH1750_test();
sht20 = SHT20_GetValue();
temp.value.as_float = sht20.tempreture;
humi.value.as_float = sht20.humidity;
illumi.value.as_float = result_lx;
} else if (cur_time == 0 && last_time == 0) {
cur_time = nbiot_time();
last_time = cur_time;
} else {
cur_time = nbiot_time();
}
}
4.添加光照和lcd燈資源
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.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);
}
二、平臺(tái)控制
1.資源列表

平臺(tái)2022-03-29 114242.png
2.平臺(tái)控制燈

平臺(tái)2022-03-29 114212.png
三、在Postman添加資源調(diào)用API

image.png

postman讀.png
四、數(shù)據(jù)推送自動(dòng)控制燈光
1.修改intellij IDEA參數(shù)

image.png
2.控制燈光數(shù)據(jù)

平臺(tái) 4.1.png
3.數(shù)據(jù)推送驗(yàn)證成功

平臺(tái)4.1.png
實(shí)驗(yàn)總結(jié)
通過(guò)此次項(xiàng)目的實(shí)施,能夠?qū)崿F(xiàn)對(duì)園區(qū)內(nèi)的溫濕度實(shí)時(shí)檢測(cè)。雖然過(guò)程并不順利,但是在老師的幫助下,實(shí)驗(yàn)都順利下去了,在這次項(xiàng)目中更熟悉了postman的用法。