对接流程

一、联系获取api必需参数

a) 提供以下信息给码全同学创建设备源
接入平台名称、权属机构、供应商

b) 获得参数

  • appKey: — appKey(设备源详情获取)
  • AppSecret: — AppSecret(设备源详情获取)
  • sourcePlatformId: — 设备源id(设备源详情获取)
  • organizationId: —所属机构(组织机构获取)
  • sourcePlatformType:cloud2设备源类型(云云对接)

二、调用api

1.createCityProduct 创建产品

2.queryCityProductList 获取产品列表

3.registerCityDevice 产品下注册设备


4.setCityDeviceData 上报数据

三、联系确定数据是否正常

完结撒花

名词解释

名词 描述
产品 设备的集合,通常指一组具有相同功能的设备。物联网平台为每个产品颁发全局唯一的ProductKey。
设备 归属于某个产品下的具体设备。物联网平台为设备颁发产品内唯一的证书DeviceName。
Alink协议 阿里云定义的设备与云端之间的通信协议。
物模型 是对设备在云端的功能描述,包括设备的属性、服务和事件。
属性 设备的功能模型之一,一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等。
服务 设备的功能模型之一,设备可被外部调用的能力或方法,可设置输入参数和输出参数。
事件 设备的功能模型之一,设备运行时的事件。事件一般包含需要被外部感知和处理的通知信息,可包含多个输出参数。
实例 物联网平台提供的产品、设备等资源管理功能。当前支持的实例类型有:华为物联网平台、移动物联网平台,电信物联网平台,阿里云物联网平台,云云对接,其他等

SDK

https://github.com/aliyun/iotx-api-gateway-client

  1. <dependency>
  2. <groupId>com.aliyun.iotx</groupId>
  3. <artifactId>iotx-api-gateway-client</artifactId>
  4. <version>1.0.3</version>
  5. </dependency>

调用示例

查询设备信息

JAVA

  1. public class OpenApiDemo {
  2. static final String HOST = "218.108.75.171:9080";
  3. // static final String PREFIX = "/api/integrated/gateway/";
  4. static final String PREFIX = "/openapi";
  5. static final String APP_KEY = "";
  6. static final String APP_SECRET = "";
  7. public static void main(String[] args) {
  8. IoTApiClientBuilderParams params = new IoTApiClientBuilderParams();
  9. params.setAppKey(APP_KEY);
  10. params.setAppSecret(APP_SECRET);
  11. SyncApiClient syncApiClient = new SyncApiClient(params);
  12. String param1 = " {\"deviceName\": \"d896e0ff000117f3\"}";
  13. String param2 = " { \"pageNo\": 1, \"pageSize\": 10 }";
  14. IoTApiRequest request = new IoTApiRequest();
  15. request.setVersion("1.0.0");
  16. request.setApiVer("1.0.0");
  17. request.putParam("deviceQueryParam", JSON.parseObject(param1));
  18. request.putParam("pagination", JSON.parseObject(param2));
  19. /*
  20. * 调用 web api需要自行验证登录态
  21. * 并将当前用户的identityId放入header中
  22. */
  23. Map<String, String> headers = new HashMap<>(8);
  24. try {
  25. ApiResponse response = syncApiClient.postBody(
  26. HOST,
  27. PREFIX + "platform/device/paged/queryDevice",
  28. request,
  29. false,
  30. headers
  31. );
  32. System.out.println("response code = " + response.getCode() + " response = " + new String(response.getBody(), StandardCharsets.UTF_8));
  33. } catch (Exception e) {
  34. e.printStackTrace();
  35. } finally {
  36. syncApiClient.shutdown();
  37. }
  38. }
  39. }

NODE

  1. 'use strict';
  2. const Client = require('aliyun-api-gateway').Client;
  3. const client = new Client('appKey','AppSecret');
  4. async function post() {
  5. var url = 'https://host/openapi/cityhub/device/data/query';
  6. var result = await client.post(url, {
  7. data: {
  8. 'request':{'apiVer': '1.0.0'},
  9. 'params': {
  10. 'productKey': 'productKey',
  11. 'deviceName':'deviceName'
  12. }
  13. },
  14. headers: {
  15. accept: 'application/json'
  16. }
  17. });
  18. console.log(JSON.stringify(result));
  19. }
  20. post().catch((err) => {
  21. console.log(err.stack);
  22. });

返回值示例

成功返回

{
    "id": "4de2c367-c1db-417c-aa15-8c585e595d92",
    "code": 200,
    "message": null,
    "localizedMsg": null,
        // 具体返回类型参考实际接口
    "data": {}
}

成功返回(分页)

{
    "id": "4de2c367-c1db-417c-aa15-8c585e595d92",
    "code": 200,
    "message": null,
    "localizedMsg": null,
    "data": {
              total:1000,
              items:[{},{}],
          pageSize:1,
          pageNum:1
        }
}

失败返回

{
    "id": "37f7e5fa-d6a5-4efe-8abf-5bf23dca6284",
    "code": 403,
    "message": "request forbidden.",
    "localizedMsg": "请求被禁止",
    "data": null
}

