产品管理
功能简介
产品管理功能旨在管理和维护平台中物联网设备的产品信息和相关参数。
产品的参数来源于产品的物模型(TSL)。物模型是描述设备能力和属性的数据模型,它定义了设备的属性、服务和事件。
它作为连接物理设备与平台功能的核心载体,实现设备的标准化管理和智能化交互。

创建产品
添加新产品
您可以在设备管理模块中点击"+"按钮来添加产品。

填写产品基本信息
- 步骤 1: 输入产品名称:例如"品牌 A IoT HMI"。
- 步骤 2: 选择产品分类:例如"品牌 A" - "IoT HMI"。
- 步骤 3: 选择连接方式:直连设备或网关设备。
- 步骤 4: 选择通信协议:MQTT、Modbus 等。
- 步骤 5: 选择状态:正常或禁用。
- 步骤 6: 输入描述。
- 步骤 7: 点击"保存"按钮。

产品详情与物模型
进入产品详情页
产品创建后,点击"详情"按钮来配置产品的物模型。

产品信息
点击"产品信息"选项卡查看产品的相关信息。

物模型
点击"物模型"选项卡来配置产品的物模型参数。配置完成后,所有使用该产品模板的设备将自动同步这些参数。
现场设备可以通过 MQTT 协议,基于我们定义的物模型向平台上报参数。同时,平台也可以对这些设备进行控制。
物模型由三种主要功能类型组成:属性、遥测和命令服务。
- 属性: 设备相对稳定的状态信息,通常用于描述设备的属性或不常变化的状态。例如:设备名称、模式、程序版本等。
- 遥测: 设备的实时数据,主要用于反映设备运行过程中的动态数据。例如:温度、湿度、压力、电流等。
- 命令: 定义设备可执行的操作指令,向设备下发控制请求。
**### MQTT 主题
Thing Model 各功能类型对应的主题。**
| 类型 | 主题 | Elynkon | 设备 | 说明 |
|---|---|---|---|---|
| 属性 | v1/devices/me/attributes | 订阅 | 发布 | 设备上报属性到服务端 |
| 遥测 | v1/devices/me/telemetry | 订阅 | 发布 | 设备上报遥测到服务端 |
| 子设备属性 | v1/gateway/attributes | 订阅 | 发布 | 网关上报子设备属性 |
| 子设备遥测 | v1/gateway/telemetry | 订阅 | 发布 | 网关上报子设备遥测 |
| 命令 | v1/devices/me/rpc/request/+ | 发布 | 订阅 | 服务端下发控制指令到设备 |
| 命令 | v1/devices/me/rpc/response/$request_id | / | / | 设备回复命令执行结果 |
为物模型添加参数
添加属性参数
步骤 1: 选择"属性模板"选项卡,点击属性模板右上角的"+Add"按钮来添加参数。

步骤 2: 输入属性名称和属性标识符,选择数据类型和读写权限。您可以根据需要配置默认值和描述(这些配置为可选项)。
TIP
* 标识符首字符不能为数字,仅支持英文字母、数字和下划线的组合。

步骤 3: 完成上述操作后,点击"确认"按钮完成参数添加。属性参数将显示在"属性模板"选项卡的表格中。

添加遥测参数
步骤 1: 选择"遥测模板"选项卡,点击遥测模板右上角的"+Add"按钮来添加参数。

步骤 2: 输入遥测名称和遥测标识符,选择数据类型。您可以根据需要配置取值范围、小数位数、步长、单位和描述(这些配置为可选项)。
TIP
* 标识符首字符不能为数字,仅支持英文字母、数字和下划线的组合。

步骤 3: 完成上述操作后,点击"确认"按钮完成参数添加。遥测参数将显示在"遥测模板"选项卡的表格中。

添加命令服务
步骤 1: 选择"命令服务"选项卡,点击命令服务右上角的"+Add"按钮来添加命令。

步骤 2: 输入命令名称和命令标识符,然后点击输入参数和输出参数对应的"+"图标来添加参数。

步骤 3: 在弹出的(输入参数)设置窗口中,输入参数名称和参数标识符,然后选择数据类型。您可以根据需要配置取值范围、步长、单位和描述(这些配置为可选项)。
TIP
* 标识符首字符不能为数字,仅支持英文字母、数字和下划线的组合。
* 一个命令服务可以添加多个输入参数。

