我找不到任何关于如何从基于Swift的应用程序连接到Google Cloud IoT MQTT桥的文档。可以连接吗?任何参考资料、链接或样品都将不胜感激。
编辑回复评论:要使用MQTT桥连接到IoT Core,请查看此处的代码。
我们没有IOS/Swift代码示例,但您应该能够从Node或Python示例中看到所需的各种部分。物联网核心的URL/端点为mqtt.googleapis.com:8883
。MQTT客户机的user/pass对于用户(未使用(将为空,而编码的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(JsonWebToken(。
话虽如此,您可以完全放弃MQTT,只在IoT Core中使用HTTP桥,因为这可能更容易?您可以在此处查看相关文档:https://cloud.google.com/iot/docs/how-tos/http-bridge.您仍然需要JWT部分来进行身份验证,但这将使您不必在应用程序中实现MQTT。