物联网平台接口说明

API接口清单

类别 接口 Path 版本 描述
产品 queryCityProduct /openapi/cityhub/product/query 1.0.0 调用该接口查询指定产品的基础信息
deleteCityProduct /openapi/cityhub/product/delete 1.0.0 调用该接口删除指定产品
updateCityProduct /openapi/cityhub/product/update 1.0.0 调用该接口修改指定产品的基础信息
createCityProduct /openapi/cityhub/product/create 1.0.0 调用该接口创建产品(产品基础信息)
queryCityProductList /openapi/cityhub/product/list 1.0.0 调用该接口查看当前平台中所有产品列表
物模型 createCityThingModel /openapi/cityhub/thingmodel/create 1.0.0 调用该接口为指定产品创建物模型
deleteCityThingModel /openapi/cityhub/thingmodel/delete 1.0.0 删除平台的物模型
updateCityThingModel /openapi/cityhub/thingmodel/update 1.0.0 调用该接口为指定产品更新物模型
queryCityThingModel /openapi/cityhub/thingmodel/query 1.0.0 调用该接口查看指定产品物模型中的功能定义
设备 setCityDeviceData /openapi/cityhub/device/data/set 1.0.0 调用该接口设置设备当前数据的值
queryCityDeviceList /openapi/cityhub/device/list 1.0.0 调用该接口查询某个产品的所有设备列表
registerCityDevice /openapi/cityhub/device/register 1.0.0 调用该接口在指定产品下注册设备
deleteCityDevice /openapi/cityhub/device/delete 1.0.0 调用该接口删除设备
queryCityDevice /openapi/cityhub/device/query 1.0.0 调用该接口查询指定设备的基础信息
queryCityDeviceData /openapi/cityhub/device/data/query 1.0.0 调用该接口返回设备当前所有实时数据的值

1.2 产品 API 详细描述

1.2.1 queryCityProduct

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息
data JSON data 产品信息
productKey 字符串 productKey 产品ID
name 字符串 name 产品名称
sourceProductId 字符串 sourceProductId 设备源产品ID
sourcePlatformName 字符串 sourcePlatformName 设备源名称
categoryKey 字符串 categoryKey 产品所属的类目id
categoryName 字符串 categoryName 品类中文名
netType 字符串 netType 产品入网类型
protocolType 字符串 protocolType 接入协议
supplier 字符串 supplier 供应商
description 字符串 description 描述
extInfo JSON extInfo 扩展信息

请求示例

{
"productKey":"产品pk"
}

{
"code":200,
"message":"success",
"localizedMsg":"成功",
"data":{
"netType":"OTHER",
"supplier":null,
"name":"智慧路灯",
"categoryKey":"xxx",
"description":"",
"protocolType":"ALINK",
"productKey":"产品pk",
"sourceProductId":"xxx",
"sourcePlatformName":"xxx",
"categoryName":"移动产品",
"extInfo":null
}
}

返回示例

1.2.2 deleteCityProduct

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息

请求示例

{
"productKey":"产品pk"
}
返回示例
{
"code": 200,
"message": null,
"localizedMsg": null,
"data": null
}

1.2.3 updateCityProduct

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID
name 字符串
产品名称
categoryKey 字符串
产品品类
netType 字符串
设备入网类型
protocolType 字符串
设备接入协议
supplier 字符串
供应商
description 字符串
描述
extInfo JSON
扩展信息

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息

请求示例

{
"productKey":"产品pk",
"netType":"OTHER",
"supplier":null,
"name":"智慧路灯",
"categoryKey":"xxx",
"description":"测试",
"protocolType":"ALINK",
"extInfo":null
}

返回示例

{
"code": 200,
"message": null,
"localizedMsg": null,
"data": null
}

1.2.4 createCityProduct

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
name 字符串
产品名称
sourceProductId 字符串
设备源产品ID
sourcePlatformType 字符串
设备源类型
sourcePlatformId 字符串
设备源ID
categoryKey 字符串
产品所属的类目id
categoryName 字符串
品类中文名
netType 字符串
设备入网类型
protocolType 字符串
设备接入协议
supplier 字符串
供应商
description 字符串
描述

出参列表

参数名称 数据类型 结构类型 后端参数名称 参数描述
code 整型
code 响应码, 200: 成功
message 字符串
message 错误消息
localizedMsg 字符串
localizedMsg 本地语言错误消息
data 字符串
data 产品PK

请求示例

{
"netType":"OTHER",
"supplier":null,
"name":"智慧路灯",
"categoryKey":"xxx",
"description":"",
"protocolType":"ALINK",
"sourceProductId":"产品pk",
"sourcePlatformType":"xxx",
    "sourcePlatformId":"xxxx",
"categoryName":"自定义产品",
"extInfo":null
}

返回示例

{
"code": 200,
"message": null,
"localizedMsg": null,
"data":"产品pk"
}

