产品定义

最近更新时间:2019-12-03 18:36:14

操作场景

用户成功注册腾讯云账号后,通过物联网开发平台将设备对接到腾讯云物联网平台时。需要创建项目,并在项目下创建产品、定义产品的数据模板。本文档主要介绍如何使用开发平台创建项目并进行产品定义。

操作步骤

新建项目

说明:

项目是为了方便灵活地管理不同项目权限而设置的,如一个项目涉及多方合作,需要将设备端、应用端开发人员的腾讯云账号都添加到该项目下,待某合作方退出,则可将该账号从项目中删除。

  • 项目下可以建立多个产品与应用,应用默认有权限访问该项目下的产品。
  • 每个项目会有自己的唯一 ID。数据会根据项目进行隔离,以确保您的客户的数据安全。
  • 项目删除后,该项目所属产品等数据都将被删除且不能恢复。
  1. 登录 物联网开发平台 。选择项目列表。
  2. 进入项目列表页面,单击【新建项目】
    • 项目名称:根据实际业务输入便于识别的项目名称。
    • 项目描述:输入项目的备注信息。
  3. 单击【新建】,则项目创建成功。
    image

删除项目

注意:

为了防止误操作删除数据影响您的业务,若该项目下还有产品数据,则不允许删除项目。

  1. 完成新项目创建后,您可以在项目列表页面查看创建的项目。
  2. 当您无需该项目时,您可以在该项目的右上方,单击【删除】即可。
    image

创建产品

产品相当于某一类设备的集合,用户通过产品管理其下的所有设备。

  1. 单击创建的项目进入产品开发中心,单击【新建产品】,定义您的产品。
    image
  2. 根据页面提示填写产品基本信息,然后单击【新建】。
    产品基本信息设置如下:
    • 产品名称:名称为中文、字母、数字、下划线的组合,1 - 20位且不能为空。
    • 产品类型:选择您所创建产品的所属品类,不同类型产品的属性、事件等数据模板会有所不同。下文“数据模板”会详细阐述。
    • 认证方式:物联网开发平台提供两种认证方式用于设备与平台之间鉴权认证。
    • 证书认证:在创建设备时,平台将为设备生成一个证书文件和一个私钥文件,实现设备与云之间的双向认证。
    • 密钥认证:在创建设备时,使用平台为设备随机生成的 PSK。
    • 通信方式:您可以选择 Wi-Fi、移动蜂窝(2G/3G/4G)和其他通信方式。
    • 数据协议:产品默认采用数据模板的数据协议。
    • 描述:字数不能超过80个,您可以根据需要选填。
      image

删除产品

注意:

为了防止误操作删除产品影响您的业务,若该产品下还有设备,则不允许删除该产品。

  1. 完成新产品创建后,您可以在产品列表页面查看创建的产品。
  2. 当您无需该产品时,您可以在该产品的右上方,单击【删除】即可。
    image

数据模板

数据模板是将物理实体设备进行数字化描述,构建其数字模型。在物联网开发平台定义数据模板即定义产品功能。完成功能定义后,系统将自动生成该产品的数据模板。
单击创建的产品进入产品开发环节,产品开发第一步就是定义数据模板。
image

功能类型

产品的功能包括标准功能和自定义功能这两种。

功能类型 功能描述
标准功能 该产品类别下提供的常用功能,默认已经创建好。
自定义功能 如果标准功能无法满足您的需求,您可以自定义功能。

标准功能:部分分为必选属性和可选属性,必选属性不可删除,部分属性可编辑;可选属性则可删除、可编辑。
自定义功能:则可由开发者自由删除和编辑。这里需要注意的是,已发布的产品不能编辑与删除属性与事件。

功能类型分为属性和事件,其中属性包括布尔型、整数型、字符型、浮点型、枚举型和时间型等6种数据类型。事件包括告警、故障和信息三种类型,事件型功能属性可以添加具体的事件参数,这些参数可以由属性中6种基本数据类型组成。

  • 布尔型:非真即假的二值型变量。如:开关功能。
  • 整数型:可用于线性调节的整数变量。如:空调的温度。
  • 字符型:以字符串形式表达的功能点,如灯的位置。
  • 浮点型:精度为浮点型的功能点。如压力值的范围:0.0 - 24.0。
  • 枚举型:自定义的有限集合值。如:灯的颜色:白色、红色、黄色等。
  • 时间型:string 类型的 UTC 时间戳(毫秒)。
说明:

数据模板,它是一个 JSON 格式的文件,使用数据模板协议,用户的设备需按数据模板定义要求传输设备数据到云端,并可使用基于数据模板的诸多业务功能。

数据模板格式参考

以下为智能高级路灯的数据模板字段描述说明,包括各种数据类型和事件类型。示例代码如下:

{
  "version": "1.0",
  "properties": [
    {
      "id": "power_switch",
      "name": "电灯开关",
      "desc": "控制电灯开灭",
      "required": true,
      "mode": "rw",
      "define": {
        "type": "bool",
        "mapping": {
          "0": "关",
          "1": "开"
        }
      }
    },
    {
      "id": "color",
      "name": "颜色",
      "desc": "灯光颜色",
      "mode": "rw",
      "define": {
        "type": "enum",
        "mapping": {
          "0": "Red",
          "1": "Green",
          "2": "Blue"
        }
      }
    },
    {
      "id": "brightness",
      "name": "亮度",
      "desc": "灯光亮度",
      "mode": "rw",
      "define": {
        "type": "int",
        "unit": "%",
        "step": "1",
        "min": "0",
        "max": "100",
        "start": "1"
      }
    },
    {
      "id": "name",
      "name": "灯位置名称",
      "desc": "灯位置名称:书房、客厅等",
      "mode": "rw",
      "required": false,
      "define": {
        "type": "string",
        "min": "0",
        "max": "64"
      }
    }
  ],
  "events": [
    {
      "id": "status_report",
      "name": "DeviceStatus",
      "desc": "Report the device status",
      "type": "info",
      "required": false,
      "params": [
        {
          "id": "status",
          "name": "running_state",
          "desc": "Report current device running state",
          "define": {
            "type": "bool",
            "mapping": {
              "0": "normal",
              "1": "fault"
            }
          }
        },
        {
          "id": "message",
          "name": "Message",
          "desc": "Some extra message",
          "define": {
            "type": "string",
            "min": "0",
            "max": "64"
          }
        }
      ]
    },
    {
      "id": "low_voltage",
      "name": "LowVoltage",
      "desc": "Alert for device voltage is low",
      "type": "alert",
      "required": false,
      "params": [
        {
          "id": "voltage",
          "name": "Voltage",
          "desc": "Current voltage",
          "define": {
            "type": "float",
            "unit": "V",
            "step": "1",
            "min": "0.0",
            "max": "24.0",
            "start": "1"
          }
        }
      ]
    },
    {
      "id": "hardware_fault",
      "name": "Hardware_fault",
      "desc": "Report hardware fault",
      "type": "fault",
      "required": false,
      "params": [
        {
          "id": "name",
          "name": "Name",
          "desc": "Name like: memory,tf card, censors ...",
          "define": {
            "type": "string",
            "min": "0",
            "max": "64"
          }
        },
        {
          "id": "error_code",
          "name": "Error_Code",
          "desc": "Error code for fault",
          "define": {
            "type": "int",
            "unit": "",
            "step": "1",
            "min": "0",
            "max": "2000",
            "start": "1"
          }
        }
      ]
    }
  ],
  "profile": {
    "ProductId": "",
    "CategoryId": "3"
  },
  "actions": []
}