2016-01-20 106 views
1

我在Android中使用Paho MQTT客戶端連接到IBM Bluemix快速入門IoT服務。連接部分運行良好,但是當我發佈時,雲應用程序顯示我斷開連接,但在客戶端中,我沒有發生異常。Bluemix快速入門在與Paho MQTT客戶端發佈時斷開連接

我用這個權限:

<uses-permission android:name="android.permission.INTERNET"/> 

連接:

String broker  = "tcp://quickstart.messaging.internetofthings.ibmcloud.com:1883"; 
String clientId  = "d:quickstart:iotqs-sensor:myDeviceID"; 

try { 
    client = new MqttClient(broker, clientId, null); 
    MqttConnectOptions connOpts = new MqttConnectOptions(); 
    client.connect(connOpts); 
} catch(MqttException me) { 

發佈:

String topic  = "iot-2/evt/iotsensor/fmt/jon"; 
String content  = "{ \"d\" : { \"data\" : 5 } }"; 

try { 
    MqttMessage message = new MqttMessage(content.getBytes()); 
    message.setQos(0); 
    client.publish(topic, message); 
} catch(MqttException me) { 

奇怪的是:這個代碼工作昨天。 可能是什麼問題? 下一步將連接併發布到我自己的Bluemix IoT服務,但如果我無法發送消息給演示,我無法期待更多。

更新: 如果我連接併發布,快速入門應用程序顯示我已斷開連接,但客戶端仍然允許我發佈約3秒,之後出現異常:32104(客戶端未連接)。

+0

您是否將您的設備註冊爲iotqs-sensor?如果是這樣,請讓我知道你的組織。 – ValerieLampkin

+0

不,我只是試圖模擬bluemix web模擬器,我看到它使用iotqs-sensor。但我註冊了一個設備:type = myDevice,id = myDeviceID,org = ijlqtn –

回答

2

設備必須先註冊才能連接。請參閱https://docs.internetofthings.ibmcloud.com/messaging/devices.html#/的快速入門文檔。我沒有看到您組織下注冊的任何設備。此外,在該組織下,它會將您的電子郵件/ ID顯示爲「已過期」。請登錄https://internetofthings.ibmcloud.com/#/,並將自己添加爲訪問標籤下的永久用戶。

+0

我發現了這個遊樂場,我可以在那裏註冊設備: https://play.internetofthings.ibmcloud.com/dashboard/#/devices/browse 類型ID = myDeviceType 設備ID = myDeviceID 組織發揮= 的clientId = d:玩法:myDeviceType:myDeviceID https://quickstart.internetofthings.ibmcloud.com/#/device/myDeviceID/sensor/ 但是這樣,我不能連接,不像以前的版本。 –

+0

我沒有看到任何設備類型的iotqs傳感器註冊到播放機構。 – ValerieLampkin

+0

是的,因爲我將它更改爲myDeviceType。感謝您的幫助,現在正在工作。現在我嘗試連接到我自己的bluemix應用程序。快速啓動應用程序源可用嗎? –

相關問題