BLE 配网
timeout 单位为秒,例如 60 表示 60 秒。bindWithUid 虽然是可空类型,但没有默认参数,调用时必须显式传入。
AI 模组特别说明:当模组是 AI 模组,且由模组自行与云端建立绑定关系时,SDK 配网必须设置 bindWithUid = true。 配网前先完成用户登录,或设置有效的 uid 和 token。该模式使用当前用户的绑定设备列表确认配网结果;普通配网场景传 false。此开关不能代替登录,也不等同于 App 主动调用设备 bind()。
配网前先扫描并获取设备。对于广播支持 5 GHz 配网的模组,SDK 会自动选择对应的协议,无需新增调用接口。
import com.gizwits.smart.sdk.bluetooth.bleCapability
import com.gizwits.smart.sdk.core.capacity.CapacityStatus
// 在协程内执行;AI 模组自行建立云端绑定时使用 true
val bindWithUid = true
val capability = device.bleCapability
if (capability.getModuleProfile()?.configured == false &&
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.bleCapability.stopProvideWiFiCredentials()