备用网络

更新时间:2022-02-17 05:27:26下载pdf

一些安全场景,可能会定期修改Wi-Fi密码,如果没有Wi-Fi多组连接功能,意味着所有连接的Wi-Fi设备都需要重新配网。通过提前预设多组Wi-Fi密码,则可以让设置自动尝试连接,从而无需经过重新配网,Wi-Fi在线切换连接网络环境。

查询当前网络信息

接口说明
获取当前设备连接的WIFI信息

- (void)getCurrentWifiInfoWithSuccess:(TYSuccessDict)success failure:(TYFailureError)failure;

参数说明

参数 说明
success 获取 Wi-Fi 信息成功回调
failure 失败回调

示例代码

Objc:

- (void)getCurrentWifiInfo {
    // self.device = [TuyaSmartDevice deviceWithDeviceId:@"your_device_id"];

    [self.device getCurrentWifiInfoWithSuccess:^(NSDictionary *dict) {
        NSLog(@"get current Wifi Info success");
    } failure:^(NSError *error) {
        NSLog(@"get current Wifi Info failure: %@", error);
    }];
}

Swift:

func getCurrentWifiInfo() {
    device?.getCurrentWifiInfo(success: { (wifiInfo) in
        print("get current Wifi Info success")
    }, failure: { (error) in
        if let e = error {
            print("get current Wifi Info failure: \(e)")
        }
    })
}

查询当前设备已有的备用 Wi-Fi 列表

接口说明

- (void)getBackupWifiListWithSuccess:(TYSuccessDict)success failure:(TYFailureError)failure;

参数说明

参数 说明
success 获取当前设备已有的备用 Wi-Fi 列表成功回调
failure 失败回调

示例代码

Objc:

- (void)getBackupWifiList {
    // self.device = [TuyaSmartDevice deviceWithDeviceId:@"your_device_id"];

    [self.device getBackupWifiListWithSuccess:^(NSDictionary *dict) {
        NSLog(@"get backupWifi list success");
    } failure:^(NSError *error) {
        NSLog(@"get backupWifi list failure: %@", error);
    }];
}

Swift:

func getBackupWifiList() {
    device?.getBackupWifiList(success: { (wifiList) in
        print("get backupWifi list success")
    }, failure: { (error) in
        if let e = error {
            print("get backupWifi list failure: \(e)")
        }
    })
}

设置备用网络

接口说明

设置备用网络 TuyaSmartBackupWifiModel允许ssid+hash形式或者ssid+password形式存入

- (void)setBackupWifiList:(NSArray<TuyaSmartBackupWifiModel *> *)list success:(TYSuccessDict)success failure:(TYFailureError)failure;

参数说明

参数 说明
list 备用Wi-Fi信息列表
success 设置成功回调
failure 失败回调

示例代码

Objc:

- (void)setBackupWifiList {
    // 新添加的,设置密码
    TuyaSmartBackupWifiModel *newWifi = [[TuyaSmartBackupWifiModel alloc] init];
    newWifi.ssid = @"test1";
    newWifi.password = @"12345678";
    
    // 之前已添加过的,设置hash
    NSString *ssid = @"test2";
    NSString *pwd = @"123123";
    TuyaSmartDeviceModel *dev = self.device.deviceModel;
    NSString *hashStr = [TuyaSmartBackupWifiModel getBase64HashValueWithLocalKey:dev.localKey ssid:ssid psw:pwd];
    TuyaSmartBackupWifiModel *savedWifi = [[TuyaSmartBackupWifiModel alloc] init];
    savedWifi.ssid = ssid;
    savedWifi.hashValue = hashStr;

    NSArray *wifiList = @[newWifi, savedWifi];
    [self.device setBackupWifiList:wifiList success:^(NSDictionary *dict) {
        NSLog(@"set backupWifi list success");
    } failure:^(NSError *error) {
        NSLog(@"set backupWifi list failure: %@", error);
    }];
}

Swift:

func setBackupWifiList() {
    var list = [TuyaSmartBackupWifiModel]()
    // 新添加的,设置ssid+密码
    let newWifi = TuyaSmartBackupWifiModel()
    newWifi.ssid = "test1"
    newWifi.password = "12345678"
    list.append(newWifi)
    
    // 之前已添加过的,设置ssid+hash
    if let localKey = device?.deviceModel.localKey {
        let ssid = "test2"
        let pwd = "123123"
        let hashStr = TuyaSmartBackupWifiModel.getBase64HashValue(withLocalKey: localKey, ssid: ssid, psw: pwd)
        let savedWifi = TuyaSmartBackupWifiModel()
        savedWifi.ssid = "test2"
        savedWifi.hashValue = hashStr
        list.append(savedWifi)
    }
    
    device?.setBackupWifiList(list, success: { (info) in
        print("set backupWifi list success")
    }, failure: { (error) in
        if let e = error {
            print("set backupWifi list failure: \(e)")
        }
    })
}

切换网络

切换到已备份的Wi-Fi

接口说明

切换至已设置备用网络

- (void)switchToBackupWifiWithHash:(NSString *)hash success:(TYSuccessDict)success failure:(TYFailureError)failure;

参数说明

参数 说明
hash 已设置Wi-Fi的hash
success 设置成功回调
failure 失败回调

示例代码

Objc:

- (void)switchToBackupWifi {
    [self.device switchToBackupWifiWithHash:backupWifiModel.hashValue success:^(NSDictionary *dict) {
        NSLog(@"switch to BackupWifi success");
    } failure:^(NSError *error) {
        NSLog(@"switch to BackupWifi failure: %@", error);
    }];
}

Swift:

func switchToBackupWifi() {
    device?.switchToBackupWifi(withHash: backipWifiModel.hashValue, success: { (info) in
        print("switch to BackupWifi success")
    }, failure: { (error) in
        if let e = error {
            print("switch to BackupWifi failure: \(e)")
        }
    })
}

切换到新的Wi-Fi

接口说明

- (void)switchToBackupWifiWithSSID:(NSString *)ssid password:(NSString *)password success:(TYSuccessDict)success failure:(TYFailureError)failure;

参数说明

参数 说明
ssid Wi-Fi名称
password Wi-Fi密码
success 设置成功回调
failure 失败回调

示例代码

Objc:

- (void)switchToBackupWifi {
    [self.device switchToBackupWifiWithSSID:@"test" password:@"12345678" success:^(NSDictionary *dict) {
        NSLog(@"switch to BackupWifi success");
    } failure:^(NSError *error) {
        NSLog(@"switch to BackupWifi failure: %@", error);
    }];
}

Swift:

func switchToBackupWifi() {
    device?.switchToBackupWifi(withSSID: "test", password: "12345678", success: { (info) in
        print("switch to BackupWifi success")
    }, failure: { (error) in
        if let e = error {
            print("switch to BackupWifi failure: \(e)")
        }
    })
}