NB IoT LWM2M Object or/and Resource Identifier: (Object ID) or (ResourceID)

  

  LWM2M协议中Object ID-对象id和ResourceID-资源id具体含义和连接OneNET物联网平台时候AT指令语句中对应的参数修改。

编码规范官方网址
基于M5310模组实现NB设备接入OneNET实例

接入Onenet平台时主要AT指令语句
AT+MIPLADDOBJ=0,3303,1,"1",1,1
AT+MIPLDISCOVERRSP=0,35748,1,4,"5700"
AT+MIPLNOTIFY=0,msgid,3303,0,5700,4,len,value,0,0

  


  
理论篇
  
  这里首先要理解三个参数含义,对象id,实例id,资源id,LWM2M规范定义了每个对象对应客户端的某个特定功能实体object。

Object ID:对象id,上传必须要对应的功能实体,其中常用的3303表示温度,3316表示电压,3317表示电流,3333表示UTC时间,3300表示通用传感器,具体可以看官方文档的这里-见下图。红线以下都是经常使用的对象,温度、湿度、压力等,都是物联网常见的参数。

Instance ID:实例id,instance代表着这个object的不同实例。通过object id和instance id可以确认到一个指定的object实例;比如一个物联网设备检测多个温度,就需要创建一个对象的不同实例。这个据我了解有些模块不支持。

Resource ID:资源id,每个object下可以有多个resource属性数据。比如温度传感器这个实例,其所对应的单位、最大最小值,温度等数值可视为其resource属性。比如你上传一组数据包括单位,最大值最小值,传感器值等等,就能在平台上可视化各种炫酷的图形,统计表格等等,当然这个要物联网平台支持。5700为传感器值,这个是最常用的值而且OneNET平台支持显示sensor value。

   总结一下就是我们通过object id区分对象的类型,温度、湿度还是气压等等,通过不同的instance id来区分同一个对象不同的实例,voltage_0、voltage_1、voltage_2等等,用resource id来区分一个具体对象实例的不同属性,比如加速度计的X_value、Y_value、Z_value,等等,这样就可以确定上传的每条数据对应的意义。

  


  

实战篇

   这里举个移远BC20连接OneNET物联网平台时候AT核心指令语句。

  • 向通信套件添加object组

    AT+MIPLADDOBJ=0,3303,1,“1”,1,1 //创建一个对象,3303表示温度,具体见下方。
               ref, objId, insCount, insBitmap, attrCount, actCount

   -ref, is 0,创建的通讯套件实例id。
   -objId, 对象id,3316表示电压,3317表示电流,3333表示UTC时间,3300表示通用传感器。
   -insCount, is 1,创建实例的个数。
   -insBitmap,is “1”,必须要双引号,实例的位图,1表示有效。
   -attrCount,is 1,属性计数,它指示可读和/或可写资源的计数。
   -actCount, is 1,操作计数,指示可执行资源的计数。

  

  • 发送一个数据


    AT+MIPLNOTIFY=0,122179,3316,0,5700,4,4,25.6,0,0
              ref, msgId, objId, insId, resId, valueType, len, value, index, flag

    -ref , is 0
    -msgId ,信息识别码,MIPLOPEN返回的识别码
    -objId ,对象id
    -insId ,实例号
    -resId ,资源号
    -valueType ,数据类型,1表示字符串,2表示不透明数据类型,3为整数,4表示浮点数,5表示布尔数。
    -len ,数据长度,当数据为字符串时,len=字符串长度。数据为整数时,len可以是2,4或8,数据为浮点数时,其值为4。
    -value ,整数或者浮点是的时候,就是对应的文本数据。字符串时,为用双引号引起来
    -index ,数据的索引,是N-1到0的递减序列数,到零时,表示这是最后一个数了。
    -flag ,1表示第一个数据,2表示中间的数据,3表示最后一个数据。

这里分享一个BC20连接onenet指令

AT+MIPLCREATE                  //设备创建
AT+MIPLADDOBJ=0,3316,1,"1",1,0   //创建一个对象,1个实例,3303表示温度
AT+MIPLOPEN=0,86400           //注册请求,持续时间1天,此指令返回渐渐较长
AT+MIPLOBSERVERSP=0,101283(MIPLOPEN指令返回),1  //响应观察请求,必须3S之内响应
AT+MIPLDISCOVERRSP=0,35748(MIPLOBSERVERSP指令返回),1,4,"5700"  //创建一个资源对象
AT+MIPLNOTIFY=0, 101283(MIPLOPEN指令返回), 3316,0,5700,4,内容长度,内容,0,0 //发送一条数据
AT+MIPLDELOBJ=0,3316
AT+MIPLCLOSE=0
AT+MIPLDELETE=0

这是我测试的记录

