日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

一型一密

一型一密認證方式下,同一產品下所有設備可以燒錄相同的設備標志信息,即所有設備包含相同的產品證書(ProductKey和ProductSecret)。設備發送激活請求時,物聯網平臺會進行身份確認,認證通過后,下發設備接入所需信息。

背景信息

一型一密認證支持兩種使用方式:一型一密免預注冊、一型一密預注冊。

  • 一型一密免預注冊:無需提前在物聯網平臺創建設備,該方式為動態創建設備,并返回認證信息給設備。

  • 一型一密預注冊:需要提前在物聯網平臺創建設備,該方式為動態獲取DeviceSecret。

前提條件

使用流程

如下功能時序圖,以設備的應用程序demos/device_dynamic_register_demo.c為例,介紹一型一密的使用流程。

  • 一型一密預注冊方式流程圖

    image
  • 一型一密免預注冊流程圖

    image

步驟1: 設備初始化

  1. 添加頭文件。

    #include "aiot_device_api.h"
  2. 創建設備句柄。

    void *device_client = aiot_device_create(product_key, device_name);
    if (device_client == NULL) {
        printf("device_client failed\n");
        return -1;
    }

步驟2: 設置連接參數

config = aiot_linkconfig_init(protocol);
if(config == NULL){
    aiot_device_delete(&device_client);
    printf("aiot_linkconfig_init failed\n");
    return -1;
}
aiot_linkconfig_host(config, host, port);
/* 動態注冊功能需要使用product_secret, 如果是企業實例設備還需要INSTANCE_ID */
aiot_linkconfig_dynamic_register(config, product_secret, INSTANCE_ID);

步驟3: 發起動態注冊請求

  • 一型一密預注冊方式

    /* 動態注冊獲取密鑰成功,可以使用該密鑰進行連接 */
    char device_secret_result[128];
    res = aiot_device_dynamic_secret(device_client, config, device_secret_result, 128);
    if(res != STATE_SUCCESS) {
        ...
    }
    /* TODO: 示例只做打印處理,用戶應保存設備密鑰 */
    printf("dynamic register success, device_secret %s\r\n", device_secret_result);
  • 一型一密免預注冊方式

    aiot_dynamic_register_info_t info;
    res = aiot_device_dynamic_register(device_client, config, &info);
    if(res != STATE_SUCCESS) {
        aiot_device_delete(&device_client);
        aiot_linkconfig_deinit(&config);
        printf("aiot_device_dynamic_register failed\n");
        return -1;
    }
    
    /* TODO: 此處只做打印處理,用戶應該完成建連信息的保存 */
    printf("dynamic register success, username %s, password %s, clientid %s\r\n", info.username, info.password, info.client_id);

步驟4: 保存設備密鑰并建連信息

整個流程示例中僅對動態注冊獲取的結果進行了打印處理,用戶使用時應該保存至文件系統中。

步驟5: 退出程序

/* 資源回收 */
aiot_linkconfig_deinit(&config);
aiot_device_delete(&device_client);