1.2.5 queryCityProductList

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID
name 字符串
产品名称
sourceProductId 字符串
源产品ID
sourcePlatformType 字符串
设备源类型
sourcePlatformId 字符串
设备源ID,需要与
sourcePlatformType绑定使用
categoryKey 字符串
产品品类
pageNo 整型 1 页数
pageSize 整型 10 分页大小

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息
data JSON data 响应结果
total 长整型 total 总数
items JSONARRAY items 产品信息列表
productKey 字符串 productKey 产品ID
name 字符串 name 产品名称
sourceProductId 字符串 sourceProductId 设备源产品ID
sourcePlatformName 字符串 sourcePlatformName 设备源名称
categoryKey 字符串 categoryKey 产品所属的类目id
categoryName 字符串 categoryName 品类中文名
netType 字符串 netType 设备入网类型
protocolType 字符串 protocolType 设备接入协议
supplier 字符串 supplier 供应商
description 字符串 description 描述

请求示例

{
"pageNo":1,
"name":"智慧路灯",
"categoryKey":"xxx",
"pageSize":10,
"productKey":"产品pk",
"sourceProductId":"xxx",
"sourcePlatformId":"xxx",
"sourcePlatformType":"xxx"
}

返回示例

{
"code":200,
"message":"success",
"localizedMsg":"成功",
"data":{
"total":1,
"pageNo":1,
"pageSize":10,
"items":[
{
"netType":"OTHER",
"supplier":null,
"name":"智慧路灯",
"categoryKey":"xxx",
"description":"",
"protocolType":"ALINK",
"productKey":"产品pk",
"sourceProductId":"xxx",
"sourcePlatformName":"xxx",
"categoryName":"自定义产品",
"extInfo":null
}
]
}
}

1.3 物模型 API 详细描述

1.3.1 createCityThingModel

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID
thingModelProperties JSONARRAY
属性列表
name 字符串
属性名称
identifier 字符串
属性标识符
dataType 字符串
属性数据类型
rwFlag 字符串
读写类型
unit 字符串
单位
unitName 字符串
单位名称
description 字符串
描述
dataSpecs 字符串
数据定义
thingModelEvents JSON
事件列表
eventName 字符串
事件名称
identifier 字符串
事件标识符
eventType 字符串
事件类型
description 字符串
描述
outputData JSON
输出参数
name 字符串
参数名称
dataType 字符串
数据类型
paraOrder 整型
参数序号
identifier 字符串
标识符
dataSpecs 字符串
数据定义
thingModelServices JSON
服务列表
serviceName 字符串
服务名称
identifier 字符串
服务标识符
description 字符串
描述
callType 字符串
调用方式
inputParams JSON
入参信息
name 字符串
参数名称
dataType 字符串
数据类型
paraOrder 整型
参数序号
identifier 字符串
标识符
dataSpecs 字符串
数据定义
outputParams JSON
出参信息
name 字符串
参数名称
dataType 字符串
数据类型
paraOrder 整型
参数序号
identifier 字符串
标识符
dataSpecs 字符串
数据定义

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息

请求示例

