【问题标题】:How to connect downstream device using azure python sdk to azure edge enabled gateway如何使用 azure python sdk 将下游设备连接到启用 azure edge 的网关
【发布时间】:2018-08-23 14:53:43
【问题描述】:

我正在尝试创建一个 3 层架构,其中包含一个 azure IoT Hub、Edge Enable GateWay 和一个下游设备。 我已成功创建 IoT 中心和启用边缘的网关,并且能够使用自定义路由将数据发送到 Azure IoT 中心。 但是当我尝试使用连接字符串通过网关将我的下游设备连接到 IoT 中心时,我无法连接并将遥测数据发送到我的 IoT 中心。Error which I get is:-

我一直在关注以下文档:- https://docs.microsoft.com/en-us/azure/iot-edge/how-to-create-transparent-gateway-linux

【问题讨论】:

  • GateWay 是否在 Linux VM 中运行?如果是,可以参考这个topic。也许对你有帮助。
  • 是的,网关在 Linux VM 上运行。如果我使用主机的 IP 来检查证书,那么我的网关会验证主机设备,但是当我使用网关名称连接到网关时,我会收到上述错误。此外,当我在连接字符串中使用主机 IP 时,我无法将遥测数据发送到 azure IoT 中心。
  • 我做了同样的事情,但在使用 AMQP 和 python sdk (v1) 时遇到了问题。切换到 MQTT 为我解决了这个问题。

标签: azure azure-iot-hub azure-iot-sdk azure-iot-edge


【解决方案1】:

在 Linux 上,确保安装从您粘贴的链接生成的 CA 证书: 您可以通过运行以下命令进行安装: - sudo cp $CERTDIR/certs/azure-iot-test-only.root.ca.cert.pem /usr/local/share/ca-- - 证书/azure-iot-test-only.root.ca.cert.pem.crt - sudo update-ca-certificates

从您的日志来看,您似乎遇到了证书问题。

确保您已在设备上安装 CA 证书。

为了测试您的边缘是否良好,您可以使用 C# Device SDK 进行测试。 (请使用 AMQP 进行此测试,因为发现并修复了使用 MQTT 的错误,但尚未发布)。

如何在 iotedged(安全守护进程)上启用调试日志? -bash: sudo systemctl 编辑 iotedge.service -添加: [服务] 环境=IOTEDGE_LOG=edgelet=debug -重启安全守护进程: sudo systemctl cat iotedge.service sudo systemctl daemon-reload sudo systemctl 重启 iotedge

如何在模块上启用调试日志(这样您就可以在 edgeAgent 和 EdgeHub 上进行调试): 在代理上:iotedged 上的 yaml 文件配置的一部分,替换: 环境:{} 由 环境: RuntimeLogLevel:调试

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    相关资源
    最近更新 更多