NB-IOT移植移动onenet基础通信套件之Object_ID,实例ID,资源ID

1. 访问是按照分层的,Object_ID/实例ID/资源ID,对应每一层ID的数据类型,目前是分为3层,一个实例下面可以有多个实例id,对下面的数据结构来说,如果是资源ID的话,类型只能是asBuffer,asBoolean,asInteger,asFloat,如果是实例ID的话,则是asChildren的类型,这个asChildren是个数据,包含实例ID下面所有的资源ID。

struct st_cis_data
{
    uint16_t             id;
    cis_datatype_t      type;
    struct
    {
        uint32_t    length;
        uint8_t*    buffer;
    }asBuffer;
    union
    {
        bool            asBoolean;
        int64_t         asInteger;
        double          asFloat;
        struct
        {
            uint32_t    count;
            struct st_cis_data* array;
        }asChildren;
        struct
        {
            cis_oid_t     objectId;
            cis_iid_t     instId;
        }asObjLink;
    } value;
} ;

2. 结构体,其中flag代表,后面的3个数据那个是有的,比如flag = 0x110,就是有object ID和实例ID,在大部分情况下,假如某个为0的话(假如实例ID为0),就是指该object ID下面所有的实例ID。

struct st_uri
{
    uint8_t      flag;           // indicates which segments are set
    cis_oid_t    objectId;
    cis_iid_t    instanceId;
    cis_rid_t    resourceId;
};

3. 按照上面的,我的代码并没有实现吗,该指令是一个读取请求消息,如果资源ID,resourceid =‘-1’,则该指令会携带count,代表需要读取该instance下的所有资源,假设是工作服务器的读操作,那么AT+MIPLREADRSP指令里面的值要怎么填写,对AT来说就是字符串,那么指令需要去解析,但是目前根据文档,就是说如果服务下发的是读取实例下面的所有资源,那么这个指令将无法去上传,只能一次一个资源。算了,先按照3级全部在的情况搞吧。

< valuetype >:发送的数据类型
发送的数据类型要求如下:
string =1,//字符串型
opaque=2,//不透明类型
integer=3,//整型
float=4,//浮点型
bool=5,//布尔型
<len>:读取的数据长度
<value>:发送的数据值

4. 在此厘清楚object ID,实例ID,资源ID这三个的关系,object ID是分类,比如温度传感器,电池电量,就是两个不同的object ID,然后有2个温度传感器,那么温度传感器A和温度传感器B就是2个实例,资源就是传感器的数据和状态等。object ID,实例ID这两者有点像JAVA语言里面的类和对象。如下是国际组织定义好的object ID。

5. 如下是国际组织定义好的资源 ID。实例ID这个就是第几个设备的编号,按数量就行,不需要定义的。

 

转载于:https://www.cnblogs.com/429512065qhq/p/8317232.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OneNET平台NB-IOT接入开发文档 目录 第一章 文档说明 5 第二章 基于OneNET平台的NB设备接入及应用开发流程总体综述 6 2.1 NB设备接入OneNET平台流程图 6 2.2 应用开发流程图 6 第三章 NB设备接入OneNET平台 8 3.1 终端设备接入OneNET平台前的准备工作 8 3.1.1 SDK移植到MCU 9 3.1.2 SDK移植NB通信模组 9 3.1.3 SDK移植NB芯片 10 3.2 终端设备接入OneNET平台步骤 11 3.2.1 OneNET平台创建产品及设备 12 3.2.2 终端设备软硬件初始化 15 3.2.3 终端创建设备及资源 15 3.2.4 登录OneNET平台 16 3.2.5 平台订阅&发现设备资源 17 第四章 第三方应用开发 18 4.1第三方应用接入OneNET平台 18 4.1.1第三方应用平台接入验证程序 19 4.1.2 OneNET平台配置第三方应用平台 19 4.2 OneNET平台数据推送 20 4.1.1 明文消息 21 4.1.2 密文消息 22 4.1.3 消息相关字段说明 22 4.1.4 加密算法详述 23 4.2 API接口 24 4.2.1创建设备 25 4.2.2查看单个设备信息 26 4.2.3删除设备 27 4.2.4读设备资源 27 4.2.5写设备资源 28 4.2.6下发命令 29 4.2.7获取资源列表 29 4.2.8订阅 30 4.2.9离线命令 31 4.2.10 触发器 35 4.2.11批量查询设备状态 40 4.2.12批量查询设备最新数据 40 4.2.13查看数据点 41 第五章 接入实例 46 5.1 MCU侧工作流程说明 47 5.1.1创建设备(dev) 47 5.1.2向设备添加资源 48 5.1.3登录请求 49 5.2 OneNET平台侧数据收发流程说明 50 5.2.1数据接收 50 5.2.2指令下发 51 第六章 资源下载 57 6.1 数据推送SDK下载 57 6.2 NB-IoT API下载 57 6.3 NB-IoT 开发板资料下载 57 第七章 NB-IoT接入协议说明 58 7.1 基于NB-IoT的LWM2M协议 58 7.1.1 LWM2M协议逻辑实体与逻辑接口 59 7.1.2 LWM2M协议栈 60 7.2基于NB-IoT的CoAP协议 61 7.2.1 CoAP协议栈 61 7.2.2 块传输 63 7.2.3 安全传输 65 第八章 常见问题 66
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值