{
    "thingModelProperties": [
        {
            "identifier": "define1",
            "dataSpecs": "[{\"identifier\":\"TestNum\",\"dataSpecs\":\"{\\\"unit\\\":\\\"cP\\\",\\\"min\\\":\\\"1\\\",\\\"unitName\\\":\\\"厘泊\\\",\\\"max\\\":\\\"122\\\",\\\"custom\\\":true,\\\"dataType\\\":\\\"INT\\\",\\\"step\\\":\\\"1\\\"}\",\"dataType\":\"INT\",\"name\":\"TestNum\"},{\"identifier\":\"TestEnum\",\"dataSpecs\":\"{\\\"1\\\":\\\"a\\\",\\\"2\\\":\\\"b\\\"}\",\"dataType\":\"ENUM\",\"name\":\"TestEnum\"},{}]",
            "unit": null,
            "unitName": null,
            "dataType": "ARRAY",
            "rwFlag": "READ_WRITE",
            "name": "自定义功能点1",
            "description": null
        },
        {
            "identifier": "define2",
            "dataSpecs": "{}",
            "unit": null,
            "unitName": null,
            "dataType": "DATE",
            "rwFlag": "READ_WRITE",
            "name": "自定义功能点2",
            "description": null
        },
        {
            "identifier": "define3",
            "dataSpecs": "{\"min\":\"0\",\"max\":\"100\"}",
            "unit": null,
            "unitName": null,
            "dataType": "INT",
            "rwFlag": "READ_WRITE",
            "name": "自定义功能点3",
            "description": null
        },
        {
            "identifier": "define6",
            "dataSpecs": "{\"false\":\"3\",\"true\":\"8\"}",
            "unit": null,
            "unitName": null,
            "dataType": "BOOL",
            "rwFlag": "READ_WRITE",
            "name": "自定义6",
            "description": null
        },
        {
            "identifier": "define7",
            "dataSpecs": "{\"length\":\"10\"}",
            "unit": null,
            "unitName": null,
            "dataType": "TEXT",
            "rwFlag": "READ_WRITE",
            "name": "自定义7",
            "description": null
        },
        {
            "identifier": "define8",
            "dataSpecs": "{\"define\":[{\"0\":\"0\",\"1\":\"1\",\"bit\":0},{\"0\":\"2\",\"1\":\"3\",\"bit\":1}],\"length\":2}",
            "unit": null,
            "unitName": null,
            "dataType": "BITMAP",
            "rwFlag": "READ_WRITE",
            "name": "自定义8",
            "description": null
        },
        {
            "identifier": "define9",
            "dataSpecs": "{\"min\":\"0\",\"max\":\"2000\"}",
            "unit": null,
            "unitName": null,
            "dataType": "INT",
            "rwFlag": "READ_WRITE",
            "name": "自定义9",
            "description": null
        },
        {
            "identifier": "definite4",
            "dataSpecs": "[{\"identifier\":\"struct\",\"dataSpecs\":\"{\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"200\\\"}\",\"dataType\":\"INT\",\"name\":\"结构体\"},{\"identifier\":\"struct2\",\"dataSpecs\":\"{\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"200\\\"}\",\"dataType\":\"FLOAT\",\"name\":\"结构体2\"},{\"identifier\":\"struct3\",\"dataSpecs\":\"{\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"100\\\"}\",\"dataType\":\"INT\",\"name\":\"结构体3\"}]",
            "unit": null,
            "unitName": null,
            "dataType": "STRUCT",
            "rwFlag": "READ_WRITE",
            "name": "自定义功能点5",
            "description": null
        },
        {
            "identifier": "WaterConsumption",
            "dataSpecs": "{\"unit\":\"m³\",\"min\":\"0\",\"unitName\":\"立方米\",\"max\":\"2147483647\",\"step\":\"0.1\"}",
            "unit": null,
            "unitName": null,
            "dataType": "FLOAT",
            "rwFlag": "READ_ONLY",
            "name": "用水量",
            "description": ""
        },
        {
            "identifier": "WaterMeterState",
            "dataSpecs": "{\"0\":\"通信正常\",\"1\":\"通信失败\",\"2\":\"设备异常\",\"3\":\"低电量\"}",
            "unit": null,
            "unitName": null,
            "dataType": "ENUM",
            "rwFlag": "READ_ONLY",
            "name": "水表模块状态",
            "description": ""
        }
    ],
    "thingModelServices": [
        {
            "identifier": "fuwu1",
            "outputParams": [],
            "inputParams": [
                {
                    "identifier": "fuwu1",
                    "dataSpecs": "{\"length\":\"80\"}",
                    "paraOrder": 0,
                    "dataType": "TEXT",
                    "name": "服务1"
                }
            ],
            "description": null,
            "serviceName": "服务1",
            "callType": "SYNC"
        }
    ],
    "productKey": "产品pk",
    "thingModelEvents": [
        {
            "outputData": [
                {
                    "identifier": "aaa",
                    "dataSpecs": "{\"min\":\"0\",\"max\":\"100\"}",
                    "paraOrder": 0,
                    "dataType": "INT",
                    "name": "aaa"
                }
            ],
            "identifier": "aaa",
            "eventName": "啊啊啊",
            "description": null,
            "eventType": "INFO"
        },
        {
            "outputData": [
                {
                    "identifier": "alert1",
                    "dataSpecs": "{\"min\":\"0\",\"max\":\"100\"}",
                    "paraOrder": 0,
                    "dataType": "INT",
                    "name": "告警1"
                }
            ],
            "identifier": "define4",
            "eventName": "告警1",
            "description": null,
            "eventType": "ALERT"
        },
        {
            "outputData": [
                {
                    "identifier": "alert1",
                    "dataSpecs": "{\"length\":\"90\"}",
                    "paraOrder": 0,
                    "dataType": "TEXT",
                    "name": "告警1"
                }
            ],
            "identifier": "shijian1",
            "eventName": "事件1",
            "description": null,
            "eventType": "ALERT"
        }
    ]
}

返回示例

{
"code":200,
"message":"success",
"localizedMsg":"成功",
"data":null
}

1.3.2 deleteThingModel

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息

请求示例

{
"productKey":"产品pk"
}

返回示例

{
"code":200,
"message":"success",
"localizedMsg":"成功",
"data":null
}

1.3.3 updateCityThingModel

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID
thingModelProperties JSONARRAY
属性
name 字符串
属性名称
identifier 字符串
属性标识符
dataType 字符串
属性数据类型
rwFlag 字符串
读写类型
unit 字符串
单位
unitName 字符串
单位名称
description 字符串
描述
dataSpecs 字符串
数据定义
thingModelEvents JSONARRAY
事件
eventName 字符串
事件名称
identifier 字符串
事件标识符
eventType 字符串
事件类型
description 字符串
描述
outputData JSONARRAY
输出参数
name 字符串
参数名称
dataType 字符串
数据类型
paraOrder 整型
参数序号
identifier 字符串
标识符
dataSpecs 字符串
数据定义
thingModelServices JSONARRAY
服务
serviceName 字符串
服务名称
identifier 字符串
服务标识符
description 字符串
描述
callType 字符串
调用方式
inputParams JSONARRAY
入参信息
name 字符串
参数名称
dataType 字符串
数据类型
paraOrder 整型
参数序号
identifier 字符串
标识符
dataSpecs 字符串
数据定义
outputParams JSONARRAY
出参信息
name 字符串
参数名称
dataType 字符串
数据类型
paraOrder 整型
参数序号
identifier 字符串
标识符
dataSpecs 字符串
数据定义

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息

