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

OCPP连接器配置

本指南将帮助您熟悉ThingsBoard IoT Gateway的OCPP连接器配置。 请使用通用配置启用此连接器。 该连接器的用途是使用OCPP协议在充电桩与中央系统之间通信。

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

连接器配置:ocpp.json

连接器配置是一个JSON文件,其中包含有关如何连接充电桩、处理数据以及其他服务功能的信息。让我们使用下面的示例来了解配置文件的格式。

OCPP连接器配置文件示例。

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
54
55
56
57
58
59
60
61
62
63
64
65
66
{
  "centralSystem": {
    "name": "Central System",
    "host": "127.0.0.1",
    "port": 9000,
    "connection": {
      "type": "insecure"
    },
    "security": [
      {
        "type": "token",
        "tokens": [
          "Bearer ACCESS_TOKEN"
        ]
      },
      {
        "type": "basic",
        "credentials": [
          {
            "username": "admin",
            "password": "admin"
          }
        ]
      }
    ]
  },
  "chargePoints": [
    {
      "idRegexpPattern": "bidon/hello/CP_1",
      "deviceNameExpression": "${Vendor} ${Model}",
      "deviceTypeExpression": "default",
      "attributes": [
        {
          "messageTypeFilter": "MeterValues,",
          "key": "temp1",
          "value": "${meter_value[:].sampled_value[:].value}"
        },
        {
          "messageTypeFilter": "MeterValues,",
          "key": "vendorId",
          "value": "${connector_id}"
        }
      ],
      "timeseries": [
        {
          "messageTypeFilter": "DataTransfer,",
          "key": "temp",
          "value": "${data.temp}"
        }
      ],
      "attributeUpdates": [
        {
          "attributeOnThingsBoard": "shared",
          "valueExpression": "{\"${attributeKey}\":\"${attributeValue}\"}"
        }
      ],
      "serverSideRpc": [
        {
          "methodRPC": "rpc1",
          "withResponse": true,
          "valueExpression": "${params}"
        }
      ]
    }
  ]
}

“centralSystem”部分

此配置部分用于将网关配置为中央系统。

参数 默认值 描述
name Central System 中央系统名称。
host 127.0.0.1 中央系统主机名或IP地址。
port 9000 中央系统端口。

连接子部分

此配置子部分用于配置中央系统与充电桩之间的连接类型。 您可以选择以下连接类型:

Insecure 连接类型是最简单的选项,适合测试使用,但不建议用于生产环境。

参数 默认值 说明
type insecure 连接类型。

配置文件中的 connection 配置小节将如下所示:

1
2
3
    "connection": {
      "type": "insecure"
    }

下表描述了配置 TLS 连接的参数。

参数 默认值 说明
key /etc/thingsboard-gateway/privateKey.pem 私钥文件路径。
cert /etc/thingsboard-gateway/certificate.pem 证书文件路径。
password YOUR_PASSWORD 可选 TLS 连接密码

配置文件中的 connection 配置小节将如下所示:

1
2
3
4
5
    "connection": {
      "type": "tls",
      "key": "/etc/thingsboard-gateway/privateKey.pem",
      "cert": "/etc/thingsboard-gateway/certificate.pem"
    }

安全子部分

安全子部分提供充电桩在中央系统上的授权配置。 您可以选择所需的安全类型:

Anonymous 连接类型是最简单的选项,适合测试使用,但不建议用于生产环境。

配置文件中的 security 配置小节将如下所示:

1
    "security": []

Basic 是一种安全配置方式。 授权时将使用本配置节中提供的 username/password 组合。

参数 默认值 说明
type basic 授权类型。
credentials   允许的凭据列表。
… username username 授权用户名。
… password password 授权密码。

配置文件中的 security 配置小节将如下所示:

1
2
3
4
5
6
7
8
9
    "security": [
      "type": "basic",
      "credentials": [
        {
          "username": "admin",
          "password": "admin"
        }
      ]
    ]

Token 是一种安全配置方式。 授权时将使用本配置节中提供的 token。

参数 默认值 说明
type token 授权类型。
tokens [“Bearer ACCESS_TOKEN”] 允许的 token 列表。

配置文件中的 security 配置小节将如下所示:

1
2
3
4
5
6
    "security": [
      "type": "token",
      "tokens": [
        "Bearer ACCESS_TOKEN"
      ]
    ]

注意您可以组合使用_basic_和_token_安全类型。配置文件中的安全子部分如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    "security": [
      {
        "type": "token",
        "tokens": [
          "Bearer ACCESS_TOKEN"
        ]
      },
      {
        "type": "basic",
        "credentials": [
          {
            "username": "admin",
            "password": "admin"
          }
        ]
      }
    ]

“chargePoints”部分

此子部分包含充电桩的通用设置以及数据处理子部分。

参数 默认值 描述
idRegexpPattern charge_points/CP_1 正则表达式,用于查找当前设备对应的充电桩。
deviceNameExpression ${Vendor} ${Model} 简单JSON表达式,用于从传入消息中查找设备名称(参数 “Vendor + Model” 将用作设备名称)。
deviceTypeExpression ${Model} 简单JSON表达式,用于从传入消息中查找设备类型(参数 “Model” 将用作设备类型)。
attributes   用于处理设备属性的对象数组。
timeseries   用于处理设备遥测数据的对象数组。
attributeUpdates   用于处理来自ThingsBoard的属性更新请求的对象数组。
serverSideRpc   用于处理来自ThingsBoard的RPC请求的对象数组。

该配置部分如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  "chargePoints": [
    {
      "idRegexpPattern": "charge_points/CP_1",
      "deviceNameExpression": "${Vendor} ${Model}",
      "deviceTypeExpression": "${Model}",
      "attributes": [
        ...
      ],
      "timeseries": [
        ...
      ],
      "attributeUpdates": [
        ...
      ],
      "serverSideRpc": [
        ...
      ]
    }
  ]

属性子部分

此子部分包含将数据解释为属性进行处理的通用设置。

参数 默认值 描述
attributes   此子部分包含传入消息的参数,这些参数将被解释为设备属性。
… messageTypeFilter MeterValues, 允许的消息类型列表,以逗号分隔。
… key temp 属性名称,将发送到ThingsBoard实例。
… value ${meter_value[:].sampled_value[:].value} 简单JSON表达式,用于从传入消息中查找值,然后将其作为key参数的值发送到ThingsBoard实例。

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

1
2
3
4
5
6
7
8
9
10
11
12
      "attributes": [
        {
          "messageTypeFilter": "MeterValues,",
          "key": "temp",
          "value": "${meter_value[:].sampled_value[:].value}"
        },
        {
          "messageTypeFilter": "MeterValues,",
          "key": "vendorId",
          "value": "${connector_id}"
        }
      ]

时间序列子部分

此子部分包含将数据解释为时间序列进行处理的通用设置。

参数 默认值 描述
timeseries   此子部分包含传入消息的参数,这些参数将被解释为设备遥测数据。
… messageTypeFilter MeterValues, 允许的消息类型列表,以逗号分隔。
… key temp 遥测名称,将发送到ThingsBoard实例。
… value ${meter_value[:].sampled_value[:].value} 简单JSON表达式,用于从传入消息中查找值,然后将其作为key参数的值发送到ThingsBoard实例。

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

1
2
3
4
5
6
7
      "timeseries": [
        {
          "messageTypeFilter": "DataTransfer,",
          "key": "temp",
          "value": "${data.temp}"
        }
      ]

属性更新子部分

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

“attributeUpdates”配置允许您配置将发送到充电桩的对应属性数据的格式。

参数 默认值 描述
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主要功能相关的指南: