无法通过 LMQTT 库从 PLC 连接到 EMQX 代理

问题描述 投票:0回答:1

我需要通过 TLS 与 EMQX 代理建立 MQTT 通信,但是当我尝试连接到代理时,出现错误 16#8730 和诊断子功能 5。根据文档,错误在于未授权(不正确)密码或用户名),但我很确定我拥有正确的凭据。我安全地保护了项目,并添加了从 EMQX 下载的 CA 证书。

(EMQX证书(CA)我添加到证书管理器到证书颁发机构(CA)选项卡。后来我发现在MQTT示例中他们将证书添加到受信任证书和根证书选项卡。这会导致这个问题吗?)

信息:

PLC: S7-1200, firmware v4.5
LMQTT 4.0.2, TIA Portal v17.

在附图中,您可以看到我的LMQTT配置。

(我尝试设置keepAlive或willTopic,但还是不行。)

感谢您的帮助!

ssl mqtt plc siemens emqx
1个回答
0
投票

经过广泛调查,我发现PLC S7-1200不支持带有SNI的TLS。然而,大多数云无服务器代理,例如 HiveMQ 和 EMQX,都需要 SNI 支持。

解决方案是创建一个自定义代理(例如 Mosquitto)并设置没有 SNI 的 TLS。我已经使用静态 IP 在我的 Raspberry Pi 上成功设置了 Mosquitto,现在它可以完美运行。

© www.soinside.com 2019 - 2024. All rights reserved.