写点什么

使用 KEPServerEX 将不同的工业设备和应用程序从工厂车间连接到 AWS

  • 2019-09-25
  • 本文字数:5812 字

    阅读完需:约 19 分钟

使用 KEPServerEX 将不同的工业设备和应用程序从工厂车间连接到 AWS

在管理工业物联网 (IIoT) 数据时,收集这些数据并将其发送到云进行处理和高级分析(例如,预测质量或设备故障)可能具有挑战性。制造车间可能有许多不同的设备,每个设备都有自己的协议。在这篇博文中,我们将讨论客户如何通过在边缘使用 KepServerEX 进行工业协议转换来解决工业协议挑战、将 AWS IoT Greengrass 用于边缘处理以及使用 AWS IoT 将数据摄取到 AWS。在阅读完本文后,您应该能够掌握足够的知识来为实时工业数据创建安全可靠的流程,以便从车间到高级管理层的每个人都可以做出更明智的决策。


首先,我们将向您演示如何连接 KEPServerEX 与 AWS IoT Greengrass Core 并进行配置 。如果您的应用程序需要使用 AWS IoT Core 证书链连接到 AWS IoT Greengrass Core,则此信息非常有用。大多数应用程序不需要根 CA 来验证服务器 (AWS IoT Greengrass) 证书,但 KEPServerEX 要求它验证证书链。


AWS IoT Greengrass Core 软件提供以下功能:


  • 允许部署和执行使用 AWS Lambda 函数创建并通过部署 API 管理的本地应用程序。

  • 通过 MQTT 协议使用托管订阅方案,在安全网络上实现设备之间的本地消息传递。

  • 使用设备身份验证和授权确保设备与云之间的安全连接。

  • 提供对用户定义的 AWS Lambda 函数的安全、无线软件更新。

  • 使用 Greengrass ML Inference 部署针对在 AWS IoT Greengrass 上运行优化的机器学习模型。

先决条件

在本文中,我们建议您在同一 VPC 中的 EC2 实例上安装以下软件。


  • 在 Windows Amazon EC2 实例上从 Kepware 网站安装 KEPServerEX。要运行 Kepware IoT 网关,服务器需要一个可正常工作的 32 位 JRE。您可以从此处下载并安装当前的 JRE。

  • 按照 AWS IoT Greengrass 开发人员指南中的说明在 Linux 或 Rasberry Pi 上安装 AWS IoT Greengrass Core 软件:

  • 模块 1:AWS IoT Greengrass 的环境设置

  • 模块 2:安装 AWS IoT Greengrass 核心软件

  • KEPServerEX 支持 OPC UA 和 MQTT(库存实现)。我们使用 MQTT 消息与 AWS IoT Greengrass 进行通信。

  • 确保 KEPServerEX 和 AWS IoT Greengrass Core 软件在同一网络中运行。

  • 按照 AWS CLI 文档中的说明在您的个人计算机上安装 AWS CLI,然后使用您的 AWS 访问密钥和密钥对其进行配置。

架构图

入门

现在 AWS IoT Greengrass Core 软件应该已在网关上运行。如果您按照“开始使用”模块中的步骤操作,则还应该配置具有一个核心设备(例如 MyFirstGroup_Core)的 Greengrass 组(例如 MyFirstGroup)。核心设备应该能够与 AWS IoT Core 通信。


在这些过程中创建的资源应在同一 AWS 区域中创建。


  1. 打开 AWS IoT 控制台并选择 Greengrass,组,MyFirstGroup,然后选择核心,您应该能够看到您的核心设备:

  2. 选择您的核心设备,然后在左侧窗格中选择连接。记下终端节点地址和端口。

在 AWS IoT Greengrass 组中创建 AWS IoT 设备

现在我们将 KEPServerEx 设备添加到 AWS IoT Greengrass 组中。


  1. 在 AWS IoT 控制台中,选择 Greengrass,选择组,然后选择您的组以打开其配置页。接下来,选择设备,然后选择添加您的第一台设备(或添加设备)。

  2. 选择创建新设备。

  3. 要为此设备创建注册表项,请在名称中输入 KepServer,然后选择下一步。

  4. 在设置安全性页面上,选择使用默认值以使用 1-Click 选项。此选项使用 AWS IoT 根 CA 生成所需的密钥和证书,并使用默认权限创建默认策略和 IAM 角色。

  5. 在下载安全凭证页面上,将设备的证书下载到 kepserver_certificates 文件夹中,然后解压缩。请注意,在整个过程中您仅能够在该步骤下载密钥(因此请确保您在此处下载密钥,否则您必须创建新的 AWS IoT 设备)。选择完成。

  6. KepServer 现在应该会出现在 Greengrass 组的 Devices 列表中。

配置订阅

现在我们让 KEPServerEx 设备可以将消息发送到 AWS IoT 云。


  1. 在组配置页面上,选择订阅,然后选择添加订阅。


  • 对于选择源,请选择选择,设备,然后选择 KepServer。

  • 对于选择目标,选择选择,服务,然后选择 IoT Cloud。然后选择下一步。

  • 对于可选主题筛选器,输入 iotgateway,选择下一步,然后选择完成。


  1. 在组配置页面上,从操作菜单中,选择部署以将更新的组配置部署到 Greengrass 核心设备:

  2. 要确认部署成功,选择部署。您应该能够在接近启动部署的时间的状态列中看到已成功完成字样。

配置 KEPServer IoT 网关

复制先前下载和提取的设备证书。您可以使用 Microsoft 远程桌面连接软件的本地文件共享功能。


现在我们配置 MQTT 代理和 IoT 网关以将 Kepware 连接到 Greengrass 核心设备。

配置 IoT 网关

  1. 要访问 IoT 网关系统设置,请右键单击系统托盘中的“管理”图标,然后选择设置。选择 IoT Gateway 选项卡。

  2. 要配置 MQTT 代理,请选择管理证书。

  3. 在 MQTT 代理证书上,选择导入新证书。

  4. 浏览到您的 kepserver_certificates 文件夹,选择

  5. kepserverID.cert.pem 文件和 kepserverID.private.key。

  6. 如果系统提示您输入密码,请将其留空,然后选择确定。

  7. 验证公用名是 AWS IoT 证书,然后选择关闭。

检索 AWS IoT Greengrass Core 证书颁发机构 (CA)

要为 Greengrass 组检索 CA,请在终端中键入以下命令:


aws greengrass list-groups
复制代码


查找 MyFirstGroup,并复制 ID(此处称为 group-id)。


aws greengrass list-group-certificate-authorities --group-id [your_group_id]aws greengrass get-group-certificate-authority --certificate-authority-id [the_cert_auth_id_returned_above] --group-id [your_group_id] | awk -v beg='-----BEGIN CERTIFICATE-----' -v end='-----END CERTIFICATE-----' 'sub(".*"beg,beg){f=1} f; sub(end".*",end){exit}' | awk '{gsub(/\\n/,"\n")}1' | sed '$d' > greengrassgroupCA.pem
复制代码


输出为:


{"GroupCertificateAuthorityArn": "arn:aws:greengrass:[AWSregion]:[accountID]:/greengrass/groups/[group-id]/certificateauthorities/[certificate-authority-id]","GroupCertificateAuthorityId": "[certificate-authority-id]","PemEncodedCertificate": "-----BEGIN CERTIFICATE-----\nMIIEFTCCAv2gAwIBAgIVAJq6/DGtiKHvt96VZSPDRe/UCbRyMA0GCSqGSIb3DQEB\nCwUAMIGoMQswCQYDVQQGEwJVUzEYMBYGA1UECgwPQW1hem9uLmNvbSBJbmMuMRww\nGgYDVQQLDBNBbWF6b24gV2ViIFNlcnZpY2VzMRMwEQYDVQQIDApXYXNoaW5ndG9u\nMRAwDgYDVQQHDAdTZWF0dGxlMTowOAYDVQQDDDE3NTM0NTE0NTIwMTI6NDVjODhk\nZGYtOTE4MC00OGFmLWI2NzAtZDRmN2Q2ODQ4NzBhMCAXDTE4MTAyODAzMjU1MFoY\nDzIwOTgxMDI4MDMyNTQ5WjCBqDELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD0FtYXpv\nbi5jb20gSW5jLjEcMBoGA1UECwwTQW1hem9uIFdlYiBTZXJ2aWNlczETMBEGA1UE\nCAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTE6MDgGA1UEAwwxNzUzNDUx\nNDUyMDEyOjQ1Yzg4ZGRmLTkxODAtNDhhZi1iNjcwLWQ0ZjdkNjg0ODcwYTCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJtpEpUd4UQNf8w401nwuOxy0U7H\nCIMXidsMQMUz7reKCkNd36RYi/fk3L8I0HjJQV4FeqSEgrn0R0+5/tTUsnLKWL2v\nhD1uoeYokQ093hOKXJ8sdZQX6+1C+5Cg2rzw5Z+yloebiaRuJ/1kBYBL48rhQOuj\nl/A9/hqRnK8MTratjFvvgLwens1LEFuEFECqgrAo8WcxyJH5mn2FpIi6+k1MY0Cu\njnASU44HbsGcWPEXf3wYCVJkXJdGJpDMT0HSIVY6t1ssDGqYv0N05Ho9jRU57qgc\nAfsWCVMf48ENwrcgJpV100R7t05vl8fBGR4Aw5fX89YPmm2fLSOII/wO3h8CAwEA\nAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUh1qliQIyct02aaLJDTTq\n0iaEOy4wDQYJKoZIhvcNAQELBQADggEBACPQruUOeGr+O/ulUc2TjX3gHxK58JhJ\n9P0SMKW/Gm/mRFQQsRG/fkvLl2ypmBfyxCYcJjXAYyKuu94HaB0+qmwastdbeLCI\niD8ytR66SoREKPtIKXHCczNIy5x7HLwfnmD97Vmr+WsDUp9jA/xAGmNE8vKuTil8\nzYh0KssxU0QpifzjqnEmaqjvIJQLWj9dP8AZGyv5UPT4fcG5VvNnBG6nTEaEIOzR\nSlzP0MPF88RfArVKV4MYLT/bfGIGF9m0JmOYIPkO1zuoEjEmag+IEAA2xCgubbEn\nkDOxT1ZC906HZsYP3krOf216BW9PBeF82S/S0XYDp+9+TvWpz2wcNv8=\n-----END CERTIFICATE-----\n"}
复制代码


