一台设备是否可以从 IBM IoTF 上的另一台设备订阅 MQTT 事件或命令?

Is it possible for one device to subscribe to MQTT events or commands from another device on IBM IoTF?

我正在构建一个 iOS 应用程序来通过 MQTT 控制我的 Raspberry Pi。我希望能够从我的 iPhone 向 Pi 发送控制命令,并让 Pi 响应状态更新。

Pi 是 运行 Node-RED,可以向 IBM IoT Foundation 发送和接收事件和命令(从 Bluemix Node-RED 应用程序验证)。

iPhoneSwift 应用程序正在使用 https://cocoapods.org/pods/MQTTClient(注意 - 未明确将 IBM IoT 列为测试平台)。

从 Swift 应用程序,我已成功连接到 IBM IoTF 并发送了 Pi 收到的 事件。我也成功订阅了 "iot-2/cmd/streamStarted/fmt/json" 形式的命令主题,但从未收到消息。如果我尝试以 "iot-2/cmd/startStream/fmt/json" 形式发布命令或以 "iot-2/evt/streamStarted/fmt/json""iot-2/type/myPi/id/<myPiID>/evt/streamStarted/fmt/json" 形式订阅事件,连接会立即关闭。

底线是我需要以某种方式从 Pi 获取状态消息到 iPhone。我真的不在乎它是事件、命令还是其他什么。我已经成功地使用 test.mosquitto.org 事件而不是 IoT Foundation 做到了这一点。

只有应用程序可以向设备发送命令。您不能将命令从一台设备发送到另一台设备。 iphone swift 应用程序是作为应用程序连接到 IoT Foundation 还是尝试作为设备连接?