簡體   English   中英

如何使用java在IoT中發布MQTT主題?

[英]How do you publish to a MQTT topic in IoT using java?

在Bluemix中,我有一個java_buildpack應用程序,它當前從Message Hub主題中獲取/使用消息,現在我想重新格式化該消息並將其發布到Mqtt客戶端。 我有物聯網平台服務綁定到我的java_buildpack應用程序,我創建了一個設備類型,javaDevice和設備ID,javaDevice01。

這是我的iotf服務的環境變量:

“iotf-service”:[{“name”:“物聯網平台 - 或”,“標簽”:“iotf-service”,“plan”:“iotf-service-free”,“憑證”:{“iotCredentialsIdentifier “:”a2g6k39sl6r5“,”mqtt_host“:”qzfiiy.messaging.internetofthings.ibmcloud.com“,”mqtt_u_port“:1883,”mqtt_s_port“:8883,”base_uri“:” https://qzfiiy.internetofthings.ibmcloud.com :443 / api / v0001 “,”http_host“:”qzfiiy.internetofthings.ibmcloud.com“,”org“:”qzfiiy“,”apiKey“:”xxxxxxxxxxxxxxx“,”apiToken“:”xxxxxxxxxxxxxx“}}

當我創建MqttClient的實例時,我應該傳遞什么:

MqttClient mqttClient = new MqttClient(broker, clientId, persistence);

我以為我在clientId的某個地方讀到它應該是這樣的:

A:qzfiiy:javaDevice:javaDevice01

什么應該傳遞給經紀人? 我是否使用此環境變量 - "mqtt_host": "qzfiiy.messaging.internetofthings.ibmcloud.com",

任何幫助將不勝感激。

謝謝!

如果要作為應用程序連接,請使用應用程序條件。 如果作為設備連接,請使用設備標准(見下文)。

對於DEVICE:使用以下格式的客戶端ID進行身份驗證

 d:$org:$type:$id

MQTT客戶端ID必須為d:$ org:$ type:$ id

MQTT用戶名必須是use-token-auth

MQTT密碼必須是身份驗證令牌:身份驗證令牌(例如:MP $ 08VKz!8rXwnR-Q *)

APPLICATION使用以下格式的客戶端ID進行身份驗證:

 a:$org:$appId

使用API​​密鑰建立MQTT連接時,以下情況適用:

MQTT客戶端ID:a:$ org:$ appId

MQTT用戶名必須是API密鑰:a:$ org:apikeyvalue

MQTT密碼必須是身份驗證令牌:APItoken

如果您需要主題,那么如下所示。

對於應用程序,事件主題是iot-2 / type / {device type} / id / {device id} / evt / {event type} / fmt / {format type}

對於應用程序,命令主題是iot-2 / type / {device type} / id / {device id} / cmd / {command type} / fmt / {format type}

對於設備,事件主題是iot-2 / evt / {event type} / fmt / {format type}

對於命令,命令主題為iot-2 / cmd / {command type} / fmt / {format type}

您可以參考文檔以獲取更多信息。 https://iotf.readthedocs.org/en/latest/?cm_mc_uid=41893914391914121143444&cm_mc_sid_50200000=1460668601

您還可以使用封裝所有功能的java客戶端庫並提供包裝API https://github.com/ibm-messaging/iot-java/releases?cm_mc_uid=41893914391914121143444&cm_mc_sid_50200000=1460668601

對於MQTT代理,您需要使用{orgid} .messaging.internetofthings.ibmcloud.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM