為了降低燒錄成本,避免對每個設備燒錄不同的設備密鑰,物聯網平臺的C Link SDK提供動態注冊功能(即:一型一密)。通過C Link SDK的MQTT動態注冊功能,設備可獲取接入物聯網平臺所需的認證信息,從而接入物聯網平臺。

前提條件

  • 已準備開發環境。
  • 已獲取C Link SDK。

    定制SDK時,在SDK定制頁面的設備認證方案區域,選中動態注冊。

  • 已創建產品,獲取了ProductNameProductSecret,并開啟了動態注冊。
  • 如果選擇一型一密預注冊的認證方式,需已為產品添加單個設備或批量添加設備,獲取了DeviceName

    一型一密預注冊和免預注冊的功能特點、使用限制等更多信息,請參見一型一密。

功能原理

應用程序通過調用C Link SDK的API,基于MQTT協議,動態注冊設備,以獲取設備接入物聯網平臺所需的認證信息。

如下功能時序圖,以設備的應用程序./demos/dynregmq_basic_demo.c為例,介紹應用程序實現該功能的流程。

MQTT動態注冊時序圖

MQTT動態注冊API的更多信息,請參見aiot_dynregmq_api.h。

MQTT動態注冊的預注冊和免預注冊,發送注冊請求時的身份信息和返回的認證信息如下表所示。

方式 請求的身份信息 返回的認證信息
預注冊
  • ProductKey
  • ProductSecret
  • DeviceName
DeviceSecret
免預注冊
  • ProductKey
  • ProductSecret
  • clientId
  • userName
  • password

使用示例

后續步驟

MQTT動態注冊成功后,您可以通過返回的認證信息,激活設備,將設備接入物聯網平臺。根據業務場景的設備協議,您可參考:
說明
  • 設備未激活時,可進行多次動態注冊,設備的DeviceSecret以最后一次為準。請確保固化到設備的DeviceSecret為最新。
  • 設備已激活時,您需調用ResetThing接口重置云端設備動態注冊狀態為未注冊,才能再次動態注冊該設備。