天天看點

MQTT連接配接阿裡雲

目錄

阿裡雲上建立産品及裝置的教程

建立賬号并登入

建立産品及裝置

建立産品

 添加裝置

添加自定義功能 

MQTT.fx的使用

windows下載下傳MQTT.fx

MQTT.fx的具體使用

相關的登陸設定

Broker Address 

Client ID的設定

User Credentials

連接配接成功

通信測試

下行通信測試

測試發送資料 

上行通信測試

基于上篇部落格(樹莓派3B配置MQTT環境)我們介紹了如何在樹莓派3B環境下安裝和配置使用MQTT,接下來我們介紹一下如何在windows環境下使用MQTT.fx來連接配接自己在阿裡雲建立的裝置。

  • 阿裡雲上建立産品及裝置的教程

  • 建立賬号并登入

阿裡雲官網:阿裡雲官網

  • 建立産品及裝置

點選左側的欄目找到“産品與服務”,在裡面繼續找到“應用與服務下面的”“物聯網平台”,依次找到《裝置管理》《産品》,然後“建立産

品”。

  • 建立産品

MQTT連接配接阿裡雲
MQTT連接配接阿裡雲
MQTT連接配接阿裡雲
MQTT連接配接阿裡雲
  •  添加裝置

MQTT連接配接阿裡雲
MQTT連接配接阿裡雲
MQTT連接配接阿裡雲
  • 添加自定義功能 

MQTT連接配接阿裡雲
MQTT連接配接阿裡雲

選擇好之後,點選釋出上線

MQTT連接配接阿裡雲

到此為止,我們的産品及裝置都已經建立完畢。

MQTT連接配接阿裡雲
  • MQTT.fx的使用

  • windows下載下傳MQTT.fx

MQTT.fx下載下傳

  • MQTT.fx的具體使用

将MQTT.fx安裝完成之後,打開MQTT.fx,并且設定相關屬性。

MQTT連接配接阿裡雲
  • 相關的登陸設定

MQTT連接配接阿裡雲
  • Broker Address 

連接配接域名。

您購買的執行個體的連接配接域名請在物聯網平台控制台執行個體管理 > 執行個體設定頁面,單擊檢視終端節點檢視。

公共執行個體的連接配接域名格式:

${YourProductKey}.iot-as-mqtt.${region}.aliyuncs.com

。其中,${region}請參見地域和可用區替換為您的Region ID。。如:

alxxxxxxxxx.iot-as-mqtt.cn-shanghai.aliyuncs.com

MQTT連接配接阿裡雲
MQTT連接配接阿裡雲
MQTT連接配接阿裡雲

 隻需将裡面的ProductKey替換為我們之前一鍵複制儲存的ProductKey就可以了。

  • Client ID的設定

填寫mqttClientId,用于MQTT的底層協定封包。

格式固定:

${clientId}|securemode=3,signmethod=hmacsha1|

完整示例:

12345|securemode=3,signmethod=hmacsha1|

其中:

${clientId}為裝置的ID資訊。可取任意值,長度在64字元以内。建議使用裝置的MAC位址或SN碼。

securemode為安全模式,TCP直連模式設定為

securemode=3

,TLS直連為

securemode=2

signmethod為算法類型,支援hmacmd5和hmacsha1。

設定問Client ID後,千萬别點選Generate

  • User Credentials

MQTT連接配接阿裡雲
  •  User Name & Password
User Name

由裝置名DeviceName、符号(&)和産品ProductKey組成。

固定格式:

${YourDeviceName}&${YourProductKey}

完整示例如:

device&alxxxxxxxxx

Password

密碼由參數值拼接加密而成。

說明 如果您使用的MQTT.fx版本,在粘貼Password後不顯示具體的字元串,隻要光标已從輸入框的前部移至了後部,則表示粘貼成功,請勿重複粘貼。

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

  • 單擊下載下傳Password生成小工具。解壓縮下載下傳包後,輕按兩下sign檔案,即可使用。

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

    • productKey:裝置所屬産品Key。可在控制台裝置詳情頁檢視。
    • deviceName:裝置名稱。可在控制台裝置詳情頁檢視。
    • deviceSecret:裝置密鑰。可在控制台裝置詳情頁檢視。
    • timestamp:(可選)時間戳。
    • clientId:裝置的ID資訊,與Client ID中${clientId}一緻。
    • method:選擇簽名算法類型,與Client ID中signmethod确定的加密方法一緻。
  • 手動生成方法如下:
    1. 拼接參數。

      送出給伺服器的clientId、deviceName、productKey和timestamp(timestamp為非必選參數)參數及參數值依次拼接。

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

      clientId12345deviceNamedeviceproductKeyalxxxxxxxxx

    2. 加密。

      通過Client ID中确定的加密方法,使用裝置deviceSecret,将拼接結果加密。

      假設裝置的deviceSecret值為abc123,加密計算格式為

      hmacsha1(abc123,clientId12345deviceNamedeviceproductKeyalxxxxxxxxx)

MQTT連接配接阿裡雲
MQTT連接配接阿裡雲

把這些基本的資訊設定完成之後就點選ok。

  • 連接配接成功

MQTT連接配接阿裡雲

MQTT.fx的相關登陸設定大家可以參考阿裡雲的官方文檔設定。

參考連結:MQTT.fx的相關登陸設定

  • 通信測試

  • 下行通信測試

首先在MQTT.fx中添加一個可以訂閱的topic:

MQTT連接配接阿裡雲

我們先在平台上進行調試,想MQTT.fx發送消息:

MQTT連接配接阿裡雲
MQTT連接配接阿裡雲
MQTT連接配接阿裡雲
  • 測試發送資料 

MQTT連接配接阿裡雲
MQTT連接配接阿裡雲
  • 上行通信測試

MQTT連接配接阿裡雲

首先檢視發送前的狀态:

MQTT連接配接阿裡雲

發送資料

MQTT連接配接阿裡雲

發送資料後裝置狀态

MQTT連接配接阿裡雲

至此,我們的裝置建立與通信測試都已成功完成。