产品定价 立即试用
IoT网关
文档 > 配置指南 > XMPP连接器
入门
安装
目录

XMPP连接器配置

本指南将帮助您熟悉ThingsBoard IoT Gateway的XMPP连接器配置。 请使用通用配置启用此连接器。 该连接器的用途是使用XMPP协议从物联网设备采集数据。

下面将说明连接器配置文件。

连接器配置:xmpp.json

连接器配置是一个JSON文件,包含如何连接设备、处理数据以及其他服务功能的信息。下面通过示例来了解配置文件的格式。

XMPP连接器配置文件示例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
{
  "server": {
    "jid": "gateway@localhost",
    "password": "password",
    "host": "localhost",
    "port": 5222,
    "use_ssl": false,
    "disable_starttls": false,
    "force_starttls": true,
    "timeout": 10000,
    "plugins": [
      "xep_0030",
      "xep_0323",
      "xep_0325"
    ]
  },
  "devices": [
    {
      "jid": "device@localhost/TMP_1101",
      "deviceNameExpression": "${serialNumber}",
      "deviceTypeExpression": "default",
      "attributes": [
        {
          "key": "temperature",
          "value": "${temp}"
        }
      ],
      "timeseries": [
        {
          "key": "humidity",
          "value": "${hum}"
        },
        {
          "key": "combination",
          "value": "${temp}:${hum}"
        }
      ],
      "attributeUpdates": [
        {
          "attributeOnThingsBoard": "shared",
          "valueExpression": "{\"${attributeKey}\":\"${attributeValue}\"}"
        }
      ],
      "serverSideRpc": [
        {
          "methodRPC": "rpc1",
          "withResponse": true,
          "valueExpression": "${params}"
        }
      ]
    }
  ]
}

“server”部分

此配置部分用于配置网关XMPP设备以及与XMPP服务器的连接。

参数 默认值 描述
jid gateway@localhost XMPP用户账户的JID。
password password XMPP用户账户的密码。
host localhost XMPP服务器的主机地址。
port 5222 XMPP服务器的端口。
use_ssl false 指示是否应使用旧版SSL连接方式。
disableStarttls false 禁用连接的TLS。
forceStarttls true 指示如果服务器未声明支持STARTTLS,则应中止协商。
timeout 10000  
plugins [“xep_0030”,”xep_0323”,”xep_0325”] 客户端将注册的插件列表。

配置部分如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
  "server": {
    "jid": "gateway@localhost",
    "password": "password",
    "host": "localhost",
    "port": 5222,
    "use_ssl": false,
    "disable_starttls": false,
    "force_starttls": true,
    "timeout": 10000,
    "plugins": [
      "xep_0030",
      "xep_0323",
      "xep_0325"
    ]
  }
}

“devices”部分

此配置部分包含可以连接到连接器并发送数据的设备数组。这意味着连接器将根据JID拒绝所有未包含在此数组中的设备连接。

设备子部分

此对象配置部分包含处理传入数据的参数。

参数 默认值 描述
jid device@localhost/TMP_1101 XMPP用户账户的JID。
deviceNameExpression ${serialNumber} JSON路径表达式,用于查找设备名称。
deviceTypeExpression ${sensorType} JSON路径表达式,用于查找设备类型。
attributes   此子部分包含传入请求的参数,这些参数将被解析为设备的属性。
… key temperature ThingsBoard中的属性名称。
… value ${temp} 简单JSON表达式,用于在传入消息中查找值,该值随后将作为key参数的值发送到ThingsBoard实例。
timeseries   此子部分包含传入消息的参数,这些参数将被解析为设备的遥测数据。
… key humidity ThingsBoard中的遥测名称。
… value ${hum} 简单JSON表达式,用于在传入消息中查找值,该值随后将作为key参数的值发送到ThingsBoard实例。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
  "jid": "device@localhost/TMP_1101",
  "deviceNameExpression": "${serialNumber}",
  "deviceTypeExpression": "default",
  "attributes": [
    {
      "key": "temperature",
      "value": "${temp}"
    }
  ],
  "timeseries": [
    {
      "key": "humidity",
      "value": "${hum}"
    },
    {
      "key": "combination",
      "value": "${temp}:${hum}"
    }
  ]
}

属性更新子部分

此配置部分为可选项。ThingsBoard允许配置设备属性,并从设备应用程序获取其中一些属性。您可以将其视为设备的远程配置,使设备能够从ThingsBoard请求共享属性。详情请参阅用户指南

“attributeUpdates”配置允许您配置将发送到XMPP设备的对应属性数据的格式。

参数 默认值 描述
attributeOnThingsBoard sharedName 共享属性名称。
valueExpression {"${attributeKey}":"${attributeValue}"} JSON路径表达式,用于创建将发送到设备的消息数据。

配置文件中此部分如下所示:

1
2
3
4
5
6
"attributeUpdates": [
  {
    "attributeOnThingsBoard": "shared",
    "valueExpression": "{\"${attributeKey}\":\"${attributeValue}\"}"
  }
]

服务端RPC子部分

ThingsBoard允许向直接连接到ThingsBoard或通过网关连接的设备发送RPC命令。

此部分提供的配置用于从ThingsBoard向设备发送RPC请求。

参数 默认值 描述
methodRPC rpcMethod1 RPC方法名称。
withResponse true 布尔值,决定是否将响应发送回ThingsBoard。
valueExpression ${params} JSON路径表达式,用于创建将发送到设备的消息数据。

配置文件中此子部分如下所示:

1
2
3
4
5
6
7
"serverSideRpc": [
  {
    "methodRPC": "rpc1",
    "withResponse": true,
    "valueExpression": "${params}"
  }
]

下一步

浏览与ThingsBoard主要功能相关的指南: