项目背景
温、湿度控制广泛应用于人们的生产和生活中,对于农产品种子来说,对环境温度与湿度有着比较严格的要求。人们通常使用温度计、湿度计来测量仓库的温度和湿度,通过人工加热、加湿、通风和降温等方法来控制仓库的温、湿度,这种方法不但控制精度低、实时性差,而且操作人员的劳动强度大。同时温度与相对湿度的大幅度变化可能导致种子大范围腐烂或者影响种子的发芽率,从而带来极大的经济及财产损失。因此,保持适宜的仓库温度、湿度对保证农产品种子存储质量十分重要。
项目目标
通过单片机和OneNET平台实现远程温湿度监测系统功能
实验步骤
- 配置单片机
- 在OneNET平台上注册新用户
- 在OneNET平台上添加产品
- 在OneNET平台上添加设备
- 将设备接入OneNET平台
- 核对上传的数据并截图保存
单片机接入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>表示超时。如果超过该时间,模组还未接收到平台的登录响应,模组则会上报登录失败的通知
AT命令格式
AT+MIPLNOTIFY=<ref>,<objectid><instanceid>,<resourceid>,<valuetype>,<value>,<flag>[,<ackid>]
如AT+MIPLNOTIFY=0,3303,0,5700,4,"24.5",1
OneNET在5分钟之内收到相同的ackid会自动过滤,因此acdik在5分钟内不能重复
OneNET平台上进行设备管理和数据整流
设备管理目前版本提供6种操作: discover、 read、 write、 execute、 write attributes.observe
即时命令: MCU应在执行平台下发的规定操作后数秒内(建议3s).上报对应操作结果, 否则传输信息可能丢失
缓存命令:注意IP老化
实验结果
实验总结
在实验过程中,一定要注意平台是否订阅成功,因为设备只有在订阅后才能上报数据,同时,在做实验时一定要仔细分析没有出现正确现象的原因。