项目背景
温湿度监控系统开发的意义
- 提高城市生活质量:良好的温湿度环境对居民的生活舒适度和健康有着重要影响。通过监控温湿度数据并及时调整城市环境,可以提升城市居民的生活品质。
- 城市资源合理利用:合理的温湿度控制可以减少能源消耗,提高资源利用效率。通过监控系统的数据分析,城市管理部门可以更好地规划城市资源的利用,实现节能减排的目标。
- 环境保护与气候适应:随着气候变化的加剧,城市面临更多的极端天气事件。通过监控系统对城市温湿度进行实时监测,可以及时应对极端天气事件,提高城市的气候适应能力。
配置实验
一、配置参数
1. 引导机、接入机配置
char uri[] = "coap://183.230.40.40:5683"; // 引导机服务
char *serv_addr = "183.230.102.118"; // 接入机 IP 地址,暂时无用
- 定义了一个名为 uri 的字符数组,存储了引导机服务器的地址和端口号。使用 coap 协议接入了IP 地址为183.230.40.40,端口号为5683的引导机服务器。本实验不做修改。
- 定义了一个字符型指针 serv_addr,存储了接入机IP地址,但是本实验暂时无用,不做修改。
2. IMEI;IMSI
const char endpoint_name[] = "875635506596167;875635506596167"; // IMEI;IMSI
- 声明了一个名为 endpoint_name 的字符数组常量,用于存储了设备的标识。即:IMEI(国际移动设备身份码)和 IMSI(国际移动用户识别码)
注释:IMEI为保证合法性由“NB-IMEI生成器.exe”自动生成。
3. Life Time
int life_time = 300;
- 定义了一个整数型变量 life_time,用来保存NB-IoT的心跳时间,用来调整设备发送信号的频率。本实验设置心跳时间为30S。
二、NB_IOT入网
void netdev_init(void)
{
SendCmd("AT+NRB\r\n", "OK", 5000,0,10); //重启模块
SendCmd("AT+CIMI\r\n", "OK", 2000,3,5); //查询SIM卡IMSI号
SendCmd("AT+CMEE=1\r\n","OK", 2000,0,10); //设置报错格式为数值
SendCmd("AT+CSCON=1\r\n","OK", 2000,0,10); //设置完全上下文连接
SendCmd("AT+CEREG=2\r\n","OK", 2000,0,10);
SendCmd("AT+CEDRXS=0,5\r\n","OK", 3000,0,5);
SendCmd("AT+CPSMS=0\r\n","OK", 3000,0,5);
SendCmd("AT+CEREG?\r\n","CEREG:2,1", 3000,1000,5);
SendCmd("AT+csq\r\n", "OK", 2000,0,5);
printf("connect NB-IoT sucess\r\n");
NB_step(3,1);
}
使用以上函数进行初始化 NB-IoT 模块,使用AT命令配置模块。
三.接入OneNET云平台
3.1创建产品
-
创建产品、设备,并填写信息,节点类型选择“直连设备”,接入协议选择“LwM2M”,数据协议选择“IPSO”,联网方式选择“NB”。
3.2添加设备,配置合适的IMEL和IMSEI
注意:烧写代码时,程序IMEL和IMSEI要与平台设备设置参数保持一致。
3.3进入设备管理,等待设备在线
四.上报数据查看
点击设备管理,选择设备列表,点击详情,打开实时刷新,等待数据的不断更新。
实验总结
1. NB-IoT 设备接入 OneNET 云平台的步骤
2. 注意事项
设备兼容性: 确保 NB-IoT 设备兼容 OneNET 平台的通信规范和数据格式要求。
安全性: 使用安全的连接方式保护设备和数据的安全。
数据传输稳定性: 确保 NB-IoT 网络连接稳定,数据传输可靠,避免数据丢失或延迟。