设备初始化

网关产品key信息获取,请参考创建产品

tuya_iot_wf_soc_dev_init

/***********************************************************
 * @Function:tuya_iot_wf_soc_dev_init
 * @Desc:   wifi设备初始化接口
 * @Param:  cfg,选择GWCM_OLD
 * @Param:  start_mode, 配网支持模式选择
 *          WF_START_AP_ONLY: 只支持AP配网模式
 *          WF_START_SMART_ONLY: 只支持Smart配网模式
 *          WF_START_AP_FIRST: 同时支持AP和Smart两种模式,配网成功后重置进入AP模式
 *          WF_START_SMART_FIRST: 同时支持AP和Smart两种模式,配网成功后重置进入Smart模式
 * @Param:  cbs, sdk用户回调
 * @Param:  product_key,设备的产品key信息
 * @Param:  wf_sw_ver,设备的固件版本 格式:xx.xx.xx (0<=x<=9)
 * @Return: OPRT_OK: success  Other: fail
***********************************************************/
#define tuya_iot_wf_soc_dev_init(cfg, start_mode,cbs,product_key,wf_sw_ver) \
        tuya_iot_wf_soc_dev_init_param(cfg, start_mode,cbs,NULL,product_key,wf_sw_ver)

__TUYA_IOT_WIFI_API_EXT \
OPERATE_RET tuya_iot_wf_soc_dev_init_param(IN CONST GW_WF_CFG_MTHD_SEL cfg, IN CONST GW_WF_START_MODE start_mode,
                                     IN CONST TY_IOT_CBS_S *cbs,IN CONST CHAR_T *firmware_key,
                                     IN CONST CHAR_T *product_key,IN CONST CHAR_T *wf_sw_ver);

接口使用说明

#define USER_SW_VER  "1.0.0"  // wifi设备固件版本,用于OTA管理

    TY_IOT_CBS_S iot_cbs = {
        __soc_dev_status_changed_cb,
        __soc_dev_rev_upgrade_info_cb,
        __soc_dev_reset_req_cb,
        __soc_dev_obj_dp_cmd_cb,
        __soc_dev_raw_dp_cmd_cb,
        __soc_dev_dp_query_cb,
        NULL,
    };
    op_ret = tuya_iot_wf_soc_dev_init(GWCM_OLD, WF_CFG_MODE_SELECT, &iot_cbs, PRODUCT_KEY, USER_SW_VER);
    if(OPRT_OK != op_ret) {
        PR_ERR("tuya_iot_wf_soc_dev_init err:%d",op_ret);
        return -4;
    }
    PR_NOTICE("tuya_iot_wf_soc_dev_init success");

sdk用户回调

tuya_iot_reg_get_nw_stat_cb

/***********************************************************
 * @Function:tuya_iot_reg_get_nw_stat_cb
 * @Desc:   设备网络状态通知回调注册
 * @Param:  nw_stat_cb,回调函数名称
 * @Return: OPRT_OK: success  Other: fail
 * @Note:   tuya_sdk每隔1s查询一次状态,如果改变,通知应用层
***********************************************************/
OPERATE_RET tuya_iot_reg_get_nw_stat_cb(IN CONST GET_NW_STAT_CB nw_stat_cb);

接口使用说明

op_ret = tuya_iot_reg_get_nw_stat_cb(__soc_dev_net_status_cb);
if(OPRT_OK != op_ret) {
    PR_ERR("tuya_iot_reg_get_nw_stat_cb err:%d",op_ret);
    return -4;
}
PR_DEBUG("tuya_iot_reg_get_nw_stat_cb success");

__soc_dev_net_status_cb

/***********************************************************
 * @Function:__soc_dev_net_status_cb
 * @Desc:   设备网络状态通知,由tuya_sdk回调通知应用层
 * @Param:  stat,网络状态参数,如下说明:
            STAT_LOW_POWER,     0-idle status,use to external config network
            STAT_UNPROVISION,   1-Smart配网模式
            STAT_AP_STA_UNCFG,  2-Ap配网模式
            STAT_AP_STA_DISC,   3-ap WIFI already config,station disconnect
            STAT_AP_STA_CONN,   4-ap station mode,station connect
            STAT_STA_DISC,      5-only station mode,disconnect
            STAT_STA_CONN,      6-设备连接路由器成功
            STAT_CLOUD_CONN,    7-设备成功连接涂鸦云
            STAT_AP_CLOUD_CONN, 8-设备成功连接涂鸦云,且ap热点开启,适用于支持sta+ap模式的设备
 * @Return: OPRT_OK: success  Other: fail
***********************************************************/
STATIC VOID __soc_dev_net_status_cb(IN CONST GW_WIFI_NW_STAT_E stat)
{
    PR_NOTICE("network status:%d", stat);
    //User TODO
}

results matching ""

    No results matching ""