sdk初始化
设备认证
设备的身份认证采用一机一密的方式,在设备上烧写设备的唯一的UUID、AUTHKEY,这种方式要求对设备的产线工具进行一定的修改,需要对每个设备烧写不同的UUID和AUTHKEY; UUID和AUTHKEY成对出现,每一台设备都必须有自己uuid & authkey,且唯一,请向涂鸦项目经理申请几组用于调试。 在demo 中 PID,uuid & authkey 仅用作测试使用,不能用于实际产品,会导致后续产品不可用。PID 需要用户自行从涂鸦开发者平台申请。每一台设备都必须有自己uuid & authkey,且唯一。
函数调用流程
使用sdk其他接口功能前,要现在线程中调用如下接口完成tuya_sdk初始化过程;
接口说明
tuya_iot_init
#include "tuya_iot_com_api.h"
/***********************************************************
* @Function:tuya_iot_init
* @Desc: 用于tuya iot 系统的初始化,必须最先调用
* @Param: fs_storge_path,为sdk分配可读写的文件目录字符串,长度小于110字节
* @Return: OPRT_OK: success Other: fail
* @Note: 此目录用于sdk存储运行过程中需要断电保存的数据
***********************************************************/
OPERATE_RET tuya_iot_init(IN CONST CHAR_T *fs_storge_path)
接口使用示例:
#define CFG_STORAGE_PATH "./"
OPERATE_RET op_ret = tuya_iot_init(CFG_STORAGE_PATH);
if(OPRT_OK != op_ret) {
PR_ERR("tuya_iot_init err:%d PATH:%s", op_ret, CFG_STORAGE_PATH);
return op_ret;
}
PR_NOTICE("tuya_iot_init success");
日志管理
AddOutputTerm 和 SetLogManageAttr接口使用方法请参考: 日志管理
tuya_iot_set_gw_prod_info
#include "tuya_iot_base_api.h"
/***********************************************************
* @Function:tuya_iot_set_gw_prod_info
* @Desc: 设置设备授权信息(用于有线网关)
* @Param: prod_info,授权信息
* @Return: OPRT_OK: success Other: fail
***********************************************************/
OPERATE_RET tuya_iot_set_gw_prod_info(IN CONST GW_PROD_INFO_S *prod_info);
接口使用说明:
// UUID和AUTHKEY用于涂鸦云设备的安全认证,每个设备所用key均为唯一
#define UUID "tuya19342bc6e2d80143"
#define AUTHKEY "IbOFAiLzNAxgT84zd1mrjpy0sUSbJBt3"
GW_PROD_INFO_S prod_info = {UUID, AUTHKEY};
op_ret = tuya_iot_set_gw_prod_info(&prod_info);
if(OPRT_OK != op_ret) {
PR_ERR("tuya_iot_set_gw_prod_info op_ret:%d", op_ret);
return op_ret;
}
PR_NOTICE("tuya_iot_set_gw_prod_info success");
tuya_iot_set_wf_gw_prod_info
#include "tuya_iot_wifi_api.h"
/***********************************************************
* @Function:tuya_iot_set_wf_gw_prod_info
* @Desc: 设置设备授权信息(用于wifi网关)
* @Param: prod_info,授权信息 + 配网热点名称
* 热点名称字符串长度小于16字节
* 热点密码字符串长度小于16字节
* @Return: OPRT_OK: success Other: fail
***********************************************************/
OPERATE_RET tuya_iot_set_wf_gw_prod_info(IN CONST WF_GW_PROD_INFO_S *wf_prod_info);
接口使用说明:
// ap_ssid和ap_passwd参数可以NULL;
// ap_ssid=NULL时,默认热点名称为SmartLife-XXXX
#define ap_ssid "TuyaSmart" // 长度不得大于16字节
#define ap_passwd "12345678" // 长度不得大于16字节
WF_GW_PROD_INFO_S prod_info = {UUID, AUTHKEY, ap_ssid, ap_passwd};
op_ret = tuya_iot_set_wf_gw_prod_info(&prod_info);
if(OPRT_OK != op_ret) {
PR_ERR("tuya_iot_set_wf_gw_prod_info op_ret:%d", op_ret);
return op_ret;
}
PR_NOTICE("tuya_iot_set_wf_gw_prod_info success");