本指南将帮助您熟悉ThingsBoard IoT Gateway的OCPP连接器配置。 请使用通用配置启用此连接器。 该连接器的用途是使用OCPP协议在充电桩与中央系统之间通信。
下面将说明连接器配置文件。
连接器配置:ocpp.json
连接器配置是一个JSON文件,其中包含有关如何连接充电桩、处理数据以及其他服务功能的信息。让我们使用下面的示例来了解配置文件的格式。
OCPP连接器配置文件示例。
“centralSystem”部分
此配置部分用于将网关配置为中央系统。
| 参数 | 默认值 | 描述 |
|---|---|---|
| name | Central System | 中央系统名称。 |
| host | 127.0.0.1 | 中央系统主机名或IP地址。 |
| port | 9000 | 中央系统端口。 |
连接子部分
此配置子部分用于配置中央系统与充电桩之间的连接类型。 您可以选择以下连接类型:
Insecure 连接类型是最简单的选项,适合测试使用,但不建议用于生产环境。
配置文件中的 connection 配置小节将如下所示: |
下表描述了配置 TLS 连接的参数。
配置文件中的 connection 配置小节将如下所示: |
安全子部分
安全子部分提供充电桩在中央系统上的授权配置。 您可以选择所需的安全类型:
Anonymous 连接类型是最简单的选项,适合测试使用,但不建议用于生产环境。 配置文件中的 security 配置小节将如下所示: |
Basic 是一种安全配置方式。 授权时将使用本配置节中提供的 username/password 组合。
配置文件中的 security 配置小节将如下所示: |
Token 是一种安全配置方式。 授权时将使用本配置节中提供的 token。
配置文件中的 security 配置小节将如下所示: |
注意您可以组合使用_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主要功能相关的指南: