Google 同一注册表中 2 台设备之间的云 MQTT 消息交换

Google Cloud MQTT message exchange between 2 devices in the same registry

我在同一个注册表中有多个设备,并且有一个共同的主题(事件,默认的)。 让我们仅查看 2 个设备。设备 A 和 B 使用自己的凭据连接到 IoT Core。

设备 A 需要发送消息(发布)以便设备 B 可以接收它,反之亦然。我想发布来自设备 A 的事件,并在设备 B 上接收命令 (devices/[device-id]/commands/#)。 然后,根据消息,我需要将命令从设备 B 发送回 A。

我也已订阅 Pub/Sub 该主题以便能够看到已发布的消息,但如何从其他设备 B 订阅并实例化全双工通信?

不幸的是,我无法在 GCP 上使用像 device/+/commands/# 等通配符。

谢谢。

你必须实施它,我们没有任何具体的东西built-in我不相信。所以例如设备 A 发布到 Pub/Sub 主题 A,其中 Cloud Function 订阅主题 A 并通过管理员 API 向设备 B 发送命令。然后反之亦然,设备 B 发布到 Pub/Sub 主题 B,一个单独的 Cloud Function 订阅主题 B 并发布到设备 A。

通过MQTT无法直接订阅对方设备,必须通过云端。