sdk版本:R528_TuyaOS3.13.1。tkl_uart 适配了,串口有数据收发。
app设置添加设备时只看到蓝牙相关的日志,没看到ZigBee相关日志:
[08-25 16:51:01:567 TUYA D][0xa4c38450][mqc_app.c:420] Rev MQTT:{"t":1756111861.522938,"protocol":200,"data":{"type":0,"time":120,"ble_safe_v2":true}}
ZigBee子设备开加网了,但是加不进去,帮忙看下是什么问题?
主代码:
INT_T user_main(CONST CHAR_T *cfg_file)
{
OPERATE_RET rt = OPRT_OK;
TY_PROD_INFO_S prod_info = {0};
CHAR_T *p_prod_key = NULL;
BOOL_T is_oem = FALSE, is_pre = FALSE;
CHAR_T *p_storage_path = NULL;
CONST CHAR_T *sw_ver = GLOBALDATA_INSTANCE.getAppSwVer();
Code: Select all
/* 初始化日志管理模块 */
TUYA_CALL_ERR_RETURN(__log_manager_init(TAL_LOG_LEVEL_DEBUG));
#if defined(OPERATING_SYSTEM) && (OPERATING_SYSTEM != SYSTEM_LINUX)
TUYA_CALL_ERR_RETURN(__init_config_file((CHAR_T *)cfg_file));
#endif
Code: Select all
/* 读取 JSON 配置文件 */
TUYA_CALL_ERR_RETURN(__parse_config_file(cfg_file, &p_storage_path,
&prod_info, &p_prod_key,
&is_oem, &is_pre));
PR_NOTICE("IOT SDK Version: %s", tuya_iot_get_sdk_info());
PR_NOTICE("USER_SW_VER: %s", sw_ver);
PR_NOTICE("PRODUCT_KEY: %s UUID: %s OEM: %d is_pre: %d",
p_prod_key, prod_info.uuid, is_oem, is_pre);
PR_NOTICE("CFG_STORAGE_PATH: %s", p_storage_path);
TY_GW_CALL_ERR_RETURN(user_iot_init(p_storage_path, &prod_info));
PR_NOTICE("====");
TUYA_PLATEFORM_S *cfg = tuya_get_config();
ty_cJSON *log_level = ty_cJSON_GetObjectItem(cfg->input, "log_level");
if (log_level && log_level->type == ty_cJSON_Number)
{
PR_NOTICE("log level: %d", log_level->valueint);
SetLogManageAttr((TAL_LOG_LEVEL_E)log_level->valueint);
}
PR_NOTICE("====");
TY_GW_CALL_ERR_RETURN(user_svc_init(is_oem, is_pre));
int ret = tuya_iot_reg_get_nw_stat_cb(__get_nw_stat_cb);
if (OPRT_OK != ret)
{
PR_ERR("tuya_iot_reg_get_nw_stat_cb err:%d", ret);
return -1;
}
PR_NOTICE("====");
TY_GW_CALL_ERR_RETURN(user_svc_start(p_prod_key, sw_ver));
PR_NOTICE("Device launch success");
GW_ATTACH_ATTR_T attr[] = {
{GP_DEV_ZB, "1.0.0"},
};
tuya_os_intf_init();
tuya_base_event_init();
TY_IOT_GW_CBS_S iot_gw_cbs;
memset(&iot_gw_cbs, 0, sizeof(TY_IOT_GW_CBS_S));
TY_IOT_CBS_S iot_cbs;
memset(&iot_cbs, 0, sizeof(TY_IOT_CBS_S));
iot_cbs.gw_reset_cb = __gw_reset_cb;
iot_cbs.dev_obj_dp_cb = __dev_obj_dp_cb;
iot_cbs.dev_raw_dp_cb = __dev_raw_dp_cb;
iot_cbs.active_shorturl = active_shourturl_cb;
iot_cbs.gw_status_cb = __gw_status_cb;
PR_NOTICE("====");
ret = tuya_iot_gw_dev_init(&iot_cbs, &iot_gw_cbs, p_prod_key, GLOBALDATA_INSTANCE.getAppSwVer(), attr, CNTSOF(attr));
if (OPRT_OK != ret)
{
PR_ERR("tuya_iot_gw_dev_init err:%d", ret);
return -1;
}
else
PR_NOTICE("tuya_iot_gw_dev_init success");
PR_NOTICE("====");
// TY_GW_CALL_ERR_RETURN(user_svc_start(p_prod_key, sw_ver));
// #if defined(OPERATING_SYSTEM) && (OPERATING_SYSTEM == SYSTEM_LINUX)
// while (1) {
// tal_system_sleep(5 * 1000);
// }
// #endif
return 0;
}
OPERATE_RET user_svc_init(IN CONST BOOL_T is_oem, IN CONST BOOL_T is_pre)
{
OPERATE_RET rt = OPRT_OK;
BOOL_T is_gw = TRUE;
(VOID) is_pre;
Code: Select all
/* IOT SDK PreInit*/
tuya_iot_sdk_pre_init(is_gw);
tuya_iot_oem_set(is_oem);
/* APP Service Init*/
/* 中控服务初始化 */
TY_GW_CALL_ERR_LOG(user_home_ctrl_svc_init());
int ret = tuya_home_ctrl_subscribe_dev_shortcut(ty_shortcut_cb);
if (ret != OPRT_OK)
{
PR_ERR("tuya_home_ctrl_subscribe_dev_shortcut err:%d", ret);
}
ret = tuya_home_ctrl_subscribe_dev_online(ty_dev_online_cb);
if (ret != OPRT_OK)
{
PR_ERR("tuya_home_ctrl_subscribe_dev_online err:%d", ret);
}
ret = tuya_home_ctrl_subscribe_dev_name_update(ty_devname_update_cb);
#if defined(ENABLE_GW_ZIGBEE) && (ENABLE_GW_ZIGBEE == 1)
/* zigbee服务初始化(可选) */
// TY_GW_CALL_ERR_LOG(user_zigbee_custom_init());
TY_GW_CALL_ERR_LOG(user_zigbee_svc_init());
#endif
Code: Select all
return OPRT_OK;
}