大菠萝福利中心app_大菠萝福利污下载APP_大菠萝福建官方网站入口_大菠萝福建导航在线看

文章分享

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

當前位置:首頁>文章分享

使用MQTT.fx接入物聯網平臺(阿里云)

摘錄:HCTech 無錫和控電子   時間:2020-08-07   訪問量:4739

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

前提條件

已在物聯網平臺控制臺創(chuàng)建產品和設備,并獲取設備證書信息(ProductKey、DeviceName和DeviceSerect)。創(chuàng)建產品和設備具體操作細節(jié),請參考創(chuàng)建產品單個創(chuàng)建設備批量創(chuàng)建設備。


使用MQTT.fx接入

  1. 下載并安裝MQTT.fx軟件。請訪問MQTT.fx官網。

  2. 打開MQTT.fx軟件,單擊設置圖標。

    MQTT.fx
  3. 設置連接參數。物聯網平臺目前支持兩種連接模式,不同模式設置參數不同。

    說明 設置參數時,請確保參數值中或參數值的前后均沒有空格。
    • 單擊下載Password生成小工具。解壓縮下載包后,雙擊sign文件,即可使用。

      使用Password生成小工具的輸入參數:

    • 手動生成方法如下:

    • productKey:設備所屬產品Key??稍诳刂婆_設備詳情頁查看。

    • deviceName:設備名稱??稍诳刂婆_設備詳情頁查看。

    • deviceSecret:設備密鑰??稍诳刂婆_設備詳情頁查看。

    • timestamp:(可選)時間戳。

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

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

    • ${clientId}為設備的ID信息??扇∪我庵?,長度在64字符以內。建議使用設備的MAC地址或SN碼。

    • securemode為安全模式,TCP直連模式設置為securemode=3,TLS直連為securemode=2。

    • signmethod為算法類型,支持hmacmd5hmacsha1。

    • TCP直連:Client ID中securemode=3,無需設置SSL/TLS信息。

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

    1. 拼接參數。

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

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

    2. 加密。

      通過Client ID中確定的加密方法,使用設備deviceSecret,將拼接結果加密。

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

    3. 設置基本信息。

      MQTT.fx

      參數說明
      Profile Name輸入您的自定義名稱。
      Profile Type選擇為MQTT Broker
      MQTT Broker Profile Settings
      Broker Address連接域名。

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

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

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

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

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

      其中,

      說明 輸入Client ID信息后,請勿單擊Generate
      General

      General欄目下的設置項可保持系統(tǒng)默認,也可以根據您的具體需求設置。

    4. 單擊User Credentials,設置User Name和Password。

      MQTT.fx

      參數說明
      User Name由設備名DeviceName、符號(&)和產品ProductKey組成。

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

      完整示例如:device&alxxxxxxxxx。

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

      您可以使用物聯網平臺提供的生成工具自動生成Password,也可以手動生成Password。

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

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

  5. 單擊Connect進行連接。

    MQTT.fx

下行通信測試

從物聯網平臺發(fā)送消息,在MQTT.fx上接收消息,測試MQTT.fx與物聯網平臺連接是否成功 。

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

  2. 輸入一個設備具有訂閱權限的Topic,單擊Subscribe,訂閱這個Topic。

    MQTT.fx

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

    MQTT.fx
  3. 物聯網平臺控制臺中,該設備的設備詳情頁,Topic列表下,單擊已訂閱的Topic對應的發(fā)布消息操作按鈕。

  4. 輸入消息內容,單擊確認

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

    MQTT.fx

上行通信測試

在MQTT.fx上發(fā)送消息,通過查看設備日志,測試MQTT.fx與物聯網平臺連接是否成功 。

  1. 在MQTT.fx上,單擊Publish

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

    MQTT.fx
  3. 物聯網平臺控制臺中,該設備的設備詳情 > 日志服務 > 上行消息分析欄下,查看上行消息。

查看日志

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

MQTT.fx


上一篇:在MQTT服務器上使用TLS進行安全通信

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

在線咨詢

點擊這里給我發(fā)消息 售前咨詢專員

點擊這里給我發(fā)消息 售后服務專員

在線咨詢

免費通話

24小時免費咨詢

請輸入您的聯系電話,座機請加區(qū)號

免費通話

微信掃一掃

微信聯系
返回頂部