物模型品类定义

更新时间:

本文档旨在明确物模型品类定义以及解释相关概念。

1 概述

1.1 编写目的

本文档是智慧社区项目物模型品类标准。

1.2 名词解释

名词

解释

IoT

物联网

2 品类应用

2.1 与设备关联

  • 在阿里云IoT 应用服务平台创建的设备会自动把品类名称和品类编码写入设备标签。 品类名称标签的key为“CategoryName”,value为品类名称三级路径

  • 品类编码标签的key为“CategoryCode”,value为品类编码三级路径。

  • 设备能力标签的key为 "Capability",value为能力定义List。

只有基于门禁一体机品类创建的设备才支持设备能力标签,用来标识该设备具备哪些能力

示例: 二维码门禁标签:

"CategoryName" : "智慧社区/人员通行/二维码门禁"

"CategoryCode" : "community/ people/qrcode"

设备能力标签:

"Capability" :["face","qrcode"]

2.2 云端查询设备标签接口

路径

/app/thing/prop/get

版本号

1.0.1

协议

HTTP, HTTPS

请求方法

POST

授权类型

app签名

超时时间

3000

请求参数

名称

类型

是否必选

描述

iotId

String

物的唯一标识

productKey

String

物的产品标识

deviceName

String

物的名称

lpInstanceId

字符串

LP实例ID

返回数据

名称

类型

描述

code

Int

接口返回码。200表示成功。

message

String

调用失败时,返回的出错信息。

localizedMsg

String

本地语言的错误消息。

props

String

设备标签属性,json String结构

示例

请求示例:

// https://github.com/aliyun/iotx-api-gateway-client
IoTApiClientBuilderParams ioTApiClientBuilderParams = new IoTApiClientBuilderParams();

ioTApiClientBuilderParams.setAppKey("你的<AppKey>");
ioTApiClientBuilderParams.setAppSecret("你的<AppSecret>");

SyncApiClient syncApiClient = new SyncApiClient(ioTApiClientBuilderParams);

IoTApiRequest request = new IoTApiRequest();

// 设置请求ID
String uuid = UUID.randomUUID().toString();
String id = uuid.replace("-", "");
request.setId(id);
// 设置API版本号
request.setApiVer("1.0.1");
// 设置参数
request.putParam("iotId","value1");
request.putParam("productKey","value2");
request.putParam("deviceName","value3");
request.putParam("lpInstanceId","value4");
// 如果需要,设置headers
Map<String, String> headers = new HashMap<String, String>(8);
// headers.put("你的<header", "你的<value>");

// 设置请求参数域名、path、request , isHttps, headers
ApiResponse response = syncApiClient.postBody("api.link.aliyun.com", "/app/thing/prop/get", request, true, headers);

System.out.println(
    "response code = " + response.getCode()
        + " response = " + new String(response.getBody(), "UTF-8")
        + " headers = " + response.getHeaders().toString()
);

2.3 边缘查询设备标签接口

参考文档:边缘应用 Link IoT Edge对接

获取分组设备列表Topic:{srcApp}/request/linkedge/getDeviceList 获取网关设备列表Topic:{srcApp}/request/linkedge/{pk}/{dn}/getDeviceList 请求Payload:

{
  "requestId": "0bc458b5-47f6-472f-bd88-3624696e9777", # [Required]
  "timestamp": 157121985, #ms [Optional]
  "timeout":3, # 最少1s,最多120s [Optional: default 4s]
  "version": "1.0" # [Optional]
}

获取分组设备列表应答Topic:linkedge/response/{srcApp}/getDeviceList 应答Payload

