一、项目背景
温湿度控制广泛应用于人们的生产和生活中,对于农产品种子来说,对环境温度与湿度有着比较严格的要求。人们通常使用温度计、湿度计来测量仓库的温度和湿度,通过人工加热、加湿、通风和降温等方法来控制仓库的温、湿度,这种方法不但控制精度低、实时性差,而且操作人员的劳动强度大。同时温度与相对湿度的大幅度变化可能导致种子大范围腐烂或者影响种子的发芽率,从而带来极大的经济及财产损失。因此,保持适宜的仓库温度、湿度对保证农产品种子存储质量十分重要。
二、实验目标(响应需求分析报告)
三、实验步骤
1.3.1、OneNET平台注册及认证
1.3.2、OneNET平台添加产品与设备
1.主页点击右上角的控制台
2.进入到控制台后选择nb-iot物联网套件
3.然后添加产品
4.创建完产品后,转到设备列表,进行添加设备,设备的IMEI需要自己生成后填写,IMSI可以随便填,也可以填设备对应的IMSI
1.3.3、温湿度监测终端设备的平台接入
1.温湿度监测系统设备接入逻辑图
2.NB-IoT设备接入OneNET流程图
3.接入NB-IoT网络
NB-IoT网络接入过程是模组进行正常数据通信业务之前的必要步骤。在初始化中,模组将
会完成网络搜索、驻网、附着等流程。
void netdev_init(void)
{
SendCmd(“AT+NRB\r\n”, “OK”, 5000,0,10); // 重启模块
SendCmd("AT+CIMI\r\n", "OK", 2000,3,5); // 获取NB-IoT物联SIM卡的IMSI号
SendCmd(“AT+CMVER\r\n”, “3.”, 5000,0xFFFF,10); // 固件版本
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); // 禁用eDRX省电模式
SendCmd(“AT+CPSMS=0\r\n”,“OK”, 3000,0,5); // 禁用PSM省电模式
SendCmd(“AT+CEREG?\r\n”,“CEREG:2,1”, 3000,1000,5); // 判断网络附着状态
SendCmd(“AT+CSQ\r\n”, “OK”, 2000,0,5); // 获取信号强度
printf(“connect NB-IoT success\r\n”); // 打印LOG
Led3_Set(LED_ON); // 点亮LED3,即第一个蓝灯
}
4.接入OneNET
1.在模组中设置设备注册码
AT+MIPLCONF=
2.向模组添加Object资源
AT+MIPLADDOBJ=,
表示OneNET instance值
3.向模组订阅Resource资源
AT+MIPLANOTIFY=,
表示OneNET instance值.
4.向OneNET发起注册请求
AT+MIPLOPEN=,
表示OneNET instance值
1.3.4、设备数据上报
1.温湿度监测系统数据上传逻辑图
2.数据上报流程
命令格式
AT+MIPLNOTIFY=,
如AT+MIPLNOTIFY=0,3303,0,5700,4,"24.5",1
OneNET在5分钟之内收到相同的ackid会自动过滤,因此ackid在5分钟内不能重复
1.3.5、平台设备管理及数据管理
1.OneNET管理设备和数据
设备状态
物理设备上线后,“在线状态”会变亮,
表示物理设备在线,否则表示离线。
资源列表
设备上线后会上传一个资源列表到平台
中,在资源列表中可以看到设备下的对
象名称、实例个数和属性个数
属性操作
可以查看当前属性的值,并对属性进行
读、写、执行等操作
2.设备管理流程
设备管理目前版本提供6种操作:discover、read、write、execute、write-attributes、
observe
即时命令:MCU应在执行平台下发的规定操作后数秒内(建议3s)上报对应操作结果,否
则传输信息可能丢失
缓存命令:注意IP老化
3.数据管理
四、总结
这次的实验真的让我学会了很多细节上的知识,两个星期的课都是在硬件排错,同时也让我更加了解这块板子和项目流程。感谢老师的悉心讲解和指导,顺利完成了本次的实验(线上注册——硬件学习——软件程序——创建设备——建立通信——数据解析)。