我找不到任何关于如何从基于 Swift 的应用程序连接到 Google Cloud IoT MQTT 桥的文档。可以连接吗?任何引用或链接或示例将不胜感激。
最佳答案
编辑回复评论:要使用 MQTT 桥连接到 IoT 核心,请查看代码 here .
我们那里没有 IOS/Swift 代码示例,但您应该能够从 Node 或 Python 示例中看到您需要的各个部分。 IoT Core 的 URL/端点是 mqtt.googleapis.com:8883
. MQTT 客户端的用户/通行证对于用户(未使用)和密码的编码 JWT 将是空白的。相同的代码看起来很像,应该足以让您满怀希望地开始。
要与 IoT Core 通信,MQTT 主题是 devices/<device_id>/events/
用于从设备到云的遥测,如果您想报告要由 IoT Core 存储的设备状态,则为 devices/<device_id>/state/
如果您想将消息从 IoT Core 发送回设备,可以是 devices/<device_id>/config/
如果设备未主动连接,则用于将在连接时传递的持久消息,或 devices/<device_id>/command/
如果它更像是一劳永逸,则延迟较低的类型消息。
原始答案:我们还没有关于这个特定用例的任何文档,但我发现了这个:
https://github.com/emqtt/CocoaMQTT
它启用来自 IOS 的 MQTT 客户端连接并且是用 Swift 编写的,因此应该可以工作。除此之外,您还需要一个库来为事物的身份验证端编码 JWT(Json Web token )。
话虽如此,您可以完全放弃 MQTT,只使用 IoT Core 中的 HTTP 桥,因为那样可能更容易吗?您可以在此处查看相关文档:https://cloud.google.com/iot/docs/how-tos/http-bridge .您仍然需要用于身份验证的 JWT 部分,但它会让您不必在应用程序中实现 MQTT。
关于swift - 谷歌云物联网 : How to connect to MQTT bridge from iOS applications written in Swift?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53587536/