步骤 4: 在弹出的(输出参数)设置窗口中,输入参数名称和参数标识符,然后选择数据类型。您可以根据需要配置取值范围、步长、单位和描述(这些配置为可选项)。
TIP
* 标识符首字符不能为数字,仅支持英文字母、数字和下划线的组合。
* 一个命令服务可以添加多个输入参数。

步骤 5: 完成上述操作后,点击"确认"按钮完成参数添加。命令将显示在"命令服务"选项卡的表格中。

基于物模型的 MQTT 数据上报结构
产品的物模型与现场设备的 MQTT 数据上报结构完全对应。本节将说明属性、遥测和命令服务三种功能类型对应的 Topic 及其 Payload 数据结构。
主题列表
下表展示了物模型各功能类型对应的主题。
| 类型 | Topic | Elynkon | 设备 | 说明 |
|---|---|---|---|---|
| 属性 | v1/devices/me/attributes | 订阅 | 发布 | 设备向服务端上报属性 |
| 遥测 | v1/devices/me/telemetry | 订阅 | 发布 | 设备向服务端上报遥测 |
| 子设备属性 | v1/gateway/attributes | 订阅 | 发布 | 网关上报子设备属性 |
| 子设备遥测 | v1/gateway/telemetry | 订阅 | 发布 | 网关上报子设备遥测 |
| 命令 | v1/devices/me/rpc/request/+ | 发布 | 订阅 | 服务端向设备下发控制命令 |
| 命令 | v1/devices/me/rpc/response/$request_id | / | / | 设备端回复命令执行结果 |
属性上报格式
{
"attribute1": "value1",
"attribute2": "value2"
}TIP
* JSON 文本中的 "attribute1"、"attribute2" 等参数对应"属性模板"中的参数。有关"属性模板"的相关信息,可参考上一节内容。
遥测上报格式
如果设备可以获取时间戳,可以在上报数据时包含时间戳,平台将使用设备的当前时间。
{
"ts": 1689837909000,
"values": {
"telemetry1": "value1",
"telemetry2": "value2"
}
}如果设备无法获取时间,可以按以下格式上报数据,平台将使用服务器的当前时间。
{
"telemetry1": "value1",
"telemetry2": "value2"
}TIP
* JSON 文本中的 "telemetry1"、"telemetry2" 等参数对应"遥测模板"中的参数。有关"遥测模板"的相关信息,可参考上一节内容。
子设备属性上报格式
{
"Device Code": {
"attribute1": "value1",
"attribute2": "value2"
}
}设备编码可在对应设备的设备信息页面中查看。

TIP
* JSON 文本中的 "attribute1"、"attribute2" 等参数对应"属性模板"中的参数。有关"属性模板"的相关信息,可参考上一节内容。
子设备遥测上报格式
如果设备可以获取时间戳,可以在上报数据时包含时间戳,平台将使用设备的当前时间。
{
"Device Code": {
"ts": 1689837909000,
"values": {
"telemetry1": "value1",
"telemetry2": "value2"
}
}
}如果设备无法获取时间,可以按以下格式上报数据,平台将使用服务器的当前时间。
{
"Device Code": {
"telemetry1": "value1",
"telemetry2": "value2"
}
}设备编码可在对应设备的设备信息页面中查看。

TIP
* JSON 文本中的 "telemetry1"、"telemetry2" 等参数对应"遥测模板"中的参数。有关"遥测模板"的相关信息,可参考上一节内容。
命令下发格式
如果使用命令方式发送数据,"method" 为命令标识符,"params" 中包含参数标识符。
{
"method": "CommandIdentifier",
"params": {
"parameter1": "value1",
"parameter2": "value2"
}
}如果使用属性方式发送数据,默认的 method 为 "setAttributes"。
{
"method": "setAttributes",
"params": {
"attribute1": "value1"
}
}命令响应格式
{
"method": "Command Identifier",
"params": {
"parameter1": "value1",
"parameter2": "value2"
}
}产品修改
在目标产品所在行的"操作"列中,点击"编辑"按钮进入该产品的专用编辑页面,然后修改产品信息。

可修改的产品信息包括:产品名称、产品分类、连接方式、通信协议、状态和描述。点击"保存"按钮完成修改。

产品删除
DANGER
删除产品是不可逆的操作。请确保该产品下没有关联任何设备后再执行。
在目标产品所在行的"操作"列中,点击"删除"按钮。弹出确认窗口后,点击窗口中的"确认"按钮即可完成产品的删除。


