更新时间:2024-03-04 07:31:44
一些安全场景,可能会定期修改 Wi-Fi 密码,如果没有 Wi-Fi 多组连接功能,意味着所有连接的 Wi-Fi 设备都需要重新配网。通过提前预设多组 Wi-Fi 密码,则可以让设置自动尝试连接,从而无需经过重新配网,Wi-Fi 在线切换连接网络环境。
您可以通过 [device devAttributeIsSupport:12]
判断当前设备是否支持设置备用网络。
接口说明
获取当前设备连接的 Wi-Fi 信息。
- (void)getCurrentWifiInfoWithSuccess:(ThingSuccessDict)success failure:(ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
success | 获取 Wi-Fi 信息成功回调 |
failure | 失败回调 |
示例代码
Objc:
- (void)getCurrentWifiInfo {
// self.device = [ThingSmartDevice 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)")
}
})
}
接口说明
- (void)getBackupWifiListWithSuccess:(ThingSuccessDict)success failure:(ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
success | 获取当前设备已有的备用 Wi-Fi 列表成功回调 |
failure | 失败回调 |
示例代码
Objc:
- (void)getBackupWifiList {
// self.device = [ThingSmartDevice 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)")
}
})
}
接口说明
设置备用网络 ThingSmartBackupWifiModel
允许热点 SSID 加 Hash 形式,或者热点 SSID 加密码的形式存入。
- (void)setBackupWifiList:(NSArray<ThingSmartBackupWifiModel *> *)list success:(ThingSuccessDict)success failure:(ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
list | 备用 Wi-Fi 信息列表 |
success | 设置成功回调 |
failure | 失败回调 |
示例代码
Objc:
- (void)setBackupWifiList {
// 新添加的,设置密码
ThingSmartBackupWifiModel *newWifi = [[ThingSmartBackupWifiModel alloc] init];
newWifi.ssid = @"test1";
newWifi.password = @"12345678";
// 之前已添加过的,设置 hash
NSString *ssid = @"test2";
NSString *pwd = @"123123";
ThingSmartDeviceModel *dev = self.device.deviceModel;
NSString *hashStr = [ThingSmartBackupWifiModel getBase64HashValueWithLocalKey:dev.localKey ssid:ssid psw:pwd];
ThingSmartBackupWifiModel *savedWifi = [[ThingSmartBackupWifiModel 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 = [ThingSmartBackupWifiModel]()
// 新添加的,设置 SSID 和密码
let newWifi = ThingSmartBackupWifiModel()
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 = ThingSmartBackupWifiModel.getBase64HashValue(withLocalKey: localKey, ssid: ssid, psw: pwd)
let savedWifi = ThingSmartBackupWifiModel()
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)")
}
})
}
接口说明
切换至已设置备用网络。
- (void)switchToBackupWifiWithHash:(NSString *)hash success:(ThingSuccessDict)success failure:(ThingFailureError)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)")
}
})
}
接口说明
- (void)switchToBackupWifiWithSSID:(NSString *)ssid password:(NSString *)password success:(ThingSuccessDict)success failure:(ThingFailureError)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)")
}
})
}
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