首页 > 解决方案 > 如何通过 MQTT 进行 RPC 调用(Google IoT Core + Mongoose OS)

问题描述

基于 MQTT 的 RPC 调用

嗨,我想通过向 MQTT 主题 (${device.id}/rpc) 发出 PUBLISH 消息(RPC 调用)来发布遥测事件

参考:[RPC over MQTT][(ttps://mongoose-os.com/docs/mongoose-os/api/rpc/rpc-mqtt.md) 发布遥测事件,Google IoT 核心

我正在使用以下命令通过 MQTT 调用 RPC

mos --port mqtts://mqtt.2030.ltsapis.goog:8883/projects/PROJECT_NAME/locations/us-central1/registries/iot-registry/devices/esp8266_C7E6AA --cert-file gcp-esp8266_C7E6AA.pub.pem --key-file gcp-esp8266_C7E6AA.key.pem call Sys.GetInfo

但我得到以下回应

$ mos --port mqtts://mqtt.2030.ltsapis.goog:8883/projects/PROJECT_NAME/locations/us-central1/registries/iot-registry/devices/esp8266_C7E6AA --cert-file gcp-esp8266_C7E6AA.pub.pem --key-file gcp-esp8266_C7E6AA.key.pem call Sys.GetInfo
Unknown command
Command completed.

上面的命令是正确的还是我做错了什么?

标签: mongoose-os

解决方案


我发布这个答案是为了节省可能面临同样问题的人的时间。

所以 mos --port 命令仅适用于命令行(CMD)。

如果你在 Windows 上,它需要一些特殊的格式,你可以在这里找到。

谢谢阿比


推荐阅读