【问题标题】:Google Cloud IoT : How to connect to MQTT bridge from iOS applications written in Swift?Google Cloud IoT:如何从用 Swift 编写的 iOS 应用程序连接到 MQTT 桥接器?
【发布时间】:2018-12-03 04:36:17
【问题描述】:

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

【问题讨论】:

  • 您找到解决方案了吗?卡在我们必须创建设备的地方。

标签: swift google-cloud-iot


【解决方案1】:

已编辑回复评论:要使用 MQTT 桥接器连接到 IoT Core,请查看代码 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 令牌)。

话虽如此,您可以完全放弃 MQTT,而只使用 IoT Core 中的 HTTP 桥接器,因为这可能更容易吗?您可以在此处查看相关文档:https://cloud.google.com/iot/docs/how-tos/http-bridge。您仍然需要 JWT 进行身份验证,但它会让您不必在应用程序中实现 MQTT。

【讨论】:

  • 我们已经在我们的应用程序中使用 MQTT,并且我们使用 RabbitMQ 代理在我们的服务器和应用程序之间交换 MQTT 消息。然而,我们在扩展 RabbitMQ 服务器方面面临一些挑战,因此正在寻找替代方案。谷歌物联网似乎是一个替代方案。所以我想了解如何连接到物联网的MQTT桥。
  • 啊!知道了。编辑答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多