复制 PemEncodedCertificate 值并将其粘贴到文本编辑器中。编辑内容,用回车符 (Enter) 替换任何换行符 (\n)。


您的文件应具有以下模板:


-----BEGIN CERTIFICATE-----MIIEFTCCAv2gAwIBAgIVAJq6/DGtiKHvt96VZSPDRe/UCbRyMA0GCSqGSIb3DQEBCwUAMIGoMQswCQYDVQQGEwJVUzEYMBYGA1UECgwPQW1hem9uLmNvbSBJbmMuMRwwGgYDVQQLDBNBbWF6b24gV2ViIFNlcnZpY2VzMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdTZWF0dGxlMTowOAYDVQQDDDE3NTM0NTE0NTIwMTI6NDVjODhkZGYtOTE4MC00OGFmLWI2NzAtZDRmN2Q2ODQ4NzBhMCAXDTE4MTAyODAzMjU1MFoYDzIwOTgxMDI4MDMyNTQ5WjCBqDELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD0FtYXpvbi5jb20gSW5jLjEcMBoGA1UECwwTQW1hem9uIFdlYiBTZXJ2aWNlczETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTE6MDgGA1UEAwwxNzUzNDUxNDUyMDEyOjQ1Yzg4ZGRmLTkxODAtNDhhZi1iNjcwLWQ0ZjdkNjg0ODcwYTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJtpEpUd4UQNf8w401nwuOxy0U7HCIMXidsMQMUz7reKCkNd36RYi/fk3L8I0HjJQV4FeqSEgrn0R0+5/tTUsnLKWL2vhD1uoeYokQ093hOKXJ8sdZQX6+1C+5Cg2rzw5Z+yloebiaRuJ/1kBYBL48rhQOujl/A9/hqRnK8MTratjFvvgLwens1LEFuEFECqgrAo8WcxyJH5mn2FpIi6+k1MY0CujnASU44HbsGcWPEXf3wYCVJkXJdGJpDMT0HSIVY6t1ssDGqYv0N05Ho9jRU57qgcAfsWCVMf48ENwrcgJpV100R7t05vl8fBGR4Aw5fX89YPmm2fLSOII/wO3h8CAwEAAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUh1qliQIyct02aaLJDTTq0iaEOy4wDQYJKoZIhvcNAQELBQADggEBACPQruUOeGr+O/ulUc2TjX3gHxK58JhJ9P0SMKW/Gm/mRFQQsRG/fkvLl2ypmBfyxCYcJjXAYyKuu94HaB0+qmwastdbeLCIiD8ytR66SoREKPtIKXHCczNIy5x7HLwfnmD97Vmr+WsDUp9jA/xAGmNE8vKuTil8zYh0KssxU0QpifzjqnEmaqjvIJQLWj9dP8AZGyv5UPT4fcG5VvNnBG6nTEaEIOzRSlzP0MPF88RfArVKV4MYLT/bfGIGF9m0JmOYIPkO1zuoEjEmag+IEAA2xCgubbEnkDOxT1ZC906HZsYP3krOf216BW9PBeF82S/S0XYDp+9+TvWpz2wcNv8=-----END CERTIFICATE-----
复制代码


