本文介绍如何获取授权码,并将其写入设备。
授权码
授权码(License)是涂鸦统一为设备颁发的安全加密证书,是智能设备运行涂鸦 IoT 操作系统的合法凭证,每台设备都具有唯一的授权码。也就是说,一个授权码代表一个设备接入许可,仅用于一台设备连接和访问云端。
获取授权码
关于如何获取授权码,参考:
领取免费授权码
购买授权码
写入授权码
授权码支持两种写入方式:
通过 涂鸦提供的生产工具 或基于 涂鸦 SDK 开发 的生产工具,在 模组产测流程 中向设备写入授权码。如果您想使用该方式写入,参考 模组产测。
获取 授权码清单 文件,包含 UUID 和 Authkey 字段信息。您可将授权信息通过调用 API 接口的方式写入设备。本文主要介绍将授权码 通过调用接口的方式 写入设备的授权方案。
开发指导
关联头文件
tuya_ws_db.h
tuya_iot_wifi_api.h
使用说明
获取授权码清单。
格式化涂鸦键-值数据库(key–value database,KV DB)。
写入授权信息。
正常情况下,步骤 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 工程。