请求示例

{
    "thingModelProperties": [
        {
            "identifier": "define1",
            "dataSpecs": "[{\"identifier\":\"TestNum\",\"dataSpecs\":\"{\\\"unit\\\":\\\"cP\\\",\\\"min\\\":\\\"1\\\",\\\"unitName\\\":\\\"厘泊\\\",\\\"max\\\":\\\"122\\\",\\\"custom\\\":true,\\\"dataType\\\":\\\"INT\\\",\\\"step\\\":\\\"1\\\"}\",\"dataType\":\"INT\",\"name\":\"TestNum\"},{\"identifier\":\"TestEnum\",\"dataSpecs\":\"{\\\"1\\\":\\\"a\\\",\\\"2\\\":\\\"b\\\"}\",\"dataType\":\"ENUM\",\"name\":\"TestEnum\"},{}]",
            "unit": null,
            "unitName": null,
            "dataType": "ARRAY",
            "rwFlag": "READ_WRITE",
            "name": "自定义功能点1",
            "description": null
        },
        {
            "identifier": "define2",
            "dataSpecs": "{}",
            "unit": null,
            "unitName": null,
            "dataType": "DATE",
            "rwFlag": "READ_WRITE",
            "name": "自定义功能点2",
            "description": null
        },
        {
            "identifier": "define3",
            "dataSpecs": "{\"min\":\"0\",\"max\":\"100\"}",
            "unit": null,
            "unitName": null,
            "dataType": "INT",
            "rwFlag": "READ_WRITE",
            "name": "自定义功能点3",
            "description": null
        },
        {
            "identifier": "define6",
            "dataSpecs": "{\"false\":\"3\",\"true\":\"8\"}",
            "unit": null,
            "unitName": null,
            "dataType": "BOOL",
            "rwFlag": "READ_WRITE",
            "name": "自定义6",
            "description": null
        },
        {
            "identifier": "define7",
            "dataSpecs": "{\"length\":\"10\"}",
            "unit": null,
            "unitName": null,
            "dataType": "TEXT",
            "rwFlag": "READ_WRITE",
            "name": "自定义7",
            "description": null
        },
        {
            "identifier": "define8",
            "dataSpecs": "{\"define\":[{\"0\":\"0\",\"1\":\"1\",\"bit\":0},{\"0\":\"2\",\"1\":\"3\",\"bit\":1}],\"length\":2}",
            "unit": null,
            "unitName": null,
            "dataType": "BITMAP",
            "rwFlag": "READ_WRITE",
            "name": "自定义8",
            "description": null
        },
        {
            "identifier": "define9",
            "dataSpecs": "{\"min\":\"0\",\"max\":\"2000\"}",
            "unit": null,
            "unitName": null,
            "dataType": "INT",
            "rwFlag": "READ_WRITE",
            "name": "自定义9",
            "description": null
        },
        {
            "identifier": "definite4",
            "dataSpecs": "[{\"identifier\":\"struct\",\"dataSpecs\":\"{\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"200\\\"}\",\"dataType\":\"INT\",\"name\":\"结构体\"},{\"identifier\":\"struct2\",\"dataSpecs\":\"{\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"200\\\"}\",\"dataType\":\"FLOAT\",\"name\":\"结构体2\"},{\"identifier\":\"struct3\",\"dataSpecs\":\"{\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"100\\\"}\",\"dataType\":\"INT\",\"name\":\"结构体3\"}]",
            "unit": null,
            "unitName": null,
            "dataType": "STRUCT",
            "rwFlag": "READ_WRITE",
            "name": "自定义功能点5",
            "description": null
        },
        {
            "identifier": "WaterConsumption",
            "dataSpecs": "{\"unit\":\"m³\",\"min\":\"0\",\"unitName\":\"立方米\",\"max\":\"2147483647\",\"step\":\"0.1\"}",
            "unit": null,
            "unitName": null,
            "dataType": "FLOAT",
            "rwFlag": "READ_ONLY",
            "name": "用水量",
            "description": ""
        },
        {
            "identifier": "WaterMeterState",
            "dataSpecs": "{\"0\":\"通信正常\",\"1\":\"通信失败\",\"2\":\"设备异常\",\"3\":\"低电量\"}",
            "unit": null,
            "unitName": null,
            "dataType": "ENUM",
            "rwFlag": "READ_ONLY",
            "name": "水表模块状态",
            "description": ""
        }
    ],
    "thingModelServices": [
        {
            "identifier": "fuwu1",
            "outputParams": [],
            "inputParams": [
                {
                    "identifier": "fuwu1",
                    "dataSpecs": "{\"length\":\"80\"}",
                    "paraOrder": 0,
                    "dataType": "TEXT",
                    "name": "服务1"
                }
            ],
            "description": null,
            "serviceName": "服务1",
            "callType": "SYNC"
        }
    ],
    "productKey": "产品pk",
    "thingModelEvents": [
        {
            "outputData": [
                {
                    "identifier": "aaa",
                    "dataSpecs": "{\"min\":\"0\",\"max\":\"100\"}",
                    "paraOrder": 0,
                    "dataType": "INT",
                    "name": "aaa"
                }
            ],
            "identifier": "aaa",
            "eventName": "啊啊啊",
            "description": null,
            "eventType": "INFO"
        },
        {
            "outputData": [
                {
                    "identifier": "alert1",
                    "dataSpecs": "{\"min\":\"0\",\"max\":\"100\"}",
                    "paraOrder": 0,
                    "dataType": "INT",
                    "name": "告警1"
                }
            ],
            "identifier": "define4",
            "eventName": "告警1",
            "description": null,
            "eventType": "ALERT"
        },
        {
            "outputData": [
                {
                    "identifier": "alert1",
                    "dataSpecs": "{\"length\":\"90\"}",
                    "paraOrder": 0,
                    "dataType": "TEXT",
                    "name": "告警1"
                }
            ],
            "identifier": "shijian1",
            "eventName": "事件1",
            "description": null,
            "eventType": "ALERT"
        }
    ]
}

