更新时间:2022-06-14 GMT+08:00
分享

使用Postman调测(联通用户专用)

非联通用户请查看设备接入服务

调用API接口前建议完成Profile文件和编解码插件的开发。尽管接口的调用不依赖于Profile文件和编解码插件,但是由于profile文件定义了设备数据的字段,编解码插件是上报数据和下发命令时的必要条件,因此为了使得调用接口前的业务都正常,需要先行完成产品的开发。

为充分了解接口,建议提前获取《应用侧API参考》查阅。我们已经写好了Postman的Collection,在Collection中接口的请求结构体已经完成可以直接使用。

本文档以Postman为例,模拟应用服务器以HTTPS协议接入物联网平台,调测以下API接口:

配置Postman

  1. 导入Postman环境变量。

    1. 点击右上角的图标,打开“MANAGE ENVIRONMENTS”窗口。

    2. 点击“Import”,导入OceanConnect.postman_environment.json文件。

    3. 点击“Manage Environments”,选择导入的“OcceanConnect”环境,修改IAM终端节点“IAMEndpoint”、物联网平台终端节点“IOTDMEndpoint”、华为云用户名“IAMUserName”、华为云密码“IAMPassword”、华为云账号名“IAMDoaminId”、区域“region”。这里已经填写好北京四站点对应的IAM终端节点、物联网平台终端节点和区域,如果您是在北京四站点订购的“设备管理”服务,只需要修改华为云用户名、华为云密码和华为云账号名。

    4. 返回主页,选择环境变量为刚导入的“OcceanConnect”。

  2. 导入“应用侧API调用(V5版本).postman_collection.json”。

    成功后:

调测“获取IAM用户Token”接口

在访问物联网平台业务接口前,应用服务器需要调用“获取IAM用户Token”接口鉴权,华为云认证通过后向应用服务器返回鉴权令牌X-Subject-Token

应用服务器需要构造一个HTTP请求,请求示例如下:

POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens 
Content-Type: application/json 

{ 
    "auth": { 
        "identity": { 
            "methods": [ 
                "password" 
            ], 
            "password": { 
                "user": { 
                    "name": "username", 
                    "password": "********", 
                    "domain": { 
                        "name": "domainname" 
                    } 
                } 
            } 
        }, 
        "scope": { 
            "project": { 
                "name": "xxxxxxxx" 
            } 
        } 
    } 
}

接下来参考API文档,调测“获取IAM用户Token”接口。

  1. 配置“获取IAM用户Token”接口的HTTP方法、URLHeaders

  2. 配置“获取IAM用户Token”接口的Body

  3. 点击“Send”,在下方查看返回码和响应消息内容。

  4. 请将返回头域中的的X-Subject-Token更新到“OcceanConnect”环境的“X-Auth-Token”参数中,以便于在调用其它接口时使用。若超过令牌有效时间,需要重新调用鉴权接口。

    这里我们已经在postman中自动更新了“X-Auth-Token”参数,使用时无需手动操作。

调测“查询IAM用户可以访问的项目列表”接口

在访问物联网平台业务接口前,应用服务器需要调用“查询IAM用户可以访问的项目列表”接口获取用户的项目ID,用于后续访问物联网平台业务接口。

应用服务器需要构造一个HTTP请求,请求示例如下:

GET https://iam.cn-north-4.myhuaweicloud.com/v3/auth/projects
Content-Type: application/json
X-Auth-Token: ********

接下来参考API文档,调测“查询IAM用户可以访问的项目列表”接口。

  1. 配置“查询IAM用户可以访问的项目列表”接口的HTTP方法、URLHeaders

  2. 点击“Send”,在下方查看返回码和响应消息内容。

  3. 返回body中包含一个projects列表,查找其中“name”参数值与“OceanConnect”环境中“region”参数值相同的条目,取其“id”参数值更新到“OceanConnect”环境中“project_id”参数,以便于在调用其它接口时使用。

    这里我们已经在postman中自动更新了“project_id”参数,使用时无需手动操作。

调测“创建产品”接口

在设备接入物联网平台前,应用服务器需要调用此接口创建产品,后续注册设备时需要使用这里创建的产品。

应用服务器需要构造一个请求,请求示例如下:

POST https://iotdm.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/products
Content-Type: application/json
X-Auth-Token: ********