AT+MIPLCREATE+MIPLCREATE: 0OK
AT+MIPLADDOBJ=0,3316,1,"1",1,1OK
AT+MIPLOPEN=0,86400OK+MIPLEVENT: 0,1+MIPLEVENT: 0,2+MIPLEVENT: 0,4+MIPLEVENT: 0,6+MIPLOBSERVE: 0,112638,1,3316,0,-1+MIPLOBSERVE: 0,112638,1,3316,0,-1
AT+MIPLOBSERVERSP=0,112638,1 OK+MIPLDISCOVER: 0,47103,3316
AT+MIPLDISCOVERRSP=0,47103,1,4,"5700"OK+MIPLDISCOVER: 0,47103,3316
AT+MIPLNOTIFY=0,112638,3316,0,5700,4,4,18.7,0,0OK
AT+MIPLNOTIFY=0,112638,3316,0,5700,4,4,18.8,0,0OK+MIPLDISCOVER: 0,47105,3316
AT+MIPLNOTIFY=0,112638,3316,0,5700,4,4,18.8,0,0OK+MIPLDISCOVER: 0,47105,3316+MIPLDISCOVER: 0,47105,3316
AT+MIPLNOTIFY=0,112638,3316,0,5700,4,4,18.8,0,0OK
AT+MIPLNOTIFY=0,112638,3316,0,5700,4,4,20.8,0,0OKAT+MIPLDELOBJ=0,3316OK
AT+MIPLCLOSE=0OK+MIPLEVENT: 0,15
AT+MIPLDELETE=0OK

   互相学习,如有问题,欢迎交流!!!

NB IoT LWM2M Object or/and Resource Identifier: (Object ID) or (ResourceID)相关推荐

  1. a different object with the same identifier value was already associated with the session

    当出现a different object with the same identifier value was already associated with the session时,一般是因为在 ...

  2. a different object with the same identifier value was already associated with the session:

    hibernate操作: 实例化两个model类,更新时会提示 a different object with the same identifier value was already associ ...

  3. No resource identifier found for attribute 'showAsAction' in package 'android'

    运行一个项目时在一个menu.xml文件item属性android:showAsAction 报错 No resource identifier found for attribute 'showAs ...

  4. Android调试错误-No resource identifier found for attribute 'showAsAction'

    今天在研究有米广告技术时,第一次编译他们提供的Android示例工程,结果出现如下错误: [2014-11-29 11:28:25 - com.youmi.android.offerdemo.Youm ...

  5. 关于出现org.hibernate.TransientObjectException: The given object has a null identifier: 错误的解决方法

    关于出现org.hibernate.TransientObjectException: The given object has a null identifier: 错误的解决方法 参考文章: (1 ...

  6. a different object with the same identifier value was already associated with the session解决方案

    a different object with the same identifier value was already associated with the session解决方案 参考文章: ...

  7. Error:(108) No resource identifier found for attribute #39;style#39; in package #39;android#39;

    Error:(108) No resource identifier found for attribute 'style' in package 'android' 解决方案: 这是错误的写法: a ...

  8. org.hibernate.transientobjectexception:The given object has a null identifier: com.gxuwz.check.entit

    错误信息: org.hibernate.TransientObjectException: The given object has a null identifier: com.gxuwz.chec ...

  9. a different object with the same identifier val...

    2019独角兽企业重金招聘Python工程师标准>>> a different object with the same identifier value was already a ...

最新文章

  1. mysql的条件替换_MySQLwhere条件替换疑问?
  2. stm32学习之新建工程
  3. 新学语言python和JS
  4. windows bat 设置ip_A6v5.1网络版安装与防火墙设置
  5. 辞去美国终身教职!顶尖学者,加盟“双一流”高校
  6. varnish的了解与常用配置使用
  7. Kotlin 丢失了一些 JRE 类
  8. 电动自动吞吐式IC卡RFID读写器EMV模块HX150进卡命令
  9. 软件工程复习之rup
  10. 对话斯坦福商学院教授:颠覆大公司的不是技术,是商业模式
  11. 学习java和html必须要知道的英文单词(入门单词,包括C#)
  12. 即时通讯,2022即时通讯IM厂商介绍
  13. 深度学习:乳腺检测abnormality detection in mammography +CAM
  14. 国内的服务器的优势就是,国产服务器有哪些优势?其优势主要表现在哪?
  15. 形式主语 it 练习题
  16. 情感分析动力学知识框架(晏殊几何学情锚讲义)
  17. java游戏越狱_透露越狱第三季里可以帮助Michael越狱的java程序(转载)
  18. Redis server went away报错解决
  19. 【风力发电机组】基于simulink风速模型仿真
  20. 39岁研究生毕业14年的经验和教训

热门文章

  1. Debian11系统安装
  2. 【uniapp 动态设置 起始页 默认展示页面 】
  3. mysql数据库中到底能建多少张表?(单实例下单个库)
  4. 精确率、准确率、召回率
  5. oracle安装成功验证
  6. 方唯上传程序后不能登录后台
  7. 面向2018年的设计趋势
  8. GDOI2018 涛涛摘苹果 [CDQ分治]
  9. 别以为Facebook只是互联网公司 他们还有一间黑科技实验室
  10. Android快速SDK(24)第三方分享UmengShare【肌肉记忆,分钟接入】