华为云用户手册

  • 产品管理 API 说明 查询产品列表 查询已导入 物联网平台 的产品模型信息列表,了解产品模型的概要信息。 创建产品 创建产品。此接口仅创建了产品,没有创建和安装插件,如果需要对数据进行编解码,还需要在平台开发和安装插件。 查询产品 查询已导入物联网平台的指定产品模型详细信息,包括产品模型的服务、属性、命令等。 修改产品 修改已导入物联网平台的指定产品模型,包括产品模型的服务、属性、命令等。此接口仅修改了产品,未修改和安装插件,如果修改了产品中的service定义,且在平台中有对应的插件,请修改并重新安装插件。 删除产品 删除已导入物联网平台的指定产品模型。
  • 设备管理 API 说明 查询设备列表 查询物联网平台中的设备信息列表。 创建设备 在物联网平台注册一个设备,仅在注册后设备才可以接入物联网平台。 查询设备 查询物联网平台中指定设备的详细信息。 修改设备 修改物联网平台中指定设备的基本信息。 删除设备 在物联网平台上删除指定设备。若设备下连接了非直连设备,则必须把设备下的非直连设备都删除后,才能删除该设备。 重置设备密钥 重置设备密钥,携带指定密钥时平台将设备密钥重置为指定的密钥,不携带密钥时平台将自动生成一个新的随机密钥返回。 冻结设备 冻结设备,设备冻结后不能再连接上线,可以通过解冻设备接口解除设备冻结。注意,当前仅支持冻结与平台直连的设备。 解冻设备 解冻设备,解除冻结后,设备可以连接上线。 重置设备指纹 应用服务器可调用此接口重置设备指纹。携带指定设备指纹时将之重置为指定值;不携带时将之置空。 灵活搜索设备列表 应用服务器使用SQL语句调用该接口,灵活的搜索所需要的设备资源列表。 查询指定设备加入的设备组列表 应用服务器调用该接口查询设备加入的设备组列表。
  • 请求示例 资源绑定标签,将标签绑定到设备id为d4922d8a的设备上。 POST https://{endpoint}/v5/iot/{project_id}/tags/bind-resource { "resource_type" : "device", "resource_id" : "d4922d8a", "tags" : [ { "tag_key" : "testTagName", "tag_value" : "testTagValue" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用 IAM 服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。 表3 请求Body参数 参数 是否必选 参数类型 描述 resource_type 是 String 参数说明:要绑定标签的资源类型。 取值范围: device:设备。 resource_id 是 String 参数说明:要绑定标签的资源id。例如,资源类型为device,那么对应的资源id就是device_id。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。 tags 是 Array of TagV5DTO objects 参数说明:要绑定到指定资源的标签列表,标签列表中各项标签键值之间不允许重复,一个资源最多可以绑定10个标签。 表4 TagV5DTO 参数 是否必选 参数类型 描述 tag_key 是 String 参数说明:标签键,在同一资源下标签键唯一。绑定资源时,如果设置的键已存在,则将覆盖之前的标签值。如果设置的键值不存在,则新增标签。 取值范围:长度不超过64,只允许中文、字母、数字、以及_.-等字符的组合。 tag_value 否 String 参数说明:标签值。 取值范围:长度不超过128,只允许中文、字母、数字、以及_.-等字符的组合。
  • 请求示例 设备消息上报通知示例: 设备消息上报通知 { "resource" : "device.message", "event" : "report", "event_time" : "20151212T121212Z", "event_time_ms" : "2015-12-12T12:12:12.000Z", "request_id" : "3fe58d5e-8697-4849-a165-7db128f7e776", "notify_data" : { "header" : { "device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "product_id" : "ABC123456789", "app_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "gateway_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "node_id" : "ABC123456789", "tags" : [ { "tag_value" : "testTagValue", "tag_key" : "testTagName" } ] } }, "body" : { "topic" : "topic", "content" : "msg", "properties" : { "response_topic" : "/device/message/response", "content_type" : "text/plain", "user_properties" : [ { "prop_value" : "propValue1", "prop_key" : "propKey1" } ], "correlation_data" : "messageName" } } }
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 resource 是 String 参数说明:订阅的资源名称,取值为device.message。 event 是 String 参数说明:订阅的资源事件,report。 event_time 是 String 参数说明:资源事件生成时间,格式:yyyyMMdd'T'HHmmss'Z' UTC字符串,如:20151212T121212Z。若需要显示本地时区,您需要自己进行时间转换。 event_time_ms 否 String 参数说明:资源事件生成时间,格式:yyyy-MM-dd'T'HH:mm:ss.SSS'Z' UTC字符串,如:2015-12-12T12:12:12.000Z。若需要显示本地时区,您需要自己进行时间转换。 request_id 否 String 参数说明:消息ID,由设备侧指定或平台生成,用于跟踪业务流程。 notify_data 是 DeviceMessageReportNotifyData object 参数说明:设备的自定义字段列表。 表2 DeviceMessageReportNotifyData 参数 是否必选 参数类型 描述 header 是 NotifyDataHeader object 参数说明:推送消息header。 body 是 DeviceMessageReport object 参数说明:推送消息body。 表3 NotifyDataHeader 参数 是否必选 参数类型 描述 app_id 否 String 参数说明:应用ID。 最大长度:256 device_id 否 String 参数说明:设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 最大长度:256 node_id 否 String 参数说明:设备标识码,通常使用IMEI、MAC地址或Serial No作为nodeId。 最大长度:256 product_id 否 String 参数说明:产品ID,用于唯一标识一个产品,在注册产品时由物联网平台分配获得。 最大长度:256 gateway_id 否 String 参数说明:网关ID,用于标识一个网关设备。当设备是直连设备时,gatewayId与设备的deviceId一致。当设备是非直连设备时,gatewayId为设备所关联的直连设备(即网关)的deviceId。 最大长度:256 tags 否 Array of TagV5DTO objects 参数说明:要绑定到指定资源的标签列表,标签列表中各项标签键值之间不允许重复,一个资源最多可以绑定10个标签。 表4 TagV5DTO 参数 是否必选 参数类型 描述 tag_key 是 String 参数说明:标签键,在同一资源下标签键唯一。绑定资源时,如果设置的键已存在,则将覆盖之前的标签值。如果设置的键值不存在,则新增标签。 tag_value 否 String 参数说明:标签值。 表5 DeviceMessageReport 参数 是否必选 参数类型 描述 topic 是 String 参数说明:设备上报的mqtt topic。 content 是 Object 参数说明:消息内容。 properties 否 MqttPropertiesDTO object 参数说明:设备携带的属性信息。 表6 MqttPropertiesDTO 参数 是否必选 参数类型 描述 correlation_data 否 String 参数说明:MQTT 5.0版本请求和响应模式中的相关数据,可选。设备可以通过该参数配置MQTT协议请求和响应模式中的相关数据。 最大长度:128 response_topic 否 String 参数说明:MQTT 5.0版本请求和响应模式中的响应主题,可选。设备可以通过该参数配置MQTT协议请求和响应模式中的响应主题。 最大长度:128 content_type 否 String 参数说明:MQTT 5.0版本有效负载的内容类型,可选。设备可以通过该参数配置MQTT协议有效负载的内容类型。 最大长度:128 user_properties 否 Array of UserPropDTO objects 参数说明:用户自定义属性,可选。设备可以通过该参数配置用户自定义属性。 表7 UserPropDTO 参数 是否必选 参数类型 描述 prop_key 否 String 参数说明:用户自定义属性键。 最大长度:128 prop_value 否 String 参数说明:用户自定义属性值。 最大长度:128
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。 表3 请求Body参数 参数 是否必选 参数类型 描述 proxy_name 是 String 参数说明:设备代理名称 最小长度:1 最大长度:64 proxy_devices 是 Array of strings 参数说明:代理设备列表,列表内所有设备共享网关权限,即列表内任意一个网关下的子设备可以通过组里任意一个网关上线然后进行数据上报。 取值范围:列表内填写设备id,列表内最少有2个设备id,最多有10个设备id,设备id取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合,建议不少于4个字符。 effective_time_range 是 EffectiveTimeRange object 参数说明:设备代理规则有效期 app_id 是 String 参数说明:资源空间ID。携带该参数指定创建的设备归属到哪个资源空间下。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。 表4 EffectiveTimeRange 参数 是否必选 参数类型 描述 start_time 否 String 设备代理开始生效的时间,使用UTC时区,格式:yyyyMMdd'T'HHmmss'Z' end_time 否 String 设备代理失效的时间,必须大于start_time,使用UTC时区,格式:yyyyMMdd'T'HHmmss'Z'
  • 响应参数 状态码: 201 表5 响应Body参数 参数 参数类型 描述 proxy_id String 参数说明:设备代理ID。用来唯一标识一个代理规则 proxy_name String 参数说明:设备代理名称 proxy_devices Array of strings 参数说明:代理设备组,组内所有设备共享网关权限,即组内任意一个网关下的子设备可以通过组里任意一个网关上线然后进行数据上报。 effective_time_range EffectiveTimeRangeResponseDTO object 参数说明:设备代理规则有效期 app_id String 参数说明:资源空间ID。 表6 EffectiveTimeRangeResponseDTO 参数 参数类型 描述 start_time String 设备代理开始生效的时间,使用UTC时区,格式:yyyyMMdd'T'HHmmss'Z' end_time String 设备代理失效的时间,必须大于start_time,使用UTC时区,格式:yyyyMMdd'T'HHmmss'Z'
  • 请求示例 创建设备代理 POST https://{endpoint}/v5/iot/{project_id}/device-proxies { "proxy_name" : "testAPP01", "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka", "proxy_devices" : [ "d4922d8a-6c8e-4396-852c-164aefa6638f", "d4922d8a-6c8e-4396-852c-164aefa6638g" ], "effective_time_range" : { "start_time" : "20200812T121212Z", "end_time" : "20210812T121212Z" } }
  • 响应示例 状态码: 201 Created { "proxy_id" : "04ed32dc1b0025b52fe3c01a27c2babc", "proxy_name" : "testAPP01", "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka", "proxy_devices" : [ "d4922d8a-6c8e-4396-852c-164aefa6638f", "d4922d8a-6c8e-4396-852c-164aefa6638g" ], "effective_time_range" : { "start_time" : "20200812T121212Z", "end_time" : "20210812T121212Z" } }
  • 原生MQTT协议接入建链返回码 原生MQTT协议设备和平台建链时,常见返回码如下: 返回码 返回码描述 原因 0x00 连接成功。 连接成功。 0x01 请求拒绝,协议版本错误。 服务器不支持客户端请求MQTT协议版本。 0x02 请求拒绝,无效的客户端标识符。 clientId不符合格式要求或者心跳时间间隔不满足平台要求。 0x03 请求拒绝,服务器不可用。 平台服务不可用。 0x04 请求拒绝,用户名或密码错误。 用户名或密码错误。 0x05 请求拒绝,没有授权。 客户端没有权限连接。
  • 参数说明 设备通过MQTT协议的connect消息进行鉴权,对于构造ClientId的各个部分信息都必须包括进去,平台收到connect消息时,会判断设备的鉴权类型和密码摘要算法。 当采用“HMA CS HA256”校验时间戳方式时,会先校验消息时间戳与平台时间是否一致,再判断密码是否正确。 当采用“HMACSHA256”不校验时间戳方式时,鉴权消息也必须带时间戳,但不检验时间是否准确,仅判断密码是否正确。 connect消息鉴权失败时,平台会返回错误,并自动断开MQTT链路。 访问参数生成工具,填写注册设备后生成的设备ID(device_id)和密钥(secret),生成设备连接鉴权所需的参数(ClientId、Username、Password)。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 device_id String 设备ID,用于唯一标识一个设备。在注册设备时直接指定,或者由物联网平台分配获得。由物联网平台分配时,生成规则为"product_id" + "_" + "node_id"拼接而成。 shadow Array of DeviceShadowData objects 设备影子数据结构体。 表6 DeviceShadowData 参数 参数类型 描述 service_id String 设备的服务ID,在设备关联的产品模型中定义。 最小长度:1 最大长度:256 desired DeviceShadowProperties object 用户最近一次对设备下发的预期数据,Json格式,里面是一个个键值对,每个键都是产品模型中属性的参数名(property_name)。 reported DeviceShadowProperties object 设备最近一次上报的属性数据,Json格式,里面是一个个键值对,每个键都是产品模型中属性的参数名(property_name)。 version Long 设备影子的版本,携带该参数时平台会校验值必须等于当前影子版本,初始从0开始。 表7 DeviceShadowProperties 参数 参数类型 描述 properties Object 设备影子的属性数据,Json格式,里面是一个个键值对,每个键都是产品模型中属性的参数名(property_name),目前如样例所示只支持一层结构。 注意:JSON结构的key当前不支持特殊字符:点(.)、dollar符号($)、空char(十六进制的ASCII码为00),key为以上特殊字符无法正常刷新设备影子 event_time String 事件操作时间,格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 最大长度:256
  • 响应示例 状态码: 200 OK { "device_id" : "40fe3542-f4cc-4b6a-98c3-61a49ba1acd4", "shadow" : [ { "service_id" : "WaterMeter", "desired" : { "properties" : { "temperature" : "60" }, "event_time" : "20151212T121212Z" }, "reported" : { "properties" : { "temperature" : "60" }, "event_time" : "20151212T121212Z" }, "version" : 2 } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。 表3 请求Body参数 参数 是否必选 参数类型 描述 shadow 否 Array of UpdateDesired objects 参数说明:设备影子期望值构体。 表4 UpdateDesired 参数 是否必选 参数类型 描述 service_id 是 String 参数说明:设备的服务ID,在设备关联的产品模型中定义。 最小长度:1 最大长度:256 desired 是 Object 参数说明:设备影子期望属性数据,Json格式,里面是一个个键值对,每个键都是产品模型中属性的参数名(property_name),目前如样例所示只支持一层结构;如果想要删除整个desired可以填写空Object(例如"desired":{}),如果想要删除某一个属性期望值可以将属性置位null(例如{"temperature":null}) version 否 Long 参数说明:设备影子的版本,携带该参数时平台会校验值必须等于当前影子版本,初始从0开始。
  • 请求示例 配置设备影子预期数据,temperature的期望值为60。 PUT https://{endpoint}/v5/iot/{project_id}/devices/{device_id}/shadow { "shadow" : [ { "service_id" : "WaterMeter", "desired" : { "temperature" : "60" }, "version" : 1 } ] } 删除设备影子预期数据,将设备影子中属性temperature的期望值删除。 PUT https://{endpoint}/v5/iot/{project_id}/devices/{device_id}/shadow { "shadow" : [ { "service_id" : "WaterMeter", "desired" : { "temperature" : null }, "version" : 2 } ] }
  • URI PUT /v5/iot/{project_id}/devices/{device_id}/shadow 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 参数说明:项目ID。获取方法请参见 获取项目ID 。 device_id 是 String 参数说明:设备ID,用于唯一标识一个设备。在注册设备时直接指定,或者由物联网平台分配获得。由物联网平台分配时,生成规则为"product_id" + "" + "node_id"拼接而成。 取值范围:长度不超过128,只允许字母、数字、下划线()、连接符(-)的组合。
  • 功能介绍 应用服务器可调用此接口配置设备影子的预期属性(desired区),当设备上线或者设备上报属性时把属性下发给设备。 设备影子介绍: 设备影子是一个用于存储和检索设备当前状态信息的JSON文档。 每个设备有且只有一个设备影子,由设备ID唯一标识 设备影子用于存储设备上报的(状态)属性和应用程序期望的设备(状态)属性 无论该设备是否在线,都可以通过该影子获取和设置设备的属性 设备上线或者设备上报属性时,如果desired区和reported区存在差异,则将差异部分下发给设备,配置的预期属性需在产品模型中定义且method具有可写属性“W”才可下发 该接口仅支持配置单个设备的设备影子的预期数据,如需多个设备的设备影子配置,请参见 创建批量任务。 限制: 设备影子JSON文档中的key不允许特殊字符:点(.)、dollar符号($)、空char(十六进制的ASCII码为00)。如果包含了以上特殊字符则无法正常刷新影子文档。
  • 操作步骤 创建非系统默认的资源空间。 创建资源空间 接口信息 URL:POST /v5/iot/{project_id}/apps 详情参见创建资源空间 请求示例 POST https://{Endpoint}/v5/iot/{project_id}/apps Content-Type: application/json X-Auth-Token: ******** Instance-Id: ******** { "app_name" : "testApp" } 响应示例 Status Code: 201 Created Content-Type: application/json { "applications" : [ { "app_id" : "0ab87ceecbfc49acbcc8d5acdef3c68c", "app_name" : "testApp", "create_time" : "20151212T121212Z", "default_app" : true } ] } 记录返回结果中资源空间id,即“app_id”。 在指定资源空间下创建产品。 使用这里记录的app_id创建产品。 接口信息 URL:POST /v5/iot/{project_id}/products 详情参见创建产品 请求示例 POST https://{Endpoint}/v5/iot/{project_id}/products Content-Type: application/json X-Auth-Token: ******** Instance-Id: ******** { "product_id" : "5ba24f5ebbe8f56f5a14f605", "name" : "Thermometer", "device_type" : "Thermometer", "protocol_type" : "CoAP", "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, "default_value" : { "color" : "red", "size" : 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 } ] } ], "events" : [ { "event_type" : "reboot", "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" } 响应示例 Status Code: 201 Created Content-Type: application/json { "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka", "app_name" : "testAPP01", "product_id" : "5ba24f5ebbe8f56f5a14f605", "name" : "Thermometer", "device_type" : "Thermometer", "protocol_type" : "CoAP", "data_format" : "binary", "manufacturer_name" : "ABC", "industry" : "smartCity", "description" : "this is a thermometer produced by Huawei", "service_capabilities" : [ { "service_id" : "temperature", "service_type" : "temperature", "properties" : [ { "property_name" : "temperature", "required" : true, "data_type" : "decimal", "min" : 1, "max" : 100, "max_length" : 100, "step" : 0.1, "unit" : "centigrade", "method" : "R", "description" : "force", "default_value" : { "color" : "red", "size" : 1 } } ], "commands" : [ { "command_name" : "reboot", "paras" : [ { "para_name" : "force", "required" : false, "data_type" : "string", "min" : 1, "max" : 100, "max_length" : 100, "step" : 0.1, "unit" : "km/h", "description" : "force" } ], "responses" : [ { "paras" : [ { "para_name" : "force", "required" : false, "data_type" : "string", "min" : 1, "max" : 100, "max_length" : 100, "step" : 0.1, "unit" : "km/h", "description" : "force" } ], "response_name" : "ACK" } ] } ], "events" : [ { "event_type" : "reboot", "paras" : [ { "para_name" : "force", "required" : false, "data_type" : "string", "min" : 1, "max" : 100, "max_length" : 100, "step" : 0.1, "unit" : "km/h", "description" : "force" } ] } ], "description" : "temperature", "option" : "Mandatory" } ], "create_time" : "20190303T081011Z" } 记录返回结果中产品id,即“product_id”。 在指定资源空间下创建设备。 使用这里记录的“app_id”和这里记录的“product_id”创建设备。 接口信息 URL:POST /v5/iot/{project_id}/devices 详情参见创建设备 请求示例 POST https://{Endpoint}/v5/iot/{project_id}/devices Content-Type: application/json X-Auth-Token: ******** Instance-Id: ******** { "device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "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", "gateway_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka", "extension_info" : { "aaa" : "xxx", "bbb" : 0 }, "shadow" : [ { "desired" : { "temperature" : "60" }, "service_id" : "WaterMeter" } ] } 响应示例 Status Code: 201 Created Content-Type: application/json { "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka", "app_name" : "testAPP01", "device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "node_id" : "ABC123456789", "gateway_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "device_name" : "dianadevice", "node_type" : "ENDPOINT", "description" : "watermeter device", "fw_version" : "1.1.0", "sw_version" : "1.1.0", "auth_info" : { "auth_type" : "SECRET", "secure_access" : true, "fingerprint" : "dc0f1016f495157344ac5f1296335cff725ef22f", "secret" : "3b935a250c50dc2c6d481d048cefdc3c", "timeout" : 300 }, "product_id" : "b640f4c203b7910fc3cbd446ed437cbd", "product_name" : "Thermometer", "status" : "INACTIVE", "create_time" : "20190303T081011Z", "tags" : [ { "tag_value" : "testTagValue", "tag_key" : "testTagName" } ], "extension_info" : { "aaa" : "xxx", "bbb" : 0 } } 根据响应确认设备创建结果。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 files Array of BatchTaskFile objects 批量任务文件列表。 数组长度:0 - 10 表4 BatchTaskFile 参数 参数类型 描述 file_id String 上传的批量任务文件ID,由平台自动生成。 file_name String 上传的批量任务文件名称。 最小长度:1 最大长度:60 upload_time String 在物联网平台上传文件的时间。格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。
  • 响应示例 状态码: 200 OK { "files" : [ { "file_id" : "0c3c77dd-42a2-4309-9e10-da2e8bf64ac3", "file_name" : "BatchCreateDevices_test01.xlsx", "upload_time" : "20200617T081608Z" }, { "file_id" : "9c338eba-b162-4005-98ea-ff34a13c70da", "file_name" : "BatchCreateDevices_test02.xlsx", "upload_time" : "20200617T081620Z" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。 最小长度:1 最大长度:36
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。
  • URI POST /v5/iot/{project_id}/devices/{device_id}/freeze 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 参数说明:项目ID。获取方法请参见 获取项目ID 。 device_id 是 String 参数说明:设备ID,用于唯一标识一个设备。在注册设备时直接指定,或者由物联网平台分配获得。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。
  • URI DELETE /v5/iot/{project_id}/devices/{device_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 参数说明:项目ID。获取方法请参见 获取项目ID 。 device_id 是 String 参数说明:设备ID,用于唯一标识一个设备。在注册设备时直接指定,或者由物联网平台分配获得。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。
  • 示例 Topic: $oc/devices/{device_id}/sys/events/up 数据格式: { "object_device_id": "{object_device_id}", "services": [ { "service_id": "$sub_device_manager", "event_type": "add_sub_device_request", "event_time": "20151212T121212Z", "event_id": "40cc9ab1-3579-488c-95c6-c18941c99eb4", "paras": { "devices": [ { "name": "subdevice11", "node_id": "subdevice11", "product_id": "c6b39067b0325db34663d3ef421a42f6", "description": "subdevice11" }, { "name": "subdevice12", "node_id": "subdevice12", "product_id": "c6b39067b0325db34663d3ef421a42f6", "description": "subdevice12" } ] } } ] }
  • 响应示例 状态码: 200 OK { "command_id" : "b1224afb-e9f0-4916-8220-b6bab568e888", "response" : { "result_code" : 0, "response_name" : "COMMAND_RESPONSE", "paras" : { "result" : "success" } } }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 command_id String 设备命令ID,用于唯一标识一条命令,在下发设备命令时由物联网平台分配获得。 response Object 设备上报的命令执行结果。Json格式,具体格式需要应用和设备约定。 error_code String 命令下发异常错误码。 error_msg String 命令下发异常错误信息。
  • 功能介绍 设备的产品模型中定义了物联网平台可向设备下发的命令,应用服务器可调用此接口向指定设备下发命令,以实现对设备的同步控制。平台负责将命令以同步方式发送给设备,并将设备执行命令结果同步返回, 如果设备没有响应,平台会返回给应用服务器超时,平台超时时间是20秒。如果命令下发需要超过20秒,建议采用消息下发。 注意: 此接口适用于MQTT设备同步命令下发,暂不支持NB-IoT设备命令下发。 此接口仅支持单个设备同步命令下发,如需多个设备同步命令下发,请参见 创建批量任务。
共100000条