NB-IOT 设备接入OneNET平台【包含物模型使用】_nb设备对接

1. 点击添加自定义功能节点![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bjQnVOSb-1687836381141)(NB-IOT设备接入OneNET平台.assets/image-20230627092941424.png)]](https://img-blog.csdnimg.cn/e4da3c589a454e2f92e1b19135b82400.png)


2. 创建一个简单的物模型,完成后点击新增![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6Bh8qfM1-1687836381142)(NB-IOT设备接入OneNET平台.assets/image-20230627093241581.png)]](https://img-blog.csdnimg.cn/747c583b765c4ded9a1e91ecfbd0cef3.png)

可以看到列表中看到了新增的信息事件,点击保存,就可以将我们刚才设置的事件保存到我们的物模型中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cJxW09IM-1687836381142)(NB-IOT设备接入OneNET平台.assets/image-20230627093405580.png)]

2.3、添加设备

​ 设置完一个简单的物模型后我们先来测试一下它的可用性,但是此时我们的产品下还没有设备,所以我们先来添加一个设备

  1. 点击设备接入管理->设备管理->添加设备
    在这里插入图片描述
  2. 产品选择我们刚刚创建的测试,设备名称随意,我们还缺少两个必填项IMIEIMSI
    在这里插入图片描述
  3. 打开串口调试助手输入

AT+CGSN=1 获取IMEI

AT+CIMI 获取IMSI

在这里插入图片描述
4. 将获取到的IMEIIMSI输入,点击确定

在这里插入图片描述

我们就可以在设备列表中看到我们刚才添加的设备了
在这里插入图片描述

2.4、测试物模
  1. 点击设备详情在这里插入图片描述
  2. 点击设备调试->事件上报->启动调试在这里插入图片描述
  3. 事件选择我们刚才创建的测试用例,具体的参数随意填写,之后点击事件上报在这里插入图片描述
  4. 可以在右边的调试日志中看到设备上报到平台的数据形式在这里插入图片描述
    我们先把它复制出来,在后面需要用到

{ “title”: “事件上报”, “timestamp”: “2023-06-27 09:54:04”, “message”: “{“payloads”:{“id”:“1687830843101”,“version”:“1.0”,“params”:{“Test”:{“value”:{“Begin”:110,“Mid”:119,“End”:120}}},“method”:“thing.event.post”},“url”:”/19/0/0"}" }

在这里可以先了解一点连接平台相关的知识

1. [物模型通信协议>OneJson简介]( )
2. [LwM2M协议接入>LwM2M-Studio概览]( )

3、连接NB-IOT

3.1、模块初始化

//确认模块能正常响应 AT 命令

AT

OK

//获取模块 IMEI 号

AT+CGSN=1

+CGSN: “865324037375316”

OK

//查询模块固件版本号

AT+CGMR

+CGMR: N306_C1-E05-STD-BZ-001

OK

//确认模块能识别到 SIM 卡

AT+CPIN?

+CPIN: READY

OK

//获取 IMSI

AT+CIMI

460016657520885

OK

//确认信号良好 12< CSQ <31

AT+CSQ

+CSQ: 31, 99

OK

//主动关闭低功耗模式

AT+ECPMUCFG=1,1

OK

// 查询网络附着情况

AT+CGATT?

+CGATT: 1

OK

// 查询网络注册情况

AT+CEREG?

+CEREG: 0,1

OK

//查询 PDP 是否激活成功

AT+CGPADDR

+CGPADDR: 0,“10.20.221.89”

OK

这里具体的命令可能会有所不同,具体的命令要找模组厂商要资料,我这里使用的是有方的N306模块(很明显这不是广告)

3.2、模块接入 OneNET 平台,完成注册

//查询基础通信套件版本

AT+MIPLVER?
+MIPLVER: 2.3.0

OK

//创建基础通信套件成功,返回 < ref > 为 0,0 是基础通信套件标识,后续 AT 指令都需要使用到它

AT+MIPLCREATE
+MIPLCREATE: 0

OK

//添加对象为 19

AT+MIPLADDOBJ=0,19,1,“1”,1,1
OK

//模块请求注册AT+MIPLOPEN=0,3600
OK

+MIPLEVENT:0,1 //OneNET 平台返回结果 BOOTSTRAP_START

+MIPLEVENT:0,2 //OneNET 平台返回结果 BOOTSTRAP_SUCCESS

//不是内部集成平台SDK的模块不返回0,4

+MIPLEVENT:0,4 //OneNET 平台返回结果 CONNECT_SUCCESS

+MIPLEVENT:0,6 //OneNET 平台返回结果 REG_SUCCESS

//OneNET 平台对象/实例 Observe 请求

+MIPLOBSERVE: 0,125579,1,19,0,-1

//模块响应 Observe 请求,其中 msgid=125579 必须对应 OneNET 平台 Observe 请求消息中下发的 msgidOK

AT+MIPLOBSERVERSP=0,125579,1

//OneNET 平台对象 Discover 请求

+MIPLDISCOVER: 0,60044,19

//模块响应 Discover 请求,其中 msgid=60044 必须对应 OneNET 平台 Discover 请求消息中下发的 msgid。

AT+MIPLDISCOVERRSP=0,60044,1,1,“1”
OK

//平台返回 Discover 请求结果给模块,完成订阅。

+MIPLEVENT: 0,11

到这里我们就成功的与平台建立了通信,查看设备状态为在线

在这里插入图片描述

4、上传数据到ONENET平台

设备要向平台上传能被物模型解析的数据的格式要是16进制的OneJson格式数据

所以这个时候需要用到我们前面在设备调试时复制来的数据了,我们可以用几个实用的工具网站来转换成我们需要的数据

  1. 我们在这里可以使用去转义功能,将我们复制来的数据格式化成我们需要的样子(只需要playload里面的内容)JSON在线 | JSON解析格式化—SO JSON在线工具在这里插入图片描述

转换后我们得到了这样的数据

{
	"id": "1687830843101",
	"version": "1.0",
	"params": {
		"Test": {
			"value": {
				"Begin": 110,
				"Mid": 119,
				"End": 120
			}
		}
	},
	"method": "thing.event.post"
}

  1. 保险起见我们再清除空白字符在线字数统计工具 | 菜鸟工具 (runoob.com)

在这里插入图片描述

我们可以得到这样的结果

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

g-SsoNdkcT-1715591713536)]

[外链图片转存中…(img-NGqXx6YE-1715591713536)]

[外链图片转存中…(img-jI5rFN83-1715591713537)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值