我在Bluemix中使用IoT服務,並使用Node.js express服務器和Android設備連接到它。對於Android vs Node.js,IBM Bluemix IoT主題/ URL有所不同,需要說明嗎?
Android應用程序基於ibmiot初學者應用程序(https://github.com/ibm-messaging/iot-starter-for-android)。這種連接着:
網址:<org
> .messaging.internetofthings.ibmcloud.com:1883年
主題格式:IOT-2/CMD/+/FMT/JSON
憑據:組織,設備類型,設備ID
的express服務器連接到npm ibmiotf模塊,版本0.2.2。
URL:<org
> .messaging.internetofthings.ibmcloud.com:8883
主題格式:與連接IOT-2 /類型/ <type
>/ID/<id
>/CMD/<cmd
>/FMT/JSON
憑證:組織,id(Bluemix空間名稱?),apiKey,apiToken
如果我嘗試使用Android應用程序訂閱第二種格式的主題,由於該主題無效,我與服務斷開連接。但是,npm節點中提供的對象(ApplicationClient)包含發佈到第二種格式的主題的函數,如publishDeviceCommand(deviceType,deviceId,commandType,格式,數據)
,該主題以應用程序無法訂閱的第二種格式發佈。這是由於不同版本的主題樣式重新格式化?
那麼,我該如何發佈到應用程序可以訂閱的快遞服務器的有效主題?這是否需要編寫我自己的publishDeviceCommand版本?這是可行的,但似乎並不理想。它也是提供的npm模塊中的一個功能,更改只會在本地而不是遠程。
我可以查看應用程序通過服務儀表板以第一種格式發佈主題的事件,但對於表達ApplicationClient,我看不到相同的情況 - 可能是因爲它不是註冊設備?
你連接的Android設備,而無需指定一個組織?你能否確認你是否作爲註冊設備連接?例如:<組織ID> .messaging.internetofthings.ibmcloud.com – ValerieLampkin
我已將更多信息添加到原始問題,但我爲這兩個連接指定了相同的組織結構。 – Jake