文章分享

開(kāi)放、平等、協(xié)作、快速、分享

當(dāng)前位置:首頁(yè)>文章分享

使用MQTT.fx接入物聯(lián)網(wǎng)平臺(tái)(阿里云)

摘錄:HCTech 無(wú)錫和控電子   時(shí)間:2020-08-07   訪問(wèn)量:3637

本文檔以MQTT.fx為例,介紹使用第三方軟件以MQTT協(xié)議接入物聯(lián)網(wǎng)平臺(tái)。MQTT.fx是一款基于Eclipse Paho,使用Java語(yǔ)言編寫(xiě)的MQTT客戶端工具。支持通過(guò)Topic訂閱和發(fā)布消息。

前提條件

已在物聯(lián)網(wǎng)平臺(tái)控制臺(tái)創(chuàng)建產(chǎn)品和設(shè)備,并獲取設(shè)備證書(shū)信息(ProductKey、DeviceName和DeviceSerect)。創(chuàng)建產(chǎn)品和設(shè)備具體操作細(xì)節(jié),請(qǐng)參考創(chuàng)建產(chǎn)品、單個(gè)創(chuàng)建設(shè)備批量創(chuàng)建設(shè)備。


使用MQTT.fx接入

  1. 下載并安裝MQTT.fx軟件。請(qǐng)?jiān)L問(wèn)MQTT.fx官網(wǎng)。

  2. 打開(kāi)MQTT.fx軟件,單擊設(shè)置圖標(biāo)。

    MQTT.fx
  3. 設(shè)置連接參數(shù)。物聯(lián)網(wǎng)平臺(tái)目前支持兩種連接模式,不同模式設(shè)置參數(shù)不同。

    說(shuō)明 設(shè)置參數(shù)時(shí),請(qǐng)確保參數(shù)值中或參數(shù)值的前后均沒(méi)有空格。
    • 單擊下載Password生成小工具。解壓縮下載包后,雙擊sign文件,即可使用。

      使用Password生成小工具的輸入?yún)?shù):

    • 手動(dòng)生成方法如下:

    • productKey:設(shè)備所屬產(chǎn)品Key??稍诳刂婆_(tái)設(shè)備詳情頁(yè)查看。

    • deviceName:設(shè)備名稱(chēng)??稍诳刂婆_(tái)設(shè)備詳情頁(yè)查看。

    • deviceSecret:設(shè)備密鑰。可在控制臺(tái)設(shè)備詳情頁(yè)查看。

    • timestamp:(可選)時(shí)間戳。

    • clientId:設(shè)備的ID信息,與Client ID中${clientId}一致。

    • method:選擇簽名算法類(lèi)型,與Client ID中signmethod確定的加密方法一致。

    • ${clientId}為設(shè)備的ID信息??扇∪我庵?,長(zhǎng)度在64字符以?xún)?nèi)。建議使用設(shè)備的MAC地址或SN碼。

    • securemode為安全模式,TCP直連模式設(shè)置為securemode=3,TLS直連為securemode=2

    • signmethod為算法類(lèi)型,支持hmacmd5hmacsha1。

    • TCP直連:Client ID中securemode=3,無(wú)需設(shè)置SSL/TLS信息。

    • TLS直連:Client ID中securemode=2,需要設(shè)置SSL/TLS信息。

    1. 拼接參數(shù)。

      提交給服務(wù)器的clientId、deviceName、productKeytimestamp(timestamp為非必選參數(shù))參數(shù)及參數(shù)值依次拼接。

      本例中,clientId值為12345,deviceName值為device,productKey值為alxxxxxxxxx,拼接結(jié)果為:clientId12345deviceNamedeviceproductKeyalxxxxxxxxx

    2. 加密。

      通過(guò)Client ID中確定的加密方法,使用設(shè)備deviceSecret,將拼接結(jié)果加密。

      假設(shè)設(shè)備的deviceSecret值為abc123,加密計(jì)算格式為hmacsha1(abc123,clientId12345deviceNamedeviceproductKeyalxxxxxxxxx)

    3. 設(shè)置基本信息。

      MQTT.fx

      參數(shù)說(shuō)明
      Profile Name輸入您的自定義名稱(chēng)。
      Profile Type選擇為MQTT Broker。
      MQTT Broker Profile Settings
      Broker Address連接域名。

      格式:${YourProductKey}.iot-as-mqtt.${region}.aliyuncs.com。

      其中,${region}需替換為您物聯(lián)網(wǎng)平臺(tái)服務(wù)所在地域的代碼。地域代碼,請(qǐng)參見(jiàn)地域和可用區(qū)。如:alxxxxxxxxx.iot-as-mqtt.cn-shanghai.aliyuncs.com。

      Broker Port設(shè)置為1883。
      Client ID填寫(xiě)mqttClientId,用于MQTT的底層協(xié)議報(bào)文。

      格式固定:${clientId}|securemode=3,signmethod=hmacsha1|。

      完整示例:12345|securemode=3,signmethod=hmacsha1|。

      其中,

      說(shuō)明 輸入Client ID信息后,請(qǐng)勿單擊Generate。
      General

      General欄目下的設(shè)置項(xiàng)可保持系統(tǒng)默認(rèn),也可以根據(jù)您的具體需求設(shè)置。

    4. 單擊User Credentials,設(shè)置User Name和Password。

      MQTT.fx

      參數(shù)說(shuō)明
      User Name由設(shè)備名DeviceName、符號(hào)(&)和產(chǎn)品ProductKey組成。

      固定格式:${YourDeviceName}&${YourPrductKey}。

      完整示例如:device&alxxxxxxxxx。

      Password密碼由參數(shù)值拼接加密而成。
      說(shuō)明 如果您使用的MQTT.fx版本,在粘貼Password后不顯示具體的字符串,只要光標(biāo)已從輸入框的前部移至了后部,則表示粘貼成功,請(qǐng)勿重復(fù)粘貼。

      您可以使用物聯(lián)網(wǎng)平臺(tái)提供的生成工具自動(dòng)生成Password,也可以手動(dòng)生成Password。

    5. (可選)TLS直連模式(即securemode=2)下,需要選擇SSL/TLS,勾選Enable SSL/TLS,設(shè)置Protocol。建議Protocol選擇為TLSv1.2。

      說(shuō)明 TCP直連模式(即securemode=3)下,無(wú)需設(shè)置SSL/TLS信息,直接進(jìn)入下一步。
      MQTT.fx
  4. 設(shè)置完成后,單擊右下角的OK。

  5. 單擊Connect進(jìn)行連接。

    MQTT.fx