返回示例

{
"code":200,
"message":"success",
"localizedMsg":"成功",
"data":null
}

1.3.4 queryCityThingModel

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息
data JSONARRAY data 响应结果
thingModelProperties JSONARRAY thingModelPropertyDtos 属性
thingModelEvents JSONARRAY thingModelEventDtos 事件
thingModelServices JSONARRAY thingModelServiceDtos 服务

请求示例

{
"productKey":"产品pk"
}

返回示例

{
    "code": 200,
    "message": "success",
    "localizedMsg": "成功",
    "data": {
        "thingModelEventDtos": [
            {
                "outputData": [
                    {
                        "identifier": "CarNum",
                        "dataSpecs": "{\"gmtModified\":1551711022000,\"dataType\":\"TEXT\",\"custom\":true,\"length\":16,\"id\":117522,\"gmtCreate\":1551711022000}",
                        "paraOrder": 0,
                        "dataType": "TEXT",
                        "name": "车牌号"
                    },
                    {
                        "identifier": "DectTime",
                        "dataSpecs": "{\"gmtModified\":1551711022000,\"dataType\":\"DATE\",\"custom\":true,\"length\":13,\"id\":117521,\"gmtCreate\":1551711022000}",
                        "paraOrder": 1,
                        "dataType": "DATE",
                        "name": "识别时间"
                    }
                ],
                "identifier": "PlateDect",
                "eventName": "车牌检测",
                "description": "检测到车辆到达出入口需要上报",
                "eventType": "INFO",
                "productKey": "产品pk"
            }
        ],
        "thingModelPropertyDtos": [
            {
                "identifier": "CarNum",
                "dataSpecs": "{\"gmtModified\":1551710980000,\"dataType\":\"TEXT\",\"custom\":true,\"length\":16,\"id\":117520,\"gmtCreate\":1551710980000}",
                "unit": null,
                "unitName": null,
                "dataType": "TEXT",
                "rwFlag": "READ_ONLY",
                "name": "车牌号",
                "description": "检测到车辆到达出入口需要上报",
                "productKey": "产品pk"
            },
            {
                "identifier": "DectTime",
                "dataSpecs": "{\"gmtModified\":1551710992000,\"dataType\":\"DATE\",\"custom\":true,\"length\":13,\"id\":117519,\"gmtCreate\":1551710992000}",
                "unit": null,
                "unitName": null,
                "dataType": "DATE",
                "rwFlag": "READ_ONLY",
                "name": "识别时间",
                "description": "检测到车辆到达出入口需要上报",
                "productKey": "产品pk"
            },
            {
                "identifier": "GeoLocation",
                "dataSpecs": "[{\"identifier\":\"Altitude\",\"dataType\":\"DOUBLE\",\"name\":\"海拔\"},{\"identifier\":\"Latitude\",\"dataType\":\"DOUBLE\",\"name\":\"纬度\"},{\"identifier\":\"CoordinateSystem\",\"dataSpecs\":\"{\\\"1\\\":\\\"WGS_84\\\",\\\"2\\\":\\\"GCJ_02\\\"}\",\"dataType\":\"ENUM\",\"name\":\"坐标系统\"},{\"identifier\":\"Longitude\",\"dataType\":\"DOUBLE\",\"name\":\"经度\"}]",
                "unit": null,
                "unitName": null,
                "dataType": "STRUCT",
                "rwFlag": "READ_ONLY",
                "name": "地理位置",
                "description": "",
                "productKey": "产品pk"
            }
        ],
        "thingModelServiceDtos": []
    }
}

1.4 设备 API 详细描述

1.4.1 setCityDeviceData

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID
deviceName 字符串
设备名称
propertyContents JSONARRAY
属性值
identifier 字符串
标识符
name 字符串
名称
time 长整型
时间
value 字符串
eventContents JSON
事件值
identifier 字符串
标识符
time 长整型
时间
name 字符串
名称
type 字符串
事件类型
value JSON
事件值

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息

请求示例

{
"propertyContents": [
{
"identifier": "CarNum",
"name": "车牌号",
"time": 1629873463429,
"value": "苏B11111"
}
],
"productKey": "产品pk",
"deviceName": "设备dn"
}

返回示例

{
"code":200,
"message":"success",
"localizedMsg":"成功",
"data":null
}

1.4.2 queryCityDeviceList

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID
deviceName 字符串
设备名称
alias 字符串
设备别名
organizationIds JSONARRAY
所属组织机构,List
status 字符串
设备状态
categoryKey 字符串
产品品类
supplier 字符串
供应商
nodeType 字符串
节点类型
netType 字符串
设备入网类型
protocolType 字符串
协议类型
sourcePlatformType 字符串
设备源平台类型
sourcePlatformId 字符串
设备源ID
pageNo 整型 1 页数
pageSize 整型 10 分页大小

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息
data JSON data 响应结果
total 长整型 total 数据总数
items JSONARRAY items 设备列表
productKey 字符串 productKey 产品ID
deviceName 字符串 deviceName 设备名称
alias 字符串 alias 设备别名
organizationId 字符串 organizationId 组织机构
description 字符串 description 描述

请求示例

{
"netType": "OTHER",
"categoryKey": "469",
"pageSize": 10,
"protocolType": "ALINK",
"productKey": "产品pk",
"nodeType": "DEVICE",
"deviceName": "设备dn",
"sourcePlatformId": "xxx",
"organizationIds": [
"xxx"
],
"pageNo": 1,
"supplier": "",
"alias": "",
"sourcePlatformType": "cloud2",
"status": "INIT"
}

返回示例

{
"code": 200,
"message": "success",
"localizedMsg": "成功",
"data": {
"total": 1,
"pageNo": 1,
"pageSize": 10,
"items": [
{
"organizationId": "xxx",
"alias": null,
"description": null,
"productKey": "产品pk",
"deviceName": "设备dn"
}
]
}
}

1.4.3 registerCityDevice

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID
deviceName 字符串
设备ID
alias 字符串
设备别名
organizationId 字符串
所属机构
description 字符串
描述
deviceLocation JSON
地址信息
altitude 整型

districtCode 字符串

address 字符串

latitude 双精度浮点型

coordinateSystem 字符串

longitude 双精度浮点型

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息

请求示例

{
"productKey": "产品pk",
"deviceName": "设备dn",
"organizationId":"xxx"
}

返回示例

{
"code": 200,
"message": "success",
"localizedMsg": "成功",
"data": null
}

1.4.4 modifyCityDevice

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID
deviceName 字符串
设备ID
alias 字符串
设备别名
organizationId 字符串
所属机构
description 字符串
描述
deviceLocation JSON
地址信息
altitude 整型

districtCode 字符串

address 字符串

latitude 双精度浮点型

coordinateSystem 字符串

longitude 双精度浮点型

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息

请求示例

{
"productKey": "产品pk",
"deviceName": "设备dn",
"organizationId":"xxx"
}

返回示例

{
"code": 200,
"message": "success",
"localizedMsg": "成功",
"data": null
}

1.4.5 deleteCityDevice

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID
deviceName 字符串
设备名称

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息

请求示例

{
"productKey": "产品pk",
"deviceName": "设备dn"
}

返回示例

{
"code": 200,
"message": "success",
"localizedMsg": "成功",
"data": null
}

1.4.6 queryCityDevice

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID
deviceName 字符串
设备名称

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息
data JSON data 设备信息
productKey 字符串 productKey 产品ID
deviceName 字符串 deviceName 设备名称
alias 字符串 alias 设备昵称
organizationId 字符串 organizationId 所属组织机构
description 字符串 description 描述

请求示例

{
"productKey": "产品pk",
"deviceName": "设备dn"
}

返回示例

{
"code": 200,
"message": "success",
"localizedMsg": "成功",
"data": {
"organizationId": "xxx",
"alias": null,
"description": null,
"productKey": "产品pk",
"deviceName": "设备dn"
}
}

1.4.7 queryCityDeviceData

入参列表

入参名称 数据类型 是否必须 缺省默认值 入参描述
productKey 字符串
产品ID
deviceName 字符串
设备名称

出参列表

参数名称 数据类型 后端参数名称 参数描述
code 整型 code 响应码, 200: 成功
message 字符串 message 错误消息
localizedMsg 字符串 localizedMsg 本地语言错误消息
data JSONARRAY data 响应结果
identifier 字符串 identifier 标识符
name 字符串 name 名称
value 字符串 value