将文件另存为 greengrassgroupCA.pem。

将 AWS IoT Greengrass Core 证书颁发机构 (CA) 添加到 Windows

  1. 从 Windows 开始菜单中,打开运行。

  2. 键入 mmc,然后选择确定。

  3. 在控制台窗口中,从文件菜单中选择添加/删除管理单元。

  4. 选择证书,然后选择添加。选择计算机帐户,然后选择下一步。

  5. 选择完成,然后选择确定。

  6. 展开证书,受信任的根证书颁发机构,然后选择证书。

  7. 在右侧菜单中,选择证书,选择更多操作,所有任务,然后选择导入。

  8. 在导入向导页面上,选择下一步。浏览您的本地文件夹或保存 greengrassgroupCA.pem 文件的共享文件夹,然后选择打开。

  9. 注意:如果看不到该文件,请在文件名中输入通配符*并选择打开以查看扩展名为 *.pem 的所有文件。

  10. 选择下一步,然后选择完成。这时,您应该能名看到一条确认证书已成功导入的消息。如果系统提示您保存模板,请关闭控制台窗口并选择否。

配置代理

必须至少为一个代理配置一个活动标签才能启动网关服务。在 IoT Gateway 部分中配置代理和标签。


  1. 在 IoT Gateway 下,选择添加代理。


  • 使用以下参数配置代理:


  • 名称:Kepserver

  • 类型:MQTT 客户端,选择下一步。


  • 使用先前保存的连接参数,使用以下参数配置 MQTT 客户端代理:


  • URL:ssl://Greengrass_Core IPAddress:8883

  • 主题:iotgateway

  • QOS:0(最多一次),将其他参数保持为默认值,然后选择下一步。


  • 按如下方式配置 MQTT 客户端安全性:


  • 客户端 ID:KepServer

  • 用户名:<留空>

  • 密码:<留空>,客户端 ID 必须与 AWS IoT 控制台中的设备名称相匹配。选择完成。


  • 右键单击刚刚创建的 KEPServer 代理,然后选择属性。


  • 转到安全性,然后修改 TLS 配置,以便 KEPServer 客户端发送其证书:

  • 客户端证书:启用


  • 转到消息,然后自定义默认模板,如下所示:


  • 消息格式:高级模板

  • 模板:


{"timestamp": |SERVERTIMESTAMP|,"values": Hello IoT Cloud}
复制代码


选择确定。


您的 MQTT 代理配置应如下所示:



  • 选择 KEPServer 代理,然后选择添加 IoT 项:


  • 选择 IoT_Gateway_ / Kepserver 分支,然后选择 _PublishesSent 标签。选择应用。

  • 在发布下,选择每次扫描。

将 KEPServer 连接到 Greengrass 核心

KEPServerEX 和 Greengrass 组现在都已配置完成。在这个步骤中,我们验证来自 KEPServer 的连接是否成功,然后订阅 AWS IoT Core 中的主题。


验证连接是否成功


在 KEPServer 中:


  • 从运行时菜单中,选择重新初始化。

  • 在事件日志窗口中,您应该能够看到一条确认 MQTT 代理程序 KEPServer 已连接到 Greengrass 核心设备的消息:



如果事件日志窗口中出现以下错误之一:


  • 'Software caused connection abort: recv failed'.

  • 检查您是否在安全选项中启用了客户端证书选项,并查看 AWS IoT Greengrass 日志以解决连接问题。

  • 您还可以启用 Amazon CloudWatch logs 并查看。

  • 'unable to find valid certification path to requested target'

  • 检查 Greengrass Core 证书颁发机构 (CA) 是否已添加到 Windows 证书存储区。

测试主题订阅

要测试主题订阅,请在 AWS IoT 控制台的左侧窗格中,选择测试。


  • 选择订阅主题,在订阅主题中,输入iotgateway,然后选择订阅主题。

  • 您应该能够看到 KEPServer 发布的消息:


