若您使用MQTT雲網關將裝置接入物聯網平台,需通過添加雲網關建立對應產品。本文介紹添加MQTT協議雲網關的具體步驟。
前提條件
已購買尊享型企業版執行個體。購買方法,請參見購買企業版執行個體。
背景資訊
物聯網平台的雲網關使用說明,請參見接入MQTT雲網關裝置。
添加雲網關
登入物聯網平台控制台。
在執行個體概覽頁面,單擊目標尊享型執行個體。
在左側導覽列,選擇 ,單擊添加雲網關。
配置基本資料,然後單擊下一步。
參數
說明
雲網關名稱
為雲網關命名。名稱在執行個體內需具有唯一性。支援中文、英文字母、日文、數字、底線(_),長度限制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認證函數說明。
外部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.***}
:認證資訊,其中***
可取值cn
、serial
、issuer
。${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" }
完成認證配置,單擊完成。
手動輸入
說明以下配置的認證都為PEM格式。
必須配置服務端認證和服務端認證私密金鑰。
通過雲網關(MQTT)接入的裝置僅支援TLS協議,因此,為了業務安全性,您需要預先配置裝置接入的原伺服器的CA認證和私密金鑰。
例如您的憑證鏈結從上至下為服務端根憑證、服務端中間認證(可包含多層中間認證,例如依次有中間認證A、中間認證B)和服務端認證,則:雲網關側配置為:
服務端認證:依次輸入服務端認證和服務端中間認證(例如依次為中間認證B、中間認證A)。
服務端認證私密金鑰:輸入對應的服務端認證私密金鑰。
如果開啟裝置X.509認證認證,需要配置裝置端根憑證。
例如您的憑證鏈結從上至下為裝置根憑證、裝置中間認證(可包含多層中間認證,例如依次有中間認證A、中間認證B)和裝置認證,則雲網關側配置為:
裝置端認證:依次輸入裝置中間認證(例如依次為中間認證B、中間認證A)和裝置端根憑證。
如果OCSP認證方式為服務端認證的OCSP驗證或用戶端+服務端認證的OCSP驗證,需要配置信任認證,即服務端的根憑證。
在雲網關列表,查看雲網關資訊,包含雲網關名稱、雲網關ID、網關URL、狀態和關聯產品等。
重要您需儲存雲網關URL,對應裝置串連物聯網平台的MQTT接入網域名稱需替換為該雲網關URL。您可直接配置雲網關URL為新接入網域名稱,也可配置CNAME將接入網域名稱解析到該雲網關URL。
可選:編輯雲網關
建立雲網關成功後,在雲網關列表,找到對應雲網關,單擊右側操作欄的編輯,修改雲網關名稱、認證資訊、FC認證函數。
執行結果
建立雲網關成功後,物聯網平台會自動為雲網關建立並關聯一個對應的產品,產品名稱為雲網關+${雲網關執行個體ID}
。您可在 頁面,查看建立的產品。
您可單擊產品列表右側操作欄的查看,在產品詳情頁面查看產品資訊,預設配置如下圖所示。
後續步驟
三方認證的雲網關建立成功後,裝置首次建連時,物聯網平台會根據三方認證服務的返回參數deviceName值自動建立對應的裝置。
您可使用MQTT.fx工具類比雲網關裝置接入物聯網平台進行通訊。具體操作,請參見裝置使用MQTT.fx接入(阿里雲FC認證)。
一方認證的雲網關建立成功後,需您在物聯網平台匯入裝置認證資訊來建立雲網關裝置。具體操作,請參見大量新增裝置。