一、项目背景
温湿度控制广泛应用于人们的生产和生活中,对于农产品种子来说,对环境温度与湿度有着比较严格的要求。人们通常使用温度计、湿度计来测量仓库的温度和湿度,通过人工加热、加湿、通风和降温等方法来控制仓库的温、湿度,这种方法不但控制精度低、实时性差,而且操作人员的劳动强度大。同时温度与相对湿度的大幅度变化可能导致种子大范围腐烂或者影响种子的发芽率,从而带来极大的经济及财产损失。因此,保持适宜的仓库温度、湿度对保证农产品种子存储质量十分重要。
二、实验目标(响应需求分析报告)
1.认识NB-IoT开发板硬件
2.搭建软件开发环境
3.实现单机数据采集
三、实验步骤
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网络接入过程是模组进行正常数据通信业务之前的必要步骤。在初始化中,模组将
会完成网络搜索、驻网、附着等流程。
4.接入OneNET
1.在模组中设置设备注册码
AT+MIPLCONF=<size>,<config>,<index>,<flag>
<size>指示<config>部分总数据长度,按照ASCI计数;
<config>注册码,包含具体的设备配置数据,满足配置结构体规范;
<index>配置数据分片参数;
<flag>配置数据流结束符
2.向模组添加Object资源
AT+MIPLADDOBJ=<ref>,<objectid>,<instancecount>
<ref>表示OneNET instance值
<objectid>表示资源对象的objid
<instancecount>表示资源对象instance数量
3.向模组订阅Resource资源
AT+MIPLANOTIFY=<ref>,<objectid>,<instancecount>,<resoureceid>,<valuetype>,<value>,<flag>[,<ackid>]
<ref> 表示OneNET instance值.
<objectid> 表示资源对象的objid.
<instanceid> 表示资源对象的instid.
<resourceid> 表示资源对象的resid
4.向OneNET发起注册请求
AT+MIPLOPEN=<ref>,<lifetime>[,<timeout>]
<ref>表示OneNET instance值
<lifetime>表示注册到OneNET平台的生存时间
<timeout>表示超时。如果超过该时间,模组还未接收到平台的登录响应,模组则会上报登录失败的通知
1.3.4、设备数据上报
1.温湿度监测系统数据上传逻辑图
2.数据上报流程
命令格式
AT+MIPLNOTIFY=<ref>,<objectid>,<instanceid>,<resourceid>,<valuetype>,<value>,<f
lag>[,<ackid>]
如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老化
四、总结
这次实验学到了很多知识,同时也让我更加了解这块板子和项目流程。感谢老师的悉心讲解和指导,顺利完成了本次的实验(线上注册——硬件学习——软件程序——创建设备——建立通信——数据解析)。