一、实验背景
智慧园区是成熟园区的升级方向,也是新兴园区的规划起点,而随着5G、移动互联网、云计算等新一轮信息技术的迅速发展和深入应用,以智慧化提升园区竞争力已成大势所趋。
在当前疫情下,智慧园区更是可以帮助解决了复工复产面临的用工紧张、成本上升、资金不足、物流不畅等一系列问题。它通过融合大数据分析、物联网、云计算、移动互联网等新一代信息技术来满足日常工作需要的同时,促进企业内部资源优化配置。
二、实验目标
- 采集温湿度、光照、大气压值
- 实现环境内根据光照强度自动控制开关灯
- 可以在平台直接发命令控制开关灯
- 通过Postman控制灯开关
- 学会使用“轻应用”
三、实验步骤
1.添加资源、更新资源
添加光照数值
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灯数值
led.flag |= NBIOT_UPDATED;
led.value.as_bool = ledStatus.Led1Sta;
添加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;
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();
}
}
2、平台控制LED灯
(1)、设备接入平台
设备.png(2)、平台对led灯控制
发送命令:true 实现设备亮灯
发送命令:false 实现设备灭灯
控制.png
3、POSTMAN调用API
postman http 请求的4部分:url,请求method,header,body。在Body处,修改参数:0、1 即可进行设备开关灯操作
postman.png4、触发器设置
(1)添加触发器
(2)设置触发条件:当光照值低于设定的值100时,将led1点亮
open.png5、轻应用
(1)在应用管理新增应用;
(2)编辑应用;
(3)轻应用界面设置及数据值传输显示。
轻应用.png四.实训总结
本次实训收获很多,不仅学到了如何通过Postman调用API控制灯光开关,还学到了如何使用OneNET平台上开发小应用的功能。对oneNET平台的使用也更加熟练了,对项目实施的流程思路也更清晰了。不足的是不能独立完成实训,需要请同学帮助。
网友评论