OS 3.3.4 版本SDK ,去掉了路由产测功能,需要自己去实现。
1.获取设备是否配过网络 以前的wd_gw_wsm_read 接口不在了,请问有新的接口替换吗
2.使用get_gw_cntl 获取UUID 和 auth_key 也是空值
OS 3.3.4 版本SDK ,去掉了路由产测功能,需要自己去实现。
1.获取设备是否配过网络 以前的wd_gw_wsm_read 接口不在了,请问有新的接口替换吗
2.使用get_gw_cntl 获取UUID 和 auth_key 也是空值
第一个接口建议使用
/**
第二个接口建议使用
/**
这两个接口的声明都在头文件:tuya_devos_utils.h
好的 我这边测试一下
不好意思,如果是在设备初始化之前使用,上述两个接口在3.3.4版本里还没初始化。
所以第一个接口还是建议调用原来的 wd_gw_wsm_read 这个接口从flash中读取,这个接口的声明在 ws_db_gw.h中
第二个接口建议按照如下方法实现
Code: Select all
BOOL_T __is_dev_authorized(VOID_T)
{
OPERATE_RET ret = OPRT_OK;
GW_BASE_IF_S *p_gw_base = NULL;
BOOL_T is_authorized = TRUE;
p_gw_base = (GW_BASE_IF_S *)tal_malloc(SIZEOF(GW_BASE_IF_S));
if(NULL == p_gw_base) {
TAL_PR_ERR("malloc failed");
return FALSE;
}
memset((UCHAR_T *)p_gw_base, 0x00, SIZEOF(GW_BASE_IF_S));
ret = wd_gw_base_if_read(p_gw_base);
if (OPRT_OK != ret) {
TAL_PR_ERR("read flash err");
tal_free(p_gw_base), p_gw_base = NULL;
return FALSE;
}
// gateway base info verify
if (0 == p_gw_base->auth_key[0] || 0 == p_gw_base->uuid[0]) {
TAL_PR_NOTICE("please write uuid and auth_key first");
is_authorized = FALSE;
}else {
is_authorized = TRUE;
}
tal_free(p_gw_base), p_gw_base = NULL;
return is_authorized;
}