全部產品
Search
文件中心

IoT Platform:建立雲網關產品(MQTT)

更新時間:Jun 30, 2024

若您使用MQTT雲網關將裝置接入物聯網平台,需通過添加雲網關建立對應產品。本文介紹添加MQTT協議雲網關的具體步驟。

前提條件

已購買尊享型企業版執行個體。購買方法,請參見購買企業版執行個體

背景資訊

物聯網平台的雲網關使用說明,請參見接入MQTT雲網關裝置

添加雲網關

  1. 登入物聯網平台控制台

  2. 執行個體概覽頁面,單擊目標尊享型執行個體。

  3. 在左側導覽列,選擇裝置管理 > 雲網關,單擊添加雲網關

  4. 配置基本資料,然後單擊下一步

    參數

    說明

    雲網關名稱

    為雲網關命名。名稱在執行個體內需具有唯一性。支援中文、英文字母、日文、數字、底線(_),長度限制4~30個字元,一個中文或日文佔2個字元。

    協議

    選擇MQTT

    自訂連接埠號碼

    取值範圍為1024~65535。預設連接埠號碼為1883。

    是否開啟資料解析

    選擇雲網關裝置是否開啟資料解析功能。

    物聯網平台透傳雲網關裝置資料,您可根據實際業務需要,開啟資料解析功能。您可在資料解析指令碼中實現transformPayload()方法,將裝置上報的未經處理資料轉換為標準的JSON格式或物模型的Alink協議格式。資料解析功能的詳細說明,請參見什麼是訊息解析

    認證類型

    一方認證

    您需要將裝置認證資訊(UserName、Password、SN)匯入物聯網平台,物聯網平台會基於裝置認證資訊對裝置進行認證。

    三方認證

    您需要選擇阿里雲Function Compute或外部HTTPS認證方式。阿里雲Function ComputeFC的更多資訊,請參見什麼是Function Compute

    • 阿里雲FC:需設定裝置認證FC服務裝置認證FC函數授權,您可以選擇已有的FC函數或建立新的FC函數FC認證函數的入參、出參需要符合規範,認證函數名稱可以自訂。認證函數的入參、出參說明,請參見表 1. FC認證函數說明

      • 單擊建立服務,跳轉到Function Compute控制台建立服務。服務的詳細說明,請參見管理服務

      • 單擊建立函數,跳轉到Function Compute控制台建立函數。函數的詳細說明,請參見管理函數

      • 如您還未建立AliyunIOTAccessingFCRole,單擊建立RAM角色,跳轉到RAM控制台。建立角色和授權策略,請參見建立RAM角色

    • 外部HTTPS:必須配置裝置認證HTTPS URL,可以配置自訂認證參數

      • 裝置認證URL以https://開頭。物聯網平台通過HTTPS方式調用自訂的裝置認證服務,實現HTTPS調用的入參、出參需要符合規範。具體說明,請參見表 2. HTTPS認證參數說明

      • 最多配置10個自訂認證參數(Key:Value)。

        • 參數Key:參數名稱,長度不可超過64個字元。

        • 參數Value:參數值,長度不可超過64個字元。支援設定為變數,變數格式為${變數名名稱}。支援的變數為:

          • ${username}:裝置建連時上傳MQTT的userName。

          • ${password}:裝置建連時上傳MQTT的password

          • ${clientId}:裝置建連時上傳的MQTT的Client ID資訊

          • ${cert.***}:認證資訊,其中***可取值cnserialissuer

          • ${userProperties.***}:Connect報文中的自訂資料UserProperty***為自訂欄位標識符。

    是否開啟裝置X.509認證認證

    開啟裝置X.509認證認證

    需要配置是否開啟OCSP

    • 不開啟

    • 服務端認證的OCSP驗證

    • 用戶端認證的OCSP驗證

    • 用戶端+服務端認證的OCSP驗證

    說明
    • OCSP表示線上憑證狀態通訊協定,該協議用於向簽發認證的CA(Certificate Authority)中心發起查詢請求,檢查認證是否被吊銷。

    • 用戶端認證的OCSP校正是在用戶端發送訊息時執行,如果認證已經吊銷,服務端會主動關閉串連。

    • 服務端OCSP Stapling功能預設緩衝時間是5分鐘至60分鐘之間,緩衝到期後第一個訪問請求OCSP Stapling將不生效,直到重新擷取OCSP Stapling資訊為止。

    不開啟裝置X.509認證認證

    需要配置是否開啟OCSP

    • 不開啟

    • 服務端認證的OCSP驗證

    說明
    • OCSP表示線上憑證狀態通訊協定,該協議用於向簽發認證的CA(Certificate Authority)中心發起查詢請求,檢查認證是否被吊銷。

    • 用戶端認證的OCSP校正是在用戶端發送訊息時執行,如果認證已經吊銷,服務端會主動關閉串連。

    • 服務端OCSP Stapling功能預設緩衝時間是5分鐘至60分鐘之間,緩衝到期後第一個訪問請求OCSP Stapling將不生效,直到重新擷取OCSP Stapling資訊為止。

    表 1. FC認證函數說明

    參數類型

    參數名稱

    資料類型

    是否必選

    描述

    請求參數

    userName

    String

    裝置建連時上傳MQTT的userName。

    userName支援英文字母、數字、短劃線(-)、底線(_)、at(@)、英文句號(.)和英文冒號(:),長度限制為4~32個字元。userName在產品維度下不可重複。

    password

    String

    裝置建連時上傳MQTT的password。

    password支援英文字母、數字、短劃線(-)、底線(_)、at(@)、英文句號(.)和英文冒號(:),長度限制為1~32個字元。

    clientId

    String

    裝置建連時上傳的MQTT的Client ID資訊。

    certificateCommonName

    String

    該參數為X.509認證規範中的commonName欄位。使用X.509數位憑證進行裝置身份認證時,需上傳該參數。

    返回參數

    result

    String

    認證是否成功,true表示成功,false表示失敗。

    message

    String

    認證失敗時返回的錯誤資訊。

    deviceName

    String

    認證成功時,userName對應的裝置名稱。

    裝置首次建連時,物聯網平台會根據deviceName傳回值自動建立對應的裝置。

    FC認證函數返回參數樣本:

    {
        "result":"true",
        "deviceName":"device_TH",
        "message":""
    }

    表 2. HTTPS認證參數說明

    參數類型

    參數名稱

    資料類型

    是否必選

    描述

    樣本

    要求方法

    Method

    String

    要求方法取值POST。

    POST
    Content-Type: application/json
    body:{
        "username": "UN001",
        "password": "PW001",
        "certificateCommonName": "CN001"
    }

    Header

    Content-Type

    String

    HTTPS Header中定義資料的編碼格式,目前只支援application/json

    若使用其他編碼格式,會返回參數錯誤。

    請求參數Body

    username

    String

    裝置建連時上傳MQTT的username。

    username支援英文字母、數字、短劃線(-)、底線(_)、at(@)、英文句號(.)和英文冒號(:),長度限制為4~32個字元。username在產品維度下不可重複。

    password

    String

    裝置建連時上傳MQTT的password。

    password支援英文字母、數字、短劃線(-)、底線(_)、at(@)、英文句號(.)和英文冒號(:),長度限制為1~32個字元。

    certificateCommonName

    String

    該參數為X.509認證規範中的commonName欄位。使用X.509數位憑證進行裝置身份認證時,需上傳該參數。

    返回參數Body

    deviceName

    String

    認證成功時,username對應的裝置名稱。

    裝置首次建連時,物聯網平台會根據devicename傳回值自動建立對應的裝置。

    body:{
        "deviceName": "device_TH"
    }
  5. 完成認證配置,單擊完成

    手動輸入

    說明

    以下配置的認證都為PEM格式。

    • 必須配置服務端認證服務端認證私密金鑰

      通過雲網關(MQTT)接入的裝置僅支援TLS協議,因此,為了業務安全性,您需要預先配置裝置接入的原伺服器的CA認證和私密金鑰。

      例如您的憑證鏈結從上至下為服務端根憑證、服務端中間認證(可包含多層中間認證,例如依次有中間認證A、中間認證B)和服務端認證,則:雲網關側配置為:

      • 服務端認證:依次輸入服務端認證和服務端中間認證(例如依次為中間認證B、中間認證A)。

      • 服務端認證私密金鑰:輸入對應的服務端認證私密金鑰。

    • 如果開啟裝置X.509認證認證,需要配置裝置端根憑證

      例如您的憑證鏈結從上至下為裝置根憑證、裝置中間認證(可包含多層中間認證,例如依次有中間認證A、中間認證B)和裝置認證,則雲網關側配置為:

      裝置端認證:依次輸入裝置中間認證(例如依次為中間認證B、中間認證A)和裝置端根憑證。

    • 如果OCSP認證方式為服務端認證的OCSP驗證用戶端+服務端認證的OCSP驗證,需要配置信任認證,即服務端的根憑證。

  6. 在雲網關列表,查看雲網關資訊,包含雲網關名稱、雲網關ID、網關URL、狀態和關聯產品等。

    重要

    您需儲存雲網關URL,對應裝置串連物聯網平台的MQTT接入網域名稱需替換為該雲網關URL。您可直接配置雲網關URL為新接入網域名稱,也可配置CNAME將接入網域名稱解析到該雲網關URL。

    雲網關列表

可選:編輯雲網關

建立雲網關成功後,在雲網關列表,找到對應雲網關,單擊右側操作欄的編輯,修改雲網關名稱、認證資訊、FC認證函數。

編輯雲網關

執行結果

建立雲網關成功後,物聯網平台會自動為雲網關建立並關聯一個對應的產品,產品名稱為雲網關+${雲網關執行個體ID}。您可在裝置管理 > 產品頁面,查看建立的產品。

您可單擊產品列表右側操作欄的查看,在產品詳情頁面查看產品資訊,預設配置如下圖所示。

產品詳情

後續步驟

  • 三方認證的雲網關建立成功後,裝置首次建連時,物聯網平台會根據三方認證服務的返回參數deviceName值自動建立對應的裝置。

    您可使用MQTT.fx工具類比雲網關裝置接入物聯網平台進行通訊。具體操作,請參見裝置使用MQTT.fx接入(阿里雲FC認證)

  • 一方認證的雲網關建立成功後,需您在物聯網平台匯入裝置認證資訊來建立雲網關裝置。具體操作,請參見大量新增裝置