2.1 项目背景
近年来我国许多城市都面临着交通拥堵、环境恶化、资源短缺等“城市病”问题,这使得城市管理和服务面临巨大的挑战。温湿度作为城市环境的重要参数,对居民生活、城市运行和生态保护等方面都有着重要的影响。例如,过高的温度可能导致城市热岛效应加剧,影响居民的生活质量;而过低的温度则可能增加能源消耗,不利于节能减排。因此,对温湿度的实时监测和数据分析,对于提升城市环境质量、优化城市管理具有重要意义。
2.2实训目标
掌握智慧城市温湿度监控系统的基本原理和技术实现。学员需要了解温湿度传感器的工作原理、数据采集与传输技术、数据处理与分析方法等,以便能够根据实际需求进行系统设计和开发。
其次,实现温湿度数据的实时监测和展示。实训过程中,学员需要搭建温湿度监控系统,实现对城市各个区域的温湿度数据进行实时采集、传输和展示。通过界面友好的展示平台,相关人员可以方便地获取所需信息,为城市管理和决策提供数据支持。
2.3实训过程
(1)更改并烧写代码
相关代码如下
(led灯模拟打开和关闭):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;
}
}
相关代码如下(添加光照和led灯的控制代码,当平台接收到控制写入命令时,响应控制):
}else if (objid == 3301 && instid == 0 && resid == 5700) {
BH1750_test();
illumi.value.as_float = result_lx;
} else if (objid == 3311 && instid == 0 && resid == 5850) {
led.value.as_bool = ledStatus.Led1Sta;
}
相关代码如下(光照值、led数值的读取更新):
illumi.flag |= NBIOT_UPDATED;
BH1750_test();
illumi.value.as_float = result_lx;
led.flag |= NBIOT_UPDATED;
led.value.as_bool = ledStatus.Led1Sta;
相关代码如下(增加光照和led资源):
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 ???
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).在云平台查看设备信息 注意在线情况
2.4实训结果
打开设备管理----设备资源 查看数据并打开实时刷新,查看数据并记录
2.5实训中的问题及解决方案
代码错误
代码书写过快,导致错误
参考文档一一对比改正