【发布时间】:2019-07-22 08:03:01
【问题描述】:
我正在尝试使用 MQTT 创建从 Ditto 到 Azure 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