本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Edge 中 SiteWise 设置 OPC UA 来源
您可以使用 AWS IoT SiteWise 控制台或 SiteWise Edge 网关功能来定义并向边缘网关添加 OPC UA 源,以表示本地 OPC UA 服务器。 SiteWise
配置 OPC UA 源(控制台)
您可以使用控制台按照以下步骤配置 OPC UA 源。
注意
警告:重复 TQVs 可能会导致双重充电。
使用控制台配置 OPC UA 源 AWS IoT SiteWise
-
导航至 AWS IoT SiteWise 控制台
。 -
在左侧导航栏中,选择 Edge 部分的 Edge 网关。
-
选择边 SiteWise 缘网关以添加 OPC UA 源。
-
选择添加数据来源。
-
输入源名称。
-
输入数据源服务器的 本地终端节点。端点可以是 IP 地址或主机名。您也可以向本地端点添加端口号。例如,您的本地端点可能类似于
opc.tcp://203.0.113.0:49320。 -
(可选)对于可供选择的节点 ID,请添加节点筛选器以限制将哪些数据流摄取到 AWS 云。默认情况下, SiteWise Edge 网关使用服务器的根节点来摄取所有数据流。您可以使用节点筛选器通过仅包含您建模的数据的路径来减少 SiteWise Edge 网关的启动时间和 CPU 使用率 AWS IoT SiteWise。默认情况下, SiteWise 边缘网关会上传除以开头的路径之外的所有 OPC UA 路径。
/Server/要定义 OPC UA 节点筛选条件,您可以使用节点路径以及*和**通配符。有关更多信息,请参阅 在 SiteWise Edge 中使用 OPC UA 节点过滤器。 -
启用 MQTT 的 V3 网关和经典直播 V2 网关之间的@@ 目的地各不相同。
-
Classic Steam、V2 网关目的地与源有 1:1 的关系。每个源都将数据发送到特定的目的地。
-
支持 MQTT 的 V3 网关目的地是单独设置的,因为中心和分支模型允许您集中配置和管理跨不同网关的多个数据源。要在 V3 网关中设置目的地,请参阅了解 AWS IoT SiteWise 边缘目的地。
-
-
在高级配置窗格中,您可以执行以下操作:
-
为源服务器和 SiteWise Edge 网关之间传输的连接和数据选择消息安全模式。此字段是 OPC UA 安全策略和消息安全模式的组合。选择与您为 OPC UA 服务器指定的相同的安全策略和消息安全模式。
-
如果您的来源需要身份验证,请从身份验证配置列表中选择一个 AWS Secrets Manager 密钥。 SiteWise Edge 网关在连接到此数据源时使用此密钥中的身份验证凭据。您必须将密钥附加到 SiteWise Edge 网关的 AWS IoT Greengrass 组件,才能将其用于数据源身份验证。有关更多信息,请参阅 为 SiteWise Edge 配置数据源身份验证。
提示
您的数据服务器可能有一个名为 允许匿名登录 的选项。如果此选项为 是,则说明您的源不需要身份验证。
-
(可选)您可以通过选择激活数据流前缀 - 可选来激活数据流前缀。
-
(可选)输入数据流前缀。 SiteWise Edge 网关将此前缀添加到来自该源的所有数据流。使用数据流前缀,可以区分来自不同源的同名数据流。在您的账户中,每个数据流都应具有唯一的名称。
-
-
(可选)选择数据类型转换选项,将不支持的 OPC UA 数据类型转换为字符串,然后再将其摄取到 AWS IoT SiteWise中。将具有简单数据类型的数组值转换为 JSON 字符串,将 DateTime 数据类型转换为 ISO 8601 字符串。有关更多信息,请参阅 转换不支持的数据类型。
-
为不包含在用户定义的属性组中的节点选择默认数据更改触发器。默认的数据更改触发器决定 OPC UA 服务器何时向网关发送更新的值。您可以选择以下选项之一:
-
状态-仅在状态发生变化时接收数据。
-
StatusValue— 用于在状态或值发生变化时接收数据。
-
StatusValueTimestamp— 用于在状态、值或时间戳发生变化时接收数据。
-
-
(可选)在支持 MQTT 的 V3 网关上,您可以使用发现配置来配置 OPC UA 节点发现过程。Discovery 配置将这些选项的先前配置覆盖文件系统替换为基于控制台的设置,这些设置无需重新启动网关即可动态更新。
注意
默认数据更改触发器需要 IoT SiteWise OPC UA 收集器组件的 3.1.0 或更高版本。有关更多信息,请参阅 更新 AWS IoT SiteWise 组件的版本。
-
对于最大并发浏览请求数,请输入您的 OPC UA 服务器可以同时处理的最大浏览请求数。每个数据源最多可以配置 500 个并发浏览请求。
-
对于每次浏览请求的最大节点数,请输入每次浏览请求中发送到 OPC UA 服务器的最大节点数。每个浏览请求最多可以发送 1,000 个节点。
-
选择 “避免节点树循环”,以防止网关在浏览 OPC UA 服务器的结构时陷入循环引用中。选中后,网关会跟踪访问过的位置,以避免服务器节点以圆形模式相互引用时可能出现的无限循环。
-
选择 “启用节点遍历”,允许网关浏览 OPC UA 服务器的完整结构,发现设备和设备中的所有可用数据点。选中后,网关将在根级别之外的设备数据组织中导航,以自动查找所有传感器、控件和测量点。
-
选择 “启用定期发现” 可定期自动运行发现操作,以检测 OPC UA 服务器结构的变化。选中后,网关会持续监控新添加的设备或数据点,确保它们被自动检测并可供数据收集。
-
对于定期发现间隔,请设置运行定期发现时自动发现操作之间的时间间隔。最小周期性发现间隔为 30 秒,最长为 30 天。
-
对于每间隔发现的最大节点数,请设置每个发现间隔应发现的最大节点数。这有助于控制发现操作期间网关和 OPC UA 服务器的负载。
-
-
-
(可选)对于属性组,选择添加新组。
-
为属性组输入名称。
-
对于属性:
-
对于节点路径,添加 OPC UA 节点筛选条件以限制上传到 AWS IoT SiteWise的 OPC UA 路径。其格式类似于要选择的节点 ID。
-
-
对于 组设置,请执行以下操作:
-
在数据质量设置中,选择您希望 C AWS IoT SiteWise ollector 采集的数据质量类型。
-
对于扫描模式设置,请使用扫描模式配置标准订阅属性。您可以选择订阅或轮询。有关扫描模式的更多信息,请参阅 使用 OPC UA 筛选数据摄取范围。
-
-
-
-
选择保存。
配置 OPC UA 来源 ()AWS CLI
您可以使用为 SiteWise Edge 网关定义 OPC UA 数据源。 AWS CLI为此,请创建一个 OPC UA 功能配置 JSON 文件,然后使用 update-gateway-capability-configuration
请求正文
sources-
OPC UA 源定义结构的列表,每个结构均包含以下信息:
name-
源的唯一友好名称。
endpoint-
一个包含以下信息的终端节点结构:
certificateTrust-
一个包含以下信息的证书信任策略结构:
type-
源的证书信任模式。选择下列选项之一:
-
TrustAny— 边 SiteWise 缘网关在连接到 OPC UA 源时信任任何证书。 -
X509— 边 SiteWise 缘网关在连接到 OPC UA 源时信任 X.509 证书。如果选择此选项,则必须在certificateTrust中定义certificateBody。也可以在certificateTrust中定义certificateChain。
-
certificateBody-
(可选)X.509 证书的正文。
如果您在
certificateTrust中为type选择X509,则此字段为必填字段。 certificateChain-
(可选)X.509 证书的信任链。
仅当您在
certificateTrust中为type选择X509时使用此字段。
endpointUri-
OPC UA 源的本地端点。例如,您的本地终端节点可能类似于
opc.tcp://203.0.113.0:49320。 securityPolicy-
要使用的安全策略,可保护从 OPC UA 源读取的消息。选择下列选项之一:
-
NONE— 边 SiteWise 缘网关不保护来自 OPC UA 来源的消息。建议您选择不同的安全策略。如果选择此选项,则还必须为messageSecurityMode选择NONE。 -
BASIC256_SHA256—Basic256Sha256安全政策。 -
AES128_SHA256_RSAOAEP—Aes128_Sha256_RsaOaep安全政策。 -
AES256_SHA256_RSAPSS—Aes256_Sha256_RsaPss安全政策。 -
BASIC128_RSA15—(已弃用)OPC UA 规范中已弃用Basic128Rsa15安全策略,因为它被视为不再安全。建议您选择不同的安全策略。有关更多信息,请参阅配置文件 SecurityPolicy — Basic128Rsa15。 -
BASIC256—(已弃用)OPC UA 规范中已弃用Basic256安全策略,因为它被视为不再安全。建议您选择不同的安全策略。有关更多信息,请参阅 SecurityPolicy — Basic256。
重要
如果您选择除
NONE外的其他安全策略,则messageSecurityMode必须选择SIGN或SIGN_AND_ENCRYPT。您还必须将源服务器配置为信任 SiteWise Edge 网关。有关更多信息,请参阅 将 OPC UA 服务器设置为信任 AWS IoT SiteWise Edge 网关。 -
messageSecurityMode-
用于保护与 OPC UA 源的连接的消息安全模式。选择下列选项之一:
-
NONE— 边 SiteWise 缘网关无法保护与 OPC UA 源的连接。建议您选择不同的消息安全模式。如果选择此选项,则还必须为securityPolicy选择NONE。 -
SIGN— 在 SiteWise Edge 网关和 OPC UA 源之间传输的数据已签名,但未加密。 -
SIGN_AND_ENCRYPT— 对网关和 OPC UA 源之间的传输中数据进行签名和加密。
重要
如果您选择除
NONE外的消息安全模式,则必须选择除NONE外的securityPolicy。您还必须将源服务器配置为信任 SiteWise Edge 网关。有关更多信息,请参阅 将 OPC UA 服务器设置为信任 AWS IoT SiteWise Edge 网关。 -
identityProvider-
一个包含以下信息的身份提供程序结构:
type-
源所需的身份验证凭证的类型。选择下列选项之一:
-
Anonymous— 源不需要身份验证即可连接。 -
Username— 源需要用户名和密码才能连接。如果选择此选项,则必须在identityProvider中定义usernameSecretArn。
-
usernameSecretArn-
(可选)密钥的 ARN。 AWS Secrets Manager SiteWise Edge 网关在连接到此源时使用此密钥中的身份验证凭证。您必须将密钥附加到 SiteWise Edge 网关的 IoT SiteWise 连接器,才能将其用于源身份验证。有关更多信息,请参阅 为 SiteWise Edge 配置数据源身份验证。
如果您在
identityProvider中为type选择Username,则此字段为必填字段。
nodeFilterRules-
定义要发送到 AWS 云端的 OPC UA 数据流路径的节点筛选规则结构列表。您可以使用节点筛选器通过仅包含您建模的数据的路径来减少 SiteWise Edge 网关的启动时间和 CPU 使用率 AWS IoT SiteWise。默认情况下, SiteWise 边缘网关会上传除以开头的路径之外的所有 OPC UA 路径。
/Server/要定义 OPC UA 节点筛选条件,您可以使用节点路径以及*和**通配符。有关更多信息,请参阅 在 SiteWise Edge 中使用 OPC UA 节点过滤器。此列表中的每个结构都必须包含以下信息:
action-
此节点筛选器规则的操作。可以选择以下选项:
-
INCLUDE— SiteWise Edge 网关仅包含符合此规则的数据流。
-
definition-
一个包含以下信息的节点筛选器规则结构:
type-
此规则的节点筛选器路径的类型。可以选择以下选项:
-
OpcUaRootPath— SiteWise Edge 网关根据 OPC UA 路径层次结构的根目录评估此节点筛选路径。
-
rootPath-
根据 OPC UA 路径层次结构的根进行评估的节点筛选条件路径。此路径必须以
/开头。
measurementDataStreamPrefix-
要在源中所有数据流的前面加上的字符串。 SiteWise Edge 网关将此前缀添加到来自该源的所有数据流。使用数据流前缀,可以区分来自不同源的同名数据流。在您的账户中,每个数据流都应具有唯一的名称。
typeConversions-
不支持的 OPC UA 数据类型可用的转换类型。每种数据类型都转换为字符串。有关更多信息,请参阅 转换不支持的数据类型。
array-
转换为字符串的简单数组数据类型。可以选择以下选项:
-
JsonArray— 表示您选择将简单数组数据类型转换为字符串。
-
datetime-
转换为字符串 DateTime 的数据类型。可以选择以下选项:
-
ISO8601String— 表示您选择将 ISO 8601 数据类型转换为字符串。
-
destination-
OPC UA 标签目标的配置。支持 v2 和 MQTT 的 Classic Stream、V3 网关对目的地的配置不同。
type-
目标的类型。
streamName— 仅适用于经典直播、V2 网关-
流的名称。流名称应该唯一。
streamBufferSize— 仅适用于经典直播、V2 网关-
流的缓冲区大小。这对于管理来自 OPC UA 源的数据流非常重要。
defaultPropertyGroupConfig— 支持 MQTT,仅限 V3 网关-
(可选)默认属性组的配置。默认属性组包含所有未包含在用户定义的属性组中的节点。
dataChangeTrigger-
要在默认属性组中使用的默认数据更改触发器。有效值为
STATUS_VALUE_TIMESTAMP、STATUS_VALUE或STATUS。
注意
defaultPropertyGroupConfig需要物联网 SiteWise OPC UA 收集器组件的 3.1.0 或更高版本。有关更多信息,请参阅 更新 AWS IoT SiteWise 组件的版本。 discoveryConfig— 支持 MQTT,仅限 V3 网关-
(可选)OPC UA 节点发现过程的配置。
enableNodeTraversal-
指定是否继续遍历由数据源的节点筛选器定义的根节点的子节点。设置为时
false,发现将在根节点停止。 avoidNodeTreeLoops-
指定是否在 OPC UA 节点浏览过程中避免无限循环。设置为时
true,网关会跟踪访问过的节点以防止循环引用。 maxConcurrentBrowseRequests-
您的 OPC UA 服务器可以同时处理的最大并发浏览请求数。有效范围为 1 到 500。
maxNodesPerBrowseRequest-
每次浏览请求中向 OPC UA 服务器发送的最大节点数。有效范围为 1 到 1,000。
periodicDiscovery-
以固定间隔定期运行发现的配置。提供此配置后,将启用定期发现。
interval-
定期发现操作之间的时间间隔。你可以使用几
m分钟、h几小时和几d天。例如,90m或1h。最小间隔为 30 秒。 maxNodesDiscoveredPerInterval-
每个发现间隔应发现的最大节点数。这有助于控制网关和 OPC UA 服务器上的负载。
注意
periodicDiscovery需要物联网 SiteWise OPC UA 收集器组件的 3.1.0 或更高版本。有关更多信息,请参阅 更新 AWS IoT SiteWise 组件的版本。注意
如果发现无限循环,请启用
avoidNodeTreeLoops。在aws.iot.SiteWiseOpcUaCollector组件下的 CloudWatch 日志中监控发现进度。 propertyGroups-
(可选)定义协议要求的
deadband和scanMode的属性组列表。name-
属性组的名称。这应该是一个唯一的标识符。
deadband-
deadband值定义了在将数据发送到云端之前数据点的值必须发生的最小变化。它包含以下信息:type-
支持的死区类型。可以选择以下选项:
-
ABSOLUTE— 一个固定值,它指定了将数据点视为足够重要以发送到云端所需的最小绝对变化。 -
PERCENT— 一个动态值,它以占上次发送的数据点值的百分比形式指定所需的最小变化。当数据值随时间变化显著时,这种类型的死区非常有用。
-
value-
死区值。如果
type是ABSOLUTE,则此值为无单位的双精度。如果type是PERCENT,则此值是1和100之间的双精度。 eguMin-
(可选)使用
PERCENT死区时的工程单位最小值。如果 OPC UA 服务器未配置工程单元,则可以设置此项。 eguMax-
(可选)使用
PERCENT死区时的工程单位最大值。如果 OPC UA 服务器未配置工程单元,则可以设置此项。 timeoutMilliseconds-
超时前的持续时间,以毫秒为单位。最少为
100。
scanMode-
scanMode结构包含以下信息:type-
支持的
scanMode类型。接受的值为:POLL和EXCEPTION。 rate-
扫描模式的采样间隔。
timestampToReturn-
时间戳的来源。可以选择以下选项:
-
SOURCE_TIME— 使用设备上的时间戳。 -
SERVER_TIME— 使用服务器上的时间戳。
注意
TimestampToReturn与 2.5.0 或更高版本的 IoT SiteWise OPC UA 收集器组件一起使用。如果您在早期版本中使用此功能,则配置更新会失败。有关更多信息,请参阅 更新 AWS IoT SiteWise 组件的版本。 -
nodeFilterRuleDefinitions-
(可选)包含在属性组中的节点路径列表。属性组不能重叠。如果您不为此字段指定值,则该组包含根目录下的所有路径,且您无法创建其他属性组。
nodeFilterRuleDefinitions结构包含以下信息:type-
OpcUaRootPath是唯一支持的类型。这指定rootPath值是相对于 OPC UA 浏览空间根目录的路径。 rootPath-
以逗号分隔的列表,用于指定要包含在属性组中的路径(相对于根路径)。
经典流、V2 网关的其他功能配置示例 ()AWS CLI
以下示例根据存储在 JSON 文件中的有效负载定义了 OPC UA SiteWise Edge 网关功能配置。
aws iotsitewise update-gateway-capability-configuration \ --capability-namespace "iotsitewise:opcuacollector:2" \ --capability-configuration file://opc-ua-configuration.json
例 :OPC UA 源配置
以下 opc-ua-configuration.json 文件定义了基本的、不安全的 OPC UA 源配置。
{ "sources": [ { "name": "Wind Farm #1", "endpoint": { "certificateTrust": { "type": "TrustAny" }, "endpointUri": "opc.tcp://203.0.113.0:49320", "securityPolicy": "NONE", "messageSecurityMode": "NONE", "identityProvider": { "type": "Anonymous" }, "nodeFilterRules": [] }, "measurementDataStreamPrefix": "" } ] }
例 :带有已定义属性组的 OPC UA 源配置
以下 opc-ua-configuration.json 文件定义了一个基本的、不安全的 OPC UA 源配置,其中包含已定义的属性组。
{ "sources": [ { "name": "source1", "endpoint": { "certificateTrust": { "type": "TrustAny" }, "endpointUri": "opc.tcp://10.0.0.9:49320", "securityPolicy": "NONE", "messageSecurityMode": "NONE", "identityProvider": { "type": "Anonymous" }, "nodeFilterRules": [ { "action": "INCLUDE", "definition": { "type": "OpcUaRootPath", "rootPath": "/Utilities/Tank" } } ] }, "measurementDataStreamPrefix": "propertyGroups", "propertyGroups": [ { "name": "Deadband_Abs_5", "nodeFilterRuleDefinitions": [ { "type": "OpcUaRootPath", "rootPath": "/Utilities/Tank/Temperature/TT-001" }, { "type": "OpcUaRootPath", "rootPath": "/Utilities/Tank/Temperature/TT-002" } ], "deadband": { "type":"ABSOLUTE", "value": 5.0, "timeoutMilliseconds": 120000 } }, { "name": "Polling_10s", "nodeFilterRuleDefinitions": [ { "type": "OpcUaRootPath", "rootPath": "/Utilities/Tank/Pressure/PT-001" } ], "scanMode": { "type": "POLL", "rate": 10000 } }, { "name": "Percent_Deadband_Timeout_90s", "nodeFilterRuleDefinitions": [ { "type": "OpcUaRootPath", "rootPath": "/Utilities/Tank/Flow/FT-*" } ], "deadband": { "type":"PERCENT", "value": 5.0, "eguMin": -100, "eguMax": 100, "timeoutMilliseconds": 90000 } } ] } ] }
例 :带属性的 OPC UA 源配置
针对 opc-ua-configuration.json 的以下 JSON 示例定义了具有以下属性的 OPC UA 源配置:
-
信任任何证书。
-
使用
BASIC256安全策略保护消息。 -
使用
SIGN_AND_ENCRYPT模式保护连接。 -
使用存储在 Secrets Manager 密钥中的身份验证凭证。
-
筛选出数据流(路径以
/WindFarm/2/WindTurbine/开头的数据流除外)。 -
在每个数据流路径的开头添加
/Washington以将此“Wind Farm #2”与另一个区域中的“Wind Farm #2”区分开来。
{ "sources": [ { "name": "Wind Farm #2", "endpoint": { "certificateTrust": { "type": "TrustAny" }, "endpointUri": "opc.tcp://203.0.113.1:49320", "securityPolicy": "BASIC256", "messageSecurityMode": "SIGN_AND_ENCRYPT", "identityProvider": { "type": "Username", "usernameSecretArn": "arn:aws:secretsmanager:region:123456789012:secret:greengrass-windfarm2-auth-1ABCDE" }, "nodeFilterRules": [ { "action": "INCLUDE", "definition": { "type": "OpcUaRootPath", "rootPath": "/WindFarm/2/WindTurbine/" } } ] }, "measurementDataStreamPrefix": "/Washington" } ] }
例 :具有证书信任的 OPC UA 源配置
针对 opc-ua-configuration.json 的以下 JSON 示例定义了具有以下属性的 OPC UA 源配置:
-
信任给定的 X.509 证书。
-
使用
BASIC256安全策略保护消息。 -
使用
SIGN_AND_ENCRYPT模式保护连接。
{ "sources": [ { "name": "Wind Farm #3", "endpoint": { "certificateTrust": { "type": "X509", "certificateBody": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----", "certificateChain": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----" }, "endpointUri": "opc.tcp://203.0.113.2:49320", "securityPolicy": "BASIC256", "messageSecurityMode": "SIGN_AND_ENCRYPT", "identityProvider": { "type": "Anonymous" }, "nodeFilterRules": [] }, "measurementDataStreamPrefix": "" } ] }