本文介紹設備注冊認證相關問題和原因。
多臺設備是否可以使用相同的證書同時或不同時進行連接認證?
不支持。在同一時間內,只允許使用一個設備證書被一臺設備用于連接物聯網平臺。如果多臺設備上燒錄相同的設備證書,連接時后連接的設備認證時,先連接的設備將會被斷連。
設備MQTT連接參數可以批量下載嗎?
目前物聯網平臺不支持批量下載設多個設備的MQTT連接參數。
物聯網平臺控制臺支持單個查看設備的MQTT連接參數,可用于測試設備接入物聯網平臺的連接認證。具體操作,請參見如何查看MQTT簽名參數。
實際業務開發中,設備的連接參數需要通過編輯代碼邏輯進行計算和拼接。詳細說明,請參見MQTT-TLS連接通信、MQTT-WebSocket連接通信、基于IPv6的MQTT連接通信。
推薦您使用阿里云提供的設備端SDK。使用阿里云提供的任何一種語言的設備端SDK,則不用您自己配置MQTT連接簽名機制。具體內容,請參見設備接入Link SDK。
若您不使用阿里云物聯網平臺的設備端SDK,物聯網平臺提供了使用開源的Paho MQTT庫將設備接入物聯網平臺的代碼示例,不同開發語言的相關代碼示例及簽名算法文件,請參見MQTT連接簽名示例。
設備端SDK是否支持MQTT協議的斷線重連?
支持。
測試場景描述:開發板通過Wi-Fi連接路由器。把網線拔掉后,MQTT協議的設備端會自動嘗試和服務器重新建立連接。重連嘗試時間間隔是1s、2s、4s、8s、…。C SDK重試的最大間隔時間默認是60秒,即斷網超過60秒后仍未連接成功,設備端會每隔60秒嘗試與服務器進行重連。您可以自定義最大間隔時間。
Android和Java SDK最大間隔時間為128秒,不支持自定義最大間隔時間。
單個設備一型一密免預注冊5次后,拒絕注冊認證,怎么辦?
一個設備只能免預注冊五次,超出后無法再注冊認證。如果您需要重新注冊此設備,需先清除ClientID
再重新注冊。
物聯網平臺提供云端接口DeleteClientIds可批量刪除單個設備下的所有標識ClientID
,您可循環調用該接口刪除多個設備的ClientID
。
單個阿里云賬號調用DeleteClientIds接口的每秒請求數(QPS)最大限制為10。單個阿里云賬號下的所有RAM用戶共享該阿里云賬號的配額。
一型一密免預注冊支持的地域和實例有哪些?
華東2(上海)、華北2(北京)地域的物聯網平臺企業版實例下設備支持使用一型一密免預注冊方式接入。
詳細內容,請參見一型一密。
MQTT一型一密MQTT動態注冊,獲取DeviceSecret失敗
設備已激活時,您需要調用接口ResetThing重置物聯網平臺云端設備動態注冊狀態為未注冊,才能再次動態注冊設備。
更多詳細說明,請參見基于MQTT協議的設備動態注冊。
一型一密預注冊方式下,一個DeviceName是否只能注冊一次?
設備名稱在產品內具有唯一性。預注冊是獲取DeviceName對應DeviceSecret,得到一組設備證書(ProductKey
、DeviceName
和DeviceSecret
)。同一組設備證書只能用于激活一個真實設備。
若DeviceName名下已激活真實設備A:
設備A不能再預注冊。如果需要重新注冊認證,需您調用ResetThing接口,重置設備A狀態為未激活,然后將設備A重新聯網激活。此時,物聯網平臺下發的DeviceSecret不變。
真實設備B也需要使用該DeviceName,則您需在物聯網平臺上先刪除設備A,使設備A的DeviceSecret作廢,再使用原DeviceName重新注冊設備,獲取新的DeviceSecret,用于激活真實設備B。