总结

在本文中,我们研究了如何连接 KEPServerEX 与 AWS IoT Greengrass Core 并进行配置 。我们安装了 AWS IoT Core 证书链,以允许这些服务相互通信。


我们现在能够处理 AWS 环境中不同工业设备的物联网消息。

小结和其他资源

通过本文中的步骤,您可以从可编程逻辑控制器 (PLC)、SCADA 系统、工厂历史记录和其他制造系统中收集工业数据,并在几个小时内安全、高效且具成本效益地让数据进入 AWS。在工业数据摄取到 AWS 后,可用于各种智能制造用例,包括构建用于预测性维护的机器学习模型。自己来看吧。立即开始将工厂资产和应用程序从工厂车间连接到 AWS。


相关文章:



本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/connecting-disparate-industrial-devices-and-applications-from-the-plant-floor-to-aws-using-kepserverex/


2019-09-25 15:521961
用户头像

发布了 1923 篇内容, 共 153.1 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

盘点导致sql执行速度慢的几种情况,都是生产环境踩过的坑

程序员拾山

MySQL

Apifox 自动化测试新增流程控制条件,复杂测试场景不再是问题!

Apifox

测试 测试工具 程序员‘ 测试管理工具

StarRocks技术内幕 | 资源隔离原理解析

StarRocks

数据库 开源 资源隔离

促进关键软件高层次人才培养:平凯星辰与华东师范大学签订联合博士培养合作协议

PingCAP

教育

提速还能不掉点!深度解析 MegEngine 4 bits 量化开源实现

MegEngineBot

深度学习 开源 MegEngine CUDA int4

实现订单到期未支付自动关闭不会写?这6种方案任你挑选

程序员拾山

Java 技术方案 关闭订单

业务流程将因生成式AI变革,ChatGPT引领的AIGC正在改变组织运营

王吉伟频道

人工智能 业务流程优化 AIGC ChatGPT 生成式AI

GPT发展史

鼎道智联

openai

java技术培训机构哪里好

小谷哥

GaussDB(DWS)迁移:一种执行高效的TereData的marco迁移方案

华为云开发者联盟

数据库 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

led显示屏升级这些技术才能更节能

Dylan

广告 LED LED显示屏

提高IT运维效率,深度解读京东云AIOps落地实践(异常检测篇(二))

京东科技开发者

人工智能 运维 AIOPS 时间序列 企业号 2 月 PK 榜

flutter系列之:使用SliverList和SliverGird

程序那些事

flutter 架构 大前端 程序那些事

低代码开发平台 让数据应用不再复杂

力软低代码开发平台

【漏洞真实影响分析】Apache Kafka Connect 模块JNDI注入(CVE-2023-25194)

墨菲安全

SCA 代码安全检测 软件供应安全

你知道2023年堡垒机报价是多少吗?谁能回答!

行云管家

网络安全 等保 堡垒机 等级保护

直播预告 | 对谈谷歌云 DORA 布道师:聊聊最关键的四个 DevOps 表现指标

思码逸研发效能

DevOps

前端培训机构怎么选择

小谷哥

MASA Stack 1.0 发布会讲稿——生态篇

MASA技术团队

.net 开源 MASA MASA Stack

在中国程序员工作是青春饭吗?

小小怪下士

Java 程序员 面试

DAPP智能合约开发链上技术

薇電13242772558

智能合约

一图读懂 | 2023年中国产业数字化十大趋势

易观分析

数字经济 产业数字化

前端开发如何选择培训机构

小谷哥

无锡正规等级测评公司有几家?分别叫什么?

行云管家

等保 堡垒机 网路安全 等级保护 无锡

ToB软件遇上ChatGPT,没有天翻地覆

ToB行业头条

新思科技点拨DevSecOps安全“左移”的9大要点

InfoQ_434670063458

DevSecOps 软件安全 安全左移

2023年中国数字化活动行业专题报告

易观分析

数字经济 产业数字化

MQTT X 1.9.1发布:资源消耗降低80%,稳定性大幅提升

EMQ映云科技

物联网 IoT mqtt 版本发布 企业号 2 月 PK 榜

​网易游戏实时 HTAP 计费风控平台建设

PingCAP

TiDB

线下java培训机构哪个比较好

小谷哥

前端培训机构哪家比较适合学习

小谷哥

使用 KEPServerEX 将不同的工业设备和应用程序从工厂车间连接到 AWS_文化 & 方法_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章