2015-12-09 37 views
1

我正在構建一個iOS應用程序來通過MQTT控制我的Raspberry Pi。我希望能夠將控制命令從我的iPhone發送到Pi,讓Pi響應狀態更新。一臺設備是否可以訂閱來自IBM IoTF上另一臺設備的MQTT事件或命令?

Pi正在運行Node-RED,可以同時向IBM IoT Foundation發送和接收事件和命令(通過Bluemix Node-RED應用程序進行驗證)。

iPhone Swift應用程序使用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的活動,但不是物聯網基金會。

回答

2

只有應用程序可以向設備發送命令。您無法將命令從一臺設備發送到另一臺設備。 iPhone swift應用程序是作爲應用程序連接到IoT Foundation還是嘗試作爲設備連接?

+0

好的,謝謝你讓我的頭直上。 :-)是的,我翻轉了iPhone應用程序作爲應用程序連接,事情按我想要的方式工作 - iPhone向Pi發送命令,Pi向iPhone發送事件。謝謝! –

相關問題