Google Cloud IoT:如何从用Swift编写的iOS应用程序连接到MQTT桥?

时间:2018-12-03 04:36:17

标签: swift google-cloud-iot

我找不到任何有关如何从基于Swift的应用程序连接到Google Cloud IoT MQTT桥的文档。是否可以连接?任何参考或链接或示例,将不胜感激。

1 个答案:

答案 0 :(得分:1)

编辑后的答案回复评论:要使用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核心版发送回设备,如果设备未处于活动连接状态,则为devices/<device_id>/config/表示将在连接时传递的持久消息,如果不是,则为devices/<device_id>/command/开火,忘记了,低延迟类型的消息。



原始答案:我们没有关于此特定用例的任何文档,但我发现了这一点:

https://github.com/emqtt/CocoaMQTT

通过IOS启用MQTT客户端连接,并使用Swift编写,因此应该可以使用。除此之外,您还需要一个库来对事物的身份验证方面的JWT(Json Web令牌)进行编码。

话虽如此,您可以完全放弃MQTT并仅在IoT核心版中使用HTTP桥,因为这样可能更容易?您可以在此处查看有关此操作的文档:https://cloud.google.com/iot/docs/how-tos/http-bridge。您仍然需要JWT来进行身份验证,但这将使您不必在应用程序中实现MQTT。