请求示例

{
"productKey": "产品pk",
"deviceName": "设备dn"
}

返回示例

{
"code": 200,
"message": "success",
"localizedMsg": "成功",
"data": [
{
"identifier": "ssid",
"name": "热点ssid",
"time": 1629875068355,
"value": "3-2-602"
},
{
"identifier": "device_id",
"name": "设备编号",
"time": 1629875068355,
"value": "7036094530003b9b15968"
},
{
"identifier": "rssi",
"name": "场强",
"time": 1629875068355,
"value": "71"
},
{
"identifier": "channel",
"name": "热点频道",
"time": 1629875068355,
"value": "11"
},
{
"identifier": "type",
"name": "数据类型",
"time": 1629875068355,
"value": "热点"
},
{
"identifier": "ap_mac",
"name": "终端连接热点MAC",
"time": 1629875063866,
"value": "4C-B1-CD-BB-BF-E8"
},
{
"identifier": "mac",
"name": "MAC地址",
"time": 1629875068355,
"value": "F4-2A-7D-C9-B0-A0"
},
{
"identifier": "GeoLocation",
"name": "地理位置",
"time": 1629875068355,
"value": "{\"altitude\":0.0,\"latitude\":30.288881,\"coordinateSystem\":1,\"longitude\":120.000926}"
},
{
"identifier": "gpstype",
"name": "经纬度类型",
"time": 1629875068355,
"value": "gps"
},
{
"identifier": "his",
"name": "终端历史连接SSID",
"time": 1629875064057,
"value": "CMCC-123456789"
},
{
"identifier": "gtime",
"name": "采集时间",
"time": 1629875068355,
"value": "1629874622000"
},
{
"identifier": "encrypt_type",
"name": "热点加密类型",
"time": 1629875068355,
"value": "psk"
}
]
}

相关扩展说明

设备源相关

设备源类型

Key 描述
lp 阿里云
onenet 移动物联网
ctwing 电信物联网
huawei 华为物联
cloud2 云云对接
linkbridge-jt809 jt809协议
linkbridge-hj212 hj212协议

产品相关

设备接入协议

Key 描述
ALINK
MQTT
LWM2M
HTTP
TCP
UDP
COAP
MODBUS
OPC_UA
OTHER

设备入网类型

Key 描述
LORA
GPRS
NB_IOT
WIFI
ZIGBEE
BT 蓝牙
CELLULAR
ETHERNET HTTP
OTHER

物模型相关

数据类型

Key 描述
ENUM 枚举型
BOOL 布尔型
FLOAT 浮点型
DOUBLE 双精度浮点型
INT 整数型
LONG 长整型
TEXT 字符型
DATE 时间型
STRUCT 对象型
ARRAY 数组型
BITMAP 位图型
OTHER 其他
UNKNOWN 未知

读写类型

Key 描述
READ_WRITE 读写
WRITE_ONLY 只写
READ_ONLY 只读

事件类型

Key 描述
INFO 信息
ALERT 告警
ERROR 故障

调用方式

Key 描述
ASYNC 异步调用
SYNC 同步调用

数据定义

数据定义为属性的扩展描述,按照类型不同分为不同格式,ps.实际内容需要转为字符串
基本类型(包括:FLOAT,DOUBLE,INT,TEXT,DATE,LONG)

{
  "unit":"m³",
  "min":"0",
  "unitName":"立方米",
  "max":"2147483647",
  "step":"0.1"
}

枚举类型(包括:ENUM,BOOL)

[
    {
    "0":"通信正常",
    "1":"通信失败",
    "2":"设备异常",
    "3":"低电量"
  }
]

结构体类型(包括:STRUCT,ARRAY)
结构体中不可嵌套结构体

[
    {
        "identifier":"Altitude",
        "dataType":"DOUBLE",
        "name":"海拔",
        "dataSpecs":"{\"unit\":\"m\",\"min\":\"0\",\"unitName\":\"米\",\"max\":\"10000\",\"step\":\"1\"}"
    },
    {
        "identifier":"Latitude",
        "dataType":"DOUBLE",
        "name":"纬度"
    },
    {
        "identifier":"CoordinateSystem",
        "dataSpecs":"{\"1\":\"WGS_84\",\"2\":\"GCJ_02\"}",
        "dataType":"ENUM",
        "name":"坐标系统"
    },
    {
        "identifier":"Longitude",
        "dataType":"DOUBLE",
        "name":"经度"
    }
]

位图(包括:BITMAP)

{
  "define": [
    {
      "0": "0",
      "1": "1",
      "bit": 0
    },
    {
      "0": "2",
      "1": "3",
      "bit": 1
    }
  ],
  "length": 2
}


设备相关

设备状态

Key 描述
INIT 初始化
ONLINE 在线
OFFLINE 离线

节点类型

Key 描述
DEVICE 设备
GATEWAY� 网关

错误码