AP配网模式

说明:设备开启默认热点, 手机搜索发现到热点后连接到设备热点,手机将连接公网的路由器热点的SSID/密码发送给WiFi设备,然后WiFi设备使用手机发送过来的SSID/密码连接路由器

AP配网接口调用图

Title: Device active in ap mode

participant TuyaApp
participant Device
participant tuya_sdk
participant TuyaCloud

tuya_sdk->Device: hwl_wf_wk_mode_set(WWM_SOFTAP)
tuya_sdk->Device: hwl_wf_ap_start
Note over TuyaApp:用户选择Ap模式添加设备\n输入路由器的ssid和passwd
TuyaApp-->tuya_sdk:连接设备热点,广播{ssid,passwd,token} 
tuya_sdk->Device:hwl_wf_ap_stop
tuya_sdk->Device: hwl_wf_wk_mode_set(WWM_STATION)
tuya_sdk->Device: hwl_wf_station_connect(ssid,passwd)
Device-->tuya_sdk: return OPRT_OK
tuya_sdk->Device: hwl_wf_station_stat_get
Note over tuya_sdk: 每隔1s查询一次网络状态
Device-->tuya_sdk: WSS_GOT_IP
tuya_sdk->TuyaCloud: 请求设备激活
TuyaCloud-->tuya_sdk: 设备激活成功
tuya_sdk->Device: GET_WF_NW_STAT_CB(STAT_CLOUD_CONN)\n通知设备配网成功
TuyaApp->TuyaCloud:刷新设备列表
TuyaCloud-->TuyaApp:设备列表新增设备

用户需实现的接口说明

说明:如下接口涉及wifi网卡操作,请根据设备系统实现,demo里的实现仅供参考,未必适配你的设备;tuya_sdk未对wifi网卡驱动层做限制,比如没有要求必须支持ifconfig命令。 接口位置:tuya_iot_sdk/demo_soc_dev_wifi/tuya_iot_wifi_net.c文件中

hwl_wf_ap_start

/***********************************************************
 * @Function:hwl_wf_ap_stop
 * @Desc:   开启设备热点
 * @Return: OPRT_OK: success  Other: fail
 * @Note:   tuya_sdk会调用,应用层需要根据设备实现
***********************************************************/
OPERATE_RET hwl_wf_ap_start(IN CONST WF_AP_CFG_IF_S *cfg)
{
    PR_DEBUG("Start AP SSID:%s", cfg->ssid);
    if(cfg->passwd != NULL){
        PR_DEBUG("PASSWD:%s", cfg->passwd);
    }
    // UserTODO

    return OPRT_OK;
}

hwl_wf_ap_stop

/***********************************************************
 * @Function:hwl_wf_ap_stop
 * @Desc:   关闭设备热点
 * @Return: OPRT_OK: success  Other: fail
 * @Note:   tuya_sdk会调用,应用层需要根据设备实现
***********************************************************/
OPERATE_RET hwl_wf_ap_stop(VOID)
{
    PR_DEBUG("Stop Ap Mode");
    // UserTODO

    return OPRT_OK;
}

results matching ""

    No results matching ""