如何更改 Google IoT Core 的 MQTT 主机名
Posted
技术标签:
【中文标题】如何更改 Google IoT Core 的 MQTT 主机名【英文标题】:How to change MQTT hostname for Google Iot Core 【发布时间】:2018-04-26 23:38:15 【问题描述】:我正在使用 google-cloud-iot-core 开发 iot 设备,但我希望允许 3rd 方支持,所以我想更改 mqtt 的主机名,该怎么做?
提前致谢
【问题讨论】:
需要更多关于您到底想要做什么的详细信息? MQTT 主机名,意思是 mqtt.googleapis.com ?那个主机名?如果不将消息发送到该端点,您将不再使用 IoT Core。 :) 这很好,但我需要知道你想做什么。 是的 mqtt.googleapis.com 主机名,我想更改它。我想这样做是为了将 IoT Core 暴露给 3rd 方应用程序,他们可以在其中发布/订阅,它会触发 Cloud Functions 【参考方案1】:如果您更改该端点,那么您将不再与 IoT Core 对话。它是不可配置的,因为这是与服务对话的端点。
您可以在其他地方设置自己的 MQTT 服务器(可以在 GCE 或 GKE 中使用自定义容器进行)并根据需要设置主机名,然后设置自己的代理以获取 MQTT 负载并创建 Pub/Sub 消息,或者我想甚至充当 IoT Core 本身的转发代理(尽管安全性和身份验证可能会有点奇怪)。
或者您甚至可以直接转到 Pub/Sub。这一切都取决于您的需要。
正如我所提到的,更改 IoT Core 的主机名(mqtt.googleapis.com)意味着您不再使用 IoT Core。没有其他方法可以访问 IoT Core 的通信代理部分来创建 Pub/Sub 消息等。如果您不使用 IoT Core 端点(主机名),那么您将自己创建 Pub/来自 IoT 设备数据的子消息。
【讨论】:
我尝试了代理,但正如您提到的 ssl 和 auth 存在问题,是否有更简单的方法将流量重新路由到 mqtt.googleapi.com。只需转发它,而不是使用 Pub/Sub 创建代理。任何文档或博客? 不适用于这个特定的用例,不幸的是没有。我们还没有完全支持通过另一个设备与 IoT Core 通信的设备。我们计划了一些示例/文档,但还没有写出来。公平地说,我们甚至还不是 GA(仍然是公开测试版)。 :) 他们会来的,只是还没有。 拥有它们真是太好了,这样我们就可以使用谷歌平台添加对第三方应用程序集成的支持以上是关于如何更改 Google IoT Core 的 MQTT 主机名的主要内容,如果未能解决你的问题,请参考以下文章
Google IoT Core:我如何知道消息来自哪个设备?
如何将传感器数据(例如来自 DHT11 传感器的温度数据)发送到 Google Cloud IoT Core 并存储它
在与 Google Cloud IoT Core 交互时限制用户对 IoT 项目的访问