一、项目背景
基于OneNET的远程温湿度监测系统,实现设备上云
二、项目目标
- OneNET平台注册
- 在OneNET平台上添加产品与设备
- 温湿度监测终端设备的平台接入
- 设备数据上报
- 平台设备管理及数据管理
三、实验步骤
1.OneNET平台注册
2.OneNET平台添加产品与设备
-
添加产品
-
添加设备
3.温湿度监测终端设备的平台接入
-
NB-IoT设备接入OneNET
接入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,即第一个蓝灯
}
- 常用AT指令
AT即Attention,从终端设备(Terminal Equipment, TE)发送到移动通信终端(Mobile
Terminal, MT) ,在GSM网络中可以进行拨号呼叫、短信、电话本、数据业务、传真等方
面的控制
1.设置命令 AT+<cmd>=p1[,p2[,p3[.....]]]
在AT指令后面加上“=p1[,p2[,p3[.....]]]”即构成设置命令。例如“AT+MIPLOPEN=0,3000,30会设置登录的参数并登陆
2.测试命令 AT+<cmd>=?
在AT指令后面加上“=?”即构成测试命令。例如“AT+CSCS=?”会列举出所有支持的字符集
3.执行命令 AT+<cmd>
一般而言在AT指令后加上“=”及命令参数即可。有些命令例如AT+CMGR命令没有参数,直接就可以执行
4.读取命令 AT+<cmd>?
在AT指令后面加上“?”即构成读取命令。例如“AT+MIPLVER?”会列举出当前设置
- 接入OneNET
1.在模组中设置设备注册码
AT+MIPLCONF=<size>,<config>,<index>,<flag>
<size>指示<config>部分总数据长度,按照ASCII计数
<config>注册码,包含具体的设备配置数据,满足配置结构体规范
<index>配置数据分片参数
<flag>配置数据流结束符
2.向模组添加 Object 资源
AT+MIPLADDOBJ=<ref>,<objectid>,<instancecount>
<ref>表示OneNET instance值
<objectid>表示资源对象的objid
<instancecount>表示资源对象instance数量
3.向模组订阅 Resource 资源
AT+MIPLNOTIFY=<ref>,<objectid>,<instanceid>,<resourceid>,<valuetype>,<value>,<f
lag>[,<ackid>]
<ref>表示OneNET instance值
<objectid>表示资源对象的objid
<instanceid>表示资源对象的instid
<resourceid>表示资源对象的resid
4.向 OneNET 发起注册请求
AT+MIPLOPEN=<ref>,<lifetime>[,<timeout>]
<ref>表示OneNET instance值
<lifetime>表示注册到OneNET平台的生存时间,单秒秒
<timeout>表示超时。如果超过该时间,模组还未接收到平台的登录响应,模组则会上报登录失败的通知
注释
1.服务器收到登录请求数据之后,会根据数据内容,返回本次登录结果
2.如果模组登录失败,或者登录超时,模组都会上报登录失败的响应
3.如果模组登录成功,平台会下发 OBSERVE 消息和 DISCOVER 消息;模组收到这两条消息之后,会自动处理,无需用户另行处理
4.平台会在全部订阅完成后,发送read 3/0操作,如果设备收到该read命令,则视为全部订阅成功。设备只有在订阅后才能上报数据
4.设备数据上报
- 数据上报流程
命令格式:AT+MIPLNOTIFY=<ref>,<objectid>,<instanceid>,<resourceid>,<valuetype>,<value>,<f
lag>[,<ackid>]
5.平台设备管理及数据管理
-
设备管理流程
四、实验总结
通过此次项目,学习到了OneNET平台的使用方法,且对物联网云平台有了深层次的了解。但还需再今后的学习中把知识点吃透掌握。