一.项目背景
随着时代的不断进步发展,各行各业都离不开传感器,首先在农业生产中,监测温度和湿度可以帮助农民掌握大棚或温室内的气候情况,从而合理调节灌溉、通风和加热设备,提高作物产量和质量。其次在气象领域,监测温湿度是气象学研究的基础,可以帮助预测天气变化、气候趋势等,最后在建筑工程中,监测温湿度可以帮助设计师和建筑师了解室内外环境的变化,从而设计出更加舒适和节能的建筑。传感器已经成为我们生活中不可或缺的一部分。
二.系统目标
温湿度环境监测系统需要有传感器,用于实时监测环境中的温度和湿度数据。并且传感器可以选择温湿度传感器、红外线传感器等,确保数据的准确性和及时性。以及数据采集模块,负责采集传感器获取的温湿度数据,并将数据传输给系统进行处理。数据采集模块可以是单片机、传感器模块或者专门的数据采集设备。还需要有用户界面,提供给用户的可视化界面,用于展示实时的温湿度数据、历史数据、报警信息等。用户界面可以是Web界面、移动App等形式,方便用户随时随地监测环境情况,最后需要有报警系统,当环境温湿度超出设定范围时,系统应该能够及时发出警报,提醒用户注意并采取相应的措施。报警系统可以是声音报警、短信通知、邮件提醒等形式。
三、配置参数
3.1 引导机、接入机的配置
char uri[] = "coap://183.230.40.40:5683"; // 引导机服务
char *serv_addr = "183.230.102.118"; // 接入机 IP 地址,暂时无用
- 定义了一个名为 uri 的字符数组,存储了引导机服务器的地址和端口号。本实验不做修改。
- 定义了一个字符型指针 serv_addr,存储了接入机IP地址,本次实验暂时无用,不做修改。
3.2 IMEI;IMSI
const char endpoint_name[] = "067069372024104;067069372024104"; // IMEI;IMSI
- 声明了一个名为 endpoint_name 的字符数组常量,用于存储了设备的标识。即:IMEI(国际移动设备身份码)和 IMSI(国际移动用户识别码)
注释:IMEI为保证合法性由“NB-IMEI生成器.exe”自动生成。
3.3 Life Time
int life_time = 300;
if (ret)
{
printf("device step error, code = %d.\r\n", ret);
}
// 每30秒更新一下设备资源的值
res_update(30);
- 定义了一个整数型变量 life_time,用来保存NB-IoT的心跳时间,用来调整设备发送信号的频率。本实验设置心跳时间为30S,每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命令配置模块,每30s自动发送AT指令。
五.接入云平台
5.1创建产品并填写信息,节点类型选择“直连设备”,接入协议选择“LwM2M”,数据协议选择“IPSO”,联网方式选择“NB”。
5.2添加设备,配置合适的IMEL和IMSEI
注意:烧写代码时,程序IMEL和IMSEI要与平台设备设置参数保持一致。
5.3进入设备管理,等待设备在线
六.上报数据查看
点击设备管理,选择设备列表,点击详情,打开实时刷新,等待数据的不断更新。
七.总结
1. NB-IoT 设备接入 云平台的步骤
注册账号: 在 OneNET 官网注册账号并登录。
创建产品和设备: 在 OneNET 中创建对应的产品和设备,获取产品ID和设备ID。
配置设备参数: 配置 NB-IoT 设备的通信协议、数据格式等参数,确保与 OneNET 云平台的通信兼容。
设备接入: 使用 NB-IoT 模组将设备连接到移动网络,通过设备的 IMEI 码等信息进行注册。
数据传输: 设备通过 NB-IoT 网络将数据传输到 OneNET 平台,可以通过LWM2M等协议进行数据上传。
数据处理和展示: OneNET 平台接收设备上传的数据,可进行数据存储、分析、可视化等操作,方便用户监控和管理设备。
2. 注意事项
设备兼容性: 确保 NB-IoT 设备兼容 OneNET 平台的通信规范和数据格式要求。
安全性: 使用安全的连接方式,如 HTTPS 等,保护设备和数据的安全。
数据传输稳定性: 确保 NB-IoT 网络连接稳定,数据传输可靠,避免数据丢失或延迟。
3. 个人收获
- 深入了解物联网技术: 通过实际操作,我深入了解了 NB-IoT 技术以及其在物联网中的应用。了解了设备连接、数据传输、数据处理等方面的原理和流程。
- 学习了 OneNET 平台的功能: 通过配置产品和设备、上传数据、进行数据分析等操作,我熟悉了 OneNET 云平台的各项功能和操作界面。学会了如何管理设备、监控数据等。
- 提升了问题解决能力: 在接入过程中,遇到了一些问题,如设备无法注册、数据传输异常等,通过查阅资料、调试设备,最终解决了这些问题,提升了自己的问题解决能力。
- 加强了团队合作意识: 在一些复杂的问题上,我与团队成员一起合作,共同分析和解决,加强了团队合作意识和沟通能力。
- 拓展了实践经验:通过实际操作,我积累了丰富的物联网实践经验,包括设备接入、数据传输、云平台操作等方面,为今后的项目开发和实施积累了宝贵经验。