Android SDK
配网和注册
蓝牙配网

BLE 配网

timeout 单位为,例如 60 表示 60 秒。bindWithUid 虽然是可空类型,但没有默认参数,调用时必须显式传入。

AI 模组特别说明:当模组是 AI 模组,且由模组自行与云端建立绑定关系时,SDK 配网必须设置 bindWithUid = true 配网前先完成用户登录,或设置有效的 uidtoken。该模式使用当前用户的绑定设备列表确认配网结果;普通配网场景传 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()