一、配置参数
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[] = "067069372024104;067069372024104"; // IMEI;IMSI
声明了一个名为 endpoint_name 的字符数组常量,用于存储了设备的标识。
即:IMEI(国际移动设备身份码)和 IMSI(国际移动用户识别码)
注释:IMEI为保证合法性由“NB-IMEI生成器.exe”自动生成。
3. Life Time
- int life_time = 300;
定义了一个整数型变量 life_time,用来保存NB-IoT的心跳时间,用来调整设备发送信号的频率。本实验设置心跳时间为30S。
4.入网
- 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命令配置模块
二、连接云平台
- 创建产品,选择正确的产品信息:节点类型为直连设备;接入协议为LwM2M;数据协议为IPSO;联网方式为NB同时开启自动发现资源
- 添加设备同时注意IMSI序号,在烧录代码是IMSI序号必须对应
- 进入设备管理,设备详情中查看设备在线情况
三、数据查看
- 打开设备管理,在设备列表中,查看详情并打开实时刷新,等待观察数据更新。
四、总结
- 本次实验旨在设计并实现一个简单智慧城市中的温湿度监控系统。通过该系统,可以实时监测城市中各个区域的温湿度数据,并将数据传输到云端进行分析和存储。
- 在实验过程中,我们首先进行了系统的需求分析和设计。根据需求,我们需要设计一个能够采集温湿度数据的传感器模块,并将其与微控制器连接。同时,我们利用一个无线通信模块,用于将数据传输到云端。
在实验过程中,我们遇到了一些问题。首先是传感器数据的采集精度问题。经过多次测试和调试,我们发现传感器的数据精度受到环境因素的影响较大,需要对其进行校准。其次是数据传输的稳定性问题。由于无线信号的干扰和遮挡,数据传输可能会出现丢失或延迟的情况。 - 最终,我们成功地实现了一个简单的智慧城市中的温湿度监控系统。通过该系统,我们可以实时监测各个时间的温湿度数据,并将数据传输到云端进行分析和存储。