设备授权

更新时间:2023-12-25 02:08:31下载pdf

本文介绍如何获取授权码,并将其写入设备。

授权码

授权码(License)是涂鸦统一为设备颁发的安全加密证书,是智能设备运行涂鸦 IoT 操作系统的合法凭证,每台设备都具有唯一的授权码。也就是说,一个授权码代表一个设备接入许可,仅用于一台设备连接和访问云端。

获取授权码

关于如何获取授权码,参考:

写入授权码

授权码支持两种写入方式:

  • 通过 涂鸦提供的生产工具 或基于 涂鸦 SDK 开发 的生产工具,在 模组产测流程 中向设备写入授权码。如果您想使用该方式写入,参考 模组产测
  • 获取 授权码清单 文件,包含 UUID 和 Authkey 字段信息。您可将授权信息通过调用 API 接口的方式写入设备。本文主要介绍将授权码 通过调用接口的方式 写入设备的授权方案。

开发指导

关联头文件

  • tuya_ws_db.h

  • tuya_iot_wifi_api.h

使用说明

  1. 获取授权码清单。

  2. 格式化涂鸦键-值数据库(key–value database,KV DB)。

  3. 写入授权信息。

    正常情况下,步骤 2 和 3 只需要被执行一次。您需要做好写入授权信息的入口管理,避免设备每次上电都执行一次写入授权信息。

API 说明

KV DB 初始化

KV DB 初始化是在设备产测的时候完成,一般不需要您关注。如果您不使用涂鸦的产测工具,您需要对 KV DB 进行初始化/格式化。

/**
* @brief Tuya key-value database initialization in mf
*
* @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
*
* @note Users don't need to care about this function, it will be called during production test initialization.
*
*/
OPERATE_RET ws_db_init_mf(VOID);

写入授权信息

/**
* Definition of Wi-Fi product info
*/
typedef struct {
    CHAR_T *uuid;       // strlen(uuid) ≤ 16, it must not be null
    CHAR_T *auth_key;   // strlen(auth_key) ≤ 32, it must not be null
    CHAR_T *ap_ssid;    // strlen(ap_ssid) ≤ 16, if ap_ssid is null, then the default ssid is Smartlife_xxxx
                        // Ap 配网时,设备建立的热点名称
    CHAR_T *ap_passwd; // strlen(ap_passwd) ≤ 16, default null
} WF_GW_PROD_INFO_S;

/**
* @brief tuya_iot_set_wf_gw_prod_info
*
* @param[in] wf_prod_info:device product info
*
* @return OPERATE_RET
*/
OPERATE_RET tuya_iot_set_wf_gw_prod_info(IN CONST WF_GW_PROD_INFO_S *wf_prod_info)

参考示例

可以参考 快速入门-下载调试 中的 tuyaos_demo_quickstart 工程。