一吟税、實(shí)驗(yàn)?zāi)康?/h1>
實(shí)現(xiàn)用戶的在線瀏覽監(jiān)測數(shù)據(jù)消息冯痢,能夠迅速準(zhǔn)確地將城市信息實(shí)施傳輸和提現(xiàn),便于市民出行選擇咪啡,便于相關(guān)部門處理突發(fā)事件荤崇,進(jìn)而為城市中的人創(chuàng)造更美好的生活灵再,促進(jìn)城市的和諧摆碉、可持續(xù)成長洒放。
二、實(shí)驗(yàn)任務(wù)
1.實(shí)時(shí)采集溫濕度该园,光照酸舍。
2.實(shí)現(xiàn)對(duì)LCD的自動(dòng)控制,當(dāng)OneNET平臺(tái)發(fā)送1時(shí)lcd平白屏里初,當(dāng)OneNET平臺(tái)發(fā)送0時(shí)LCD屏黑屏。
三忽舟、 實(shí)驗(yàn)步驟(在項(xiàng)目一 智慧城市環(huán)境監(jiān)測系統(tǒng)編碼中添加修改程序)
1.頭文件添加和相應(yīng)的變量
#include "Lcd_Driver.h" /* LCD */
nbiot_value_t illumi; //光照
nbiot_value_t led; // led
2.寫回調(diào)函數(shù)(添加双妨、調(diào)用lcd屏函數(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)
{
//打開白色背景光以模擬led燈開
Lcd_Clear(WHITE);
ledStatus.Led1Sta=1;
}
else
{
//打開黑色背景光以模擬led燈開
Lcd_Clear(BLACK);
ledStatus.Led1Sta=0;
}
}
}
3.添加讀回調(diào)函數(shù)(把濕度修改成光照的參數(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;
}
4.更新資源(使平臺(tái)實(shí)時(shí)更新數(shù)據(jù))
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);
}
二淮阐、OntNET平臺(tái)效果
1.資源列表
a.jpg
2.設(shè)備資料詳情
b.jpg
三、在Postman添加資源調(diào)用API(利用post請(qǐng)求附加資源插入語句實(shí)現(xiàn)功能)
c.jpg
d.jpg
四刁品、Postman控制的設(shè)備效果
1.白屏
bai.jpg
1.黑屏
hei.jpg