更新时间:2022-03-03 06:43:42下载pdf
热点配网又称 热点模式 或 AP(Access Point)配网,是一种通过 Wi-Fi 进行配网的连接能力。将手机连接到配网设备 Wi-Fi 热点后,App 与手机直接通过 Wi-Fi 进行通信配对。成功率高、可靠性好,可适配 2.4G/5G 混频路由器配网,但用户需要手动切换手机的 Wi-Fi 设置。
开始配网之前,SDK 需要在联网状态下从涂鸦查询配网 Token,然后才可以开始热点模式配网。Token 的有效期为 10 分钟,且配置成功后就会失效。再次配网时,需要重新查询 Token。
接口说明
- (void)getTokenWithHomeId:(long long)homeId
success:(TYSuccessString)success
failure:(TYFailureError)failure;
参数说明
参数 | 说明 |
---|---|
homeId | 设备将要绑定到的站点的 ID |
success | 成功回调,返回配网 Token |
failure | 失败回调,返回失败原因 |
示例代码
Objc:
- (void)getToken {
[[TuyaSmartActivator sharedInstance] getTokenWithHomeId:homeId success:^(NSString *token) {
NSLog(@"getToken success: %@", token);
// TODO: startConfigWiFi
} failure:^(NSError *error) {
NSLog(@"getToken failure: %@", error.localizedDescription);
}];
}
Swift:
func getToken() {
TuyaSmartActivator.sharedInstance()?.getTokenWithHomeId(homeId, success: { (token) in
print("getToken success: \(token)")
// TODO: startConfigWiFi
}, failure: { (error) in
if let e = error {
print("getToken failure: \(e)")
}
})
}
- (void)activator:(TuyaSmartActivator *)activator didReceiveDevice:(TuyaSmartDeviceModel *)deviceModel error:(NSError *)error;
参数说明
参数 | 说明 |
---|---|
activator | 配网使用 TuyaSmartActivator 对象实例 |
deviceModel | 配网成功时,返回此次配网的设备模型,失败时返回 nil |
error | 配网失败时,表示错误信息,成功时为 nil |
接口说明
- (void)startConfigWiFi:(TYActivatorMode)mode
ssid:(NSString *)ssid
password:(NSString *)password
token:(NSString *)token
timeout:(NSTimeInterval)timeout;
参数说明
参数 | 说明 |
---|---|
mode | 配网模式 |
ssid | Wi-Fi 名称 |
password | Wi-Fi 密码 |
token | 配网 Token |
timeout | 超时时间 |
示例代码
Objc:
- (void)startConfigWiFi:(NSString *)ssid password:(NSString *)password token:(NSString *)token {
// 设置 TuyaSmartActivator 的 delegate,并实现 delegate 方法
[TuyaSmartActivator sharedInstance].delegate = self;
// 开始配网,热点模式对应 mode 为 TYActivatorModeAP
[[TuyaSmartActivator sharedInstance] startConfigWiFi:TYActivatorModeAP ssid:ssid password:password token:token timeout:100];
}
#pragma mark - TuyaSmartActivatorDelegate
- (void)activator:(TuyaSmartActivator *)activator didReceiveDevice:(TuyaSmartDeviceModel *)deviceModel error:(NSError *)error {
if (!error && deviceModel) {
//配网成功
}
if (error) {
//配网失败
}
}
Swift:
func startConfigWiFi(withSsid ssid: String, password: String, token: String) {
// 设置 TuyaSmartActivator 的 delegate,并实现 delegate 方法
TuyaSmartActivator.sharedInstance()?.delegate = self
// 开始配网
TuyaSmartActivator.sharedInstance()?.startConfigWiFi(TYActivatorModeAP, ssid: ssid, password: password, token: token, timeout: 100)
}
#pragma mark - TuyaSmartActivatorDelegate
func activator(_ activator: TuyaSmartActivator!, didReceiveDevice deviceModel: TuyaSmartDeviceModel!, error: Error!) {
if deviceModel != nil && error == nil {
//配网成功
}
if let e = error {
//配网失败
print("\(e)")
}
}
热点模式配网与 快连模式 类似,把 [TuyaSmartActivator startConfigWiFi:ssid:password:token:timeout:]
的第一个参数改为 TYActivatorModeAP
即可。
ssid
和 password
是需要填写的路由器的热点名称和密码,而不是设备的热点名称和密码。
开始配网操作后,App 会持续广播配网信息,直到配网成功,或者超时。如果需要中途取消操作或配网完成,请调用 [TuyaSmartActivator stopConfigWiFi]
方法。
接口说明
- (void)stopConfigWiFi;
示例代码
Objc:
- (void)stopConfigWifi {
[TuyaSmartActivator sharedInstance].delegate = nil;
[[TuyaSmartActivator sharedInstance] stopConfigWiFi];
}
Swift:
func stopConfigWifi() {
TuyaSmartActivator.sharedInstance()?.delegate = nil
TuyaSmartActivator.sharedInstance()?.stopConfigWiFi()
}
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