{
  "params":[ #数组,包含所有网关下的子设备
    {
      "gwProductKey":"a1PQ9828qvr", #网关的productkey
      "gwDeviceName":"yinlong_gw_dev1",#网关的devicename
      "code":0,
      "message":"success",
      "deviceList":[ #设备列表
        {
          "productKey":"a1KRepmC2XJ", #设备的productkey
          "deviceName":"modbus_tcp_dev_1", #设备的devicename
          "localOnline":"false",  #设备与网关的连接状态
          "cloudOnline":"false",  #设备与云端的连接状态
          "activationState":"notActivated",#设备在云端是否被激活
          "nickName":"xxx",  #设备别名
          "tags":[ #设备包含的标签
          ]
        },
        {
          "productKey":"a1ZJTVsqj2y",
          "deviceName":"lightDevNoSpecial",
          "localOnline":"true",
          "cloudOnline":"true",
          "activationState":"activated",
          "nickName":"xxx",  #设备别名
          "tags":[
          ]
        },
        {
          "productKey":"a1ZJTVsqj2y",
          "deviceName":"LightDev2",
          "localOnline":"false",
          "cloudOnline":"false",
          "activationState":"notActivated",
          "nickName":"xxx",  #设备别名
          "tags":[  #设备包含的标签
          {
            "key":"type",   #设备标签的key
            "value":"light" #设备标签的value
          },
          {
            "key":"owner",
            "value":"yinlong"
          },
          {
            "key":"location",
            "value":"master bedroom"
          },
          {
            "key":"color",
            "value":"red"
          }
          ]
        }
      ] 
    }
  ],
  "requestId":"0bc458b5-47f6-472f-bd88-3624696e9777",
  "version":"1.0",
  "timestamp":157225013,
  "code":0,
  "message":"success"
}

获取网关设备列表应答Topic:linkedge/response/{srcApp}/{pk}/{dn}/getDeviceList

应答Payload:

{
"requestId":"0bc458b5-47f6-472f-bd88-3624696e9777",
"timestamp": 157121985,
"version":"1.0",
"code":0,
"message":"success",
"params":[      #设备列表
    {
    "productKey":"a1Mtx4p2fHG",  #设备的productkey
    "deviceName":"device1",      #设备的devicename
    "localOnline":"true",        #设备和网关的连接状态
    "cloudOnline":"true",        #设备和云端的连接状态
    "activationState": "activated/notActivated/activationFailed", #设备在云端的激活状态
    "tag":[
        {
          "key":"coordinate",
          "value":"0:0"
        }
      ]
    }
  ]
}

附录1 智慧社区品类定义

详细定义参见下表:

分组

品类

模型

name:智慧社区

code:community

name:车辆通行

code:car

name:车辆道闸

code: barke

name:车牌识别摄像头

code:lprc

name:费用显示屏

code:screen

name:人员通行

code:people

name:二维码门禁

code:qrcode

name:加密二维码门禁

code:rsa_qrcode

name:人脸门禁

code:face

name:测温人脸门禁

code:temp_face

name:蓝牙门禁

code: bluetooth

name:可视对讲

code:video

name:刷卡门禁

code:card

name:梯控设备

code:elevator

name:梯控网关

code:elevators

name:门禁一体机

code:aio

name:电梯控制器

code:elc

name:视频安防

code: security

name:周界报警主机

code:perimeter

name:普通NVR

code:nnvr

name:智能分析NVR

code: invr

name:人脸识别NVR

code: frnvr

name:普通摄像头

code: ipcamera

name:违停球相机

code: tptzcamera

name:人脸抓拍机

code: frcamera

name:周界相机

code: pmcamera

name:设备设施

code: eba

name:超声波流量计

code: flowmeter

name:智能电力仪表

code: powermeter

name:压力传感器

code: pressure

name:液位传感器

code: liquid

name:温湿度传感器

code: temhum

name:水侵传感器

code: waterlog

name:温度传感器

code: temper

name:遥信遥控智能仪表

code: rcii

name:照明回路

code:light

name:风机

code:spf

name:气体感测器

code:gd

附录2 设备能力标签

基于门禁一体机品类创建的设备支持能力标签,用来标识该设备具备哪些能力

例如某个门禁一体机设备具备人脸识别、二维码功能的能力标签定义如下:

Capability: ["face","qrcode"],

目前支持的6种能力值定义如下:

能力值名称

能力值含义

face_temperature

测温:表示该门禁设备具备测温功能

card

刷卡:表示该门禁具备刷卡通行的能力

intercom

可视对讲:表示该门禁具备可视对讲的能力

bluetooth

蓝牙:表示该门禁具备蓝牙通行的能力

face

人脸:表示该门禁具备人脸识别通行的能力

qrcode

二维码:表示该门禁具备二维码识别通行的能力

elevator_gateway

梯控网关:表示该设备为梯控网关

elevator_gateway_with_rule

支持联动规则的梯控网关:表示该设备为支持联动规则的梯控网关