{
  "name" : "Thermometer",
  "device_type" : "Thermometer",
  "protocol_type" : "LWM2M",
  "data_format" : "binary",
  "manufacturer_name" : "ABC",
  "industry" : "smartCity",
  "description" : "this is a thermometer produced by Huawei",
  "service_capabilities" : [ {
    "service_type" : "temperature",
    "service_id" : "temperature",
    "description" : "temperature",
    "properties" : [ {
      "unit" : "centigrade",
      "min" : "1",
      "method" : "R",
      "max" : "100",
      "data_type" : "decimal",
      "description" : "force",
      "step" : 0.1,
      "enum_list" : [ "string" ],
      "required" : true,
      "property_name" : "temperature",
      "max_length" : 100
    } ],
    "commands" : [ {
      "command_name" : "reboot",
      "responses" : [ {
        "response_name" : "ACK",
        "paras" : [ {
          "unit" : "km/h",
          "min" : "1",
          "max" : "100",
          "para_name" : "force",
          "data_type" : "string",
          "description" : "force",
          "step" : 0.1,
          "enum_list" : [ "string" ],
          "required" : false,
          "max_length" : 100
        } ]
      } ],
      "paras" : [ {
        "unit" : "km/h",
        "min" : "1",
        "max" : "100",
        "para_name" : "force",
        "data_type" : "string",
        "description" : "force",
        "step" : 0.1,
        "enum_list" : [ "string" ],
        "required" : false,
        "max_length" : 100
      } ]
    } ],
    "option" : "Mandatory"
  } ],
  "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka"
}

接下来参考API文档,调测物联网平台“创建产品”接口。

:在以下步骤中,只呈现样例调测用到的参数。

  1. 配置“创建产品”接口的HTTP方法URLHeaders

  2. 配置“创建产品”接口的BODY。

  3. 点击“Send”,在下方查看返回码和响应消息内容。

  4. 将返回的“product_id”更新到“OceanConnect”环境中的“product_id”参数中,用于后续其它接口使用。

    这里我们已经在postman中自动更新了“product_id”参数,使用时无需手动操作。

调测“查询产品”接口

应用服务器如果需要查询之前创建的产品详情,可以调用此接口。

应用服务器需要构造一个请求,请求示例如下:

GET https://iotdm.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/products/{product_id}
Content-Type: application/json
X-Auth-Token: ********

接下来参考API文档,调测物联网平台“查询产品”接口。

:在以下步骤中,只呈现样例调测用到的参数。

  1. 配置“查询产品”接口的HTTP方法URLHeaders

  2. 点击“Send”,在下方查看返回码和响应消息内容。

调测“注册设备”接口

在设备接入物联网平台前,应用服务器需要调用此接口在物联网平台注册设备。在设备接入物联网平台时携带设备唯一标识,完成设备的接入认证。

应用服务器需要构造一个HTTP请求,请求示例如下:

POST https://iotdm.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/devices
Content-Type: application/json
X-Auth-Token: ********

{
  "node_id" : "ABC123456789",
  "device_name" : "dianadevice",
  "product_id" : "b640f4c203b7910fc3cbd446ed437cbd",
  "auth_info" : {
    "auth_type" : "SECRET",
    "secure_access" : true,
    "fingerprint" : "dc0f1016f495157344ac5f1296335cff725ef22f",
    "secret" : "3b935a250c50dc2c6d481d048cefdc3c",
    "timeout" : 300
  },
  "description" : "watermeter device"
}

接下来参考API文档,调测物联网平台“注册设备”接口。

:在以下步骤中,只呈现样例调测用到的参数。

  1. 配置“注册设备”接口的HTTP方法URLHeaders

  2. 配置“注册设备”接口的Body

  3. 点击“Send”,在下方查看返回码和响应消息内容。

  4. 请将返回的“device_id”更新到“OceanConnect”环境中的“device_id”参数中,用于后续其它接口使用。

    这里我们已经在postman中自动更新了“device_id”参数,使用时无需手动操作。

调测“查询设备”接口

应用服务器需要查询在物联网平台注册的设备详情时,可以调用此接口。

应用服务器需要构造一个HTTP请求,请求示例如下:

GET https://iotdm.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/devices/{device_id}
Content-Type: application/json
X-Auth-Token: ********

接下来参考API文档,调测物联网平台“查询设备”接口。

:在以下步骤中,只呈现样例调测用到的参数。

  1. 配置“查询设备”接口的HTTP方法URLHeaders

  2. 点击“Send”,在下方查看返回码和响应消息内容。

相关文档