下行通信測(cè)試

從物聯(lián)網(wǎng)平臺(tái)發(fā)送消息,在MQTT.fx上接收消息,測(cè)試MQTT.fx與物聯(lián)網(wǎng)平臺(tái)連接是否成功 。

  1. 在MQTT.fx上,單擊Subscribe

  2. 輸入一個(gè)設(shè)備具有訂閱權(quán)限的Topic,單擊Subscribe,訂閱這個(gè)Topic。

    MQTT.fx

    訂閱成功后,該Topic將顯示在列表中。

    MQTT.fx
  3. 物聯(lián)網(wǎng)平臺(tái)控制臺(tái)中,該設(shè)備的設(shè)備詳情頁(yè),Topic列表下,單擊已訂閱的Topic對(duì)應(yīng)的發(fā)布消息操作按鈕。

  4. 輸入消息內(nèi)容,單擊確認(rèn)。

    MQTT.fx
  5. 回到MQTT.fx上,查看是否接收到消息。

    MQTT.fx

上行通信測(cè)試

在MQTT.fx上發(fā)送消息,通過(guò)查看設(shè)備日志,測(cè)試MQTT.fx與物聯(lián)網(wǎng)平臺(tái)連接是否成功 。

  1. 在MQTT.fx上,單擊Publish。

  2. 輸入一個(gè)設(shè)備具有發(fā)布權(quán)限的Topic,和要發(fā)送的消息內(nèi)容,單擊Publish,向這個(gè)Topic推送一條消息。

    MQTT.fx
  3. 物聯(lián)網(wǎng)平臺(tái)控制臺(tái)中,該設(shè)備的設(shè)備詳情 > 日志服務(wù) > 上行消息分析欄下,查看上行消息。

查看日志

在MQTT.fx上,單擊Log查看操作日志和錯(cuò)誤提示日志。

MQTT.fx


上一篇:在MQTT服務(wù)器上使用TLS進(jìn)行安全通信

下一篇:Paho-MQTT C接入示例(阿里云)

在線咨詢(xún)

點(diǎn)擊這里給我發(fā)消息 售前咨詢(xún)專(zhuān)員

點(diǎn)擊這里給我發(fā)消息 售后服務(wù)專(zhuān)員

在線咨詢(xún)

免費(fèi)通話

24小時(shí)免費(fèi)咨詢(xún)

請(qǐng)輸入您的聯(lián)系電話,座機(jī)請(qǐng)加區(qū)號(hào)

免費(fèi)通話

微信掃一掃

微信聯(lián)系
返回頂部