【问题标题】:Create connection from Eclipse-ditto to Azure IoT hub using MQTT使用 MQTT 创建从 Eclipse-ditto 到 Azure IoT 中心的连接
【发布时间】:2019-07-22 08:03:01
【问题描述】:

我正在尝试使用 MQTT 创建从 DittoAzure IoT hub 的传出连接。 我们负责 Ditto,而其他人(对数字孪生实时数据感兴趣)负责 Azure IoT Hub。 连接 Azure IoT 中心(在连接微服务中)时出现以下错误:Not authorized to connect (5)。 我们还尝试与mosquitto_pub 连接,并在省略-i client-id 选项时收到相同的错误。其他一切似乎都很好。

一些额外的信息:

  • 这是目前有效的 mosquitto_pub 命令:
    mosquitto_pub -h [hostname] -p [port] -t [topic] -m "" -u [username] -P [password] --cafile cert.cer -i [deviceName]
  • 我们已经获得了主机名、端口、主题、用户名(这是一个包含斜杠、破折号和相等运算符的长字符串)、密码(也是一个包含空格、百分号和相等运算符的长字符串)和一个证书文件。我已经对用户名和密码进行了 URL 编码,并将它们拼接在连接 url 中,如同上页面 (https://www.eclipse.org/ditto/connectivity-protocol-bindings-mqtt.html) 中所述:ssl://[url-encoded-username]:[url-encoded-password]@ [主机名]:[端口号]。
  • 我已添加证书,但不再出现证书错误(“无法找到到所请求目标的有效证书路径”)。

有人有这方面的经验吗?
也许解决方案是使用另一个协议(例如 amqp)?
希望我没有错过互联网上的任何其他相关问题或信息。如果是这样,请告诉我在哪里可以找到它。

谢谢

【问题讨论】:

  • 您是否查看了有关如何将 MQTT 客户端与 IoT Hub 一起使用的指南? docs.microsoft.com/en-us/azure/iot-hub/…
  • 是的,我已经给出了 mosquitto_pub 命令,它适用于 Azure IoT Hub。只需将此 mosquitto_pub 命令正确转换为 Eclipse Ditto Connection

标签: azure mqtt iot eclipse-ditto eclipse-iot


【解决方案1】:

同上将“-publisher”附加到传出连接的 ID。
但是,Azure IoT 中心要求连接 ID 与 Azure IoT 中心中配置的设备相同。要使其适用于名为“测试”的设备/连接,您应该执行以下操作:

  • 在 Azure IoT Hub 中创建一个名为“test-publisher”的新传入连接
  • 创建一个同上的传出连接:
    • ID:“测试”
    • Azure IoT Hub 提供的连接详细信息,包括“test-publisher”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2019-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-01
    相关资源
    最近更新 更多