zoukankan      html  css  js  c++  java
  • 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这个就是第几个设备的编号,按数量就行,不需要定义的。

  • 相关阅读:
    【转帖】C#索引器
    .NET Framework升级的挑战
    【我翻译的文章】CodeSmith发布代替和扩展LINQ to SQL的工具——PLINQO
    升级到VS2008后的一些疑惑
    【我翻译的文章】你还需要数据层吗?
    Db4Objects发布Db4o 7.0,支持透明激活
    迎接游戏开发新世界——Zune Game和Micro Game
    20071223成都俱乐部活动
    db4o发布7.2,出现.NET 3.5版本,支持LINQ
    微软推出SCE SDK及其示例MSDN Reader
  • 原文地址:https://www.cnblogs.com/429512065qhq/p/8317232.html
Copyright © 2011-2022 走看看