AP 配网
timeout 单位为秒,例如 60 表示 60 秒。bindWithUid 虽然是可空类型,但没有默认参数,调用时必须显式传入。
AI 模组特别说明:当模组是 AI 模组,且由模组自行与云端建立绑定关系时,SDK 配网必须设置 bindWithUid = true。 配网前先完成用户登录,或设置有效的 uid 和 token。该模式使用当前用户的绑定设备列表确认配网结果;普通配网场景传 false。此开关不能代替登录,也不等同于 App 主动调用设备 bind()。
请先让手机连接设备的 AP 热点,再对发现的 LAN 设备调用配网。
import com.gizwits.smart.sdk.lan.lanCapability
import com.gizwits.smart.sdk.core.capacity.CapacityStatus
// 在协程内执行;AI 模组自行建立云端绑定时使用 true
val bindWithUid = true
val capability = device.lanCapability
if (capability.getStatus() != CapacityStatus.OFFLINE) {
val result = capability.provideWiFiCredentials(
ssid = ssid,
password = password,
timeout = 60L,
processHandler = { event -> println(event) },
bindWithUid = bindWithUid
)
result.onSuccess {
// 配网成功,返回值为 Unit,设备信息从设备列表获取
}.onFailure { error -> println(error) }
}停止配网
val stopResult = device.lanCapability.stopProvideWiFiCredentials()