Wi-Fi 快连模式

更新时间:2024-06-26 02:03:55下载pdf

Wi-Fi 快连配网又称 快连模式(Easy-Connect)、SmartConfig 或 EZ 配网。用户将手机连接到路由器后,利用路由器广播报文与设备进行通信配对。对用户操作简单,但对手机和路由器有兼容性要求,成功率低于 热点配网

查询配网 Token

开始配网之前,您需要在联网状态下从云端查询配网 Token,然后才可以开始快连模式配网。Token 的有效期为 10 分钟,且配置成功后就会失效。再次配网时,需要重新查询 Token。

ThingActivatorDeviceCoreKit.getActivatorInstance()
                .getActivatorToken(spaceId,IThingActivatorGetToken)

参数说明

参数 说明
spaceId 设备将绑定到的家庭 ID
callback 获取结果回调

开始搜索

val scankey = ThingActivatorCoreKit.getScanDeviceManager().startEzDeviceSearch(
        context: Context,
        ssid: String,
        pwd: String? = "",
        token: String,
        millisTimeOut: Long,
        thingActivatorScanCallback: ThingActivatorScanCallback
    )

参数说明

参数 说明
context 上下文
ssid Wi-Fi 名称
pwd Wi-Fi 密码
token Token 信息
millisTimeOut 超时,单位为毫秒(ms)
thingActivatorScanCallback 搜索超时回调

停止搜索

ThingActivatorCoreKit.getScanDeviceManager().stopScan(scankey)

开始配网

方法一:使用搜索结果配网

val builder = ThingDeviceActiveBuilder()
            .setActiveModel(ThingDeviceActiveModeEnum.EZ) //设备配网枚举
            .setActivatorScanDeviceBean(thingActivatorScanDeviceBean)
            .setTimeOut(timeout)
            .setListener(object : IThingDeviceActiveListener {
                override fun onFind(devId: String) {
                }

                override fun onBind(devId: String) {
                }

                override fun onActiveSuccess(deviceBean: DeviceBean) {

                }

                override fun onActiveError(errorBean: ThingDeviceActiveErrorBean) {

                }

                override fun onActiveLimited(limitBean: ThingDeviceActiveLimitBean) {
                }
            })

val activeManager = ThingActivatorCoreKit.getActiveManager().newThingActiveManager()
activeManager.startActive(builder)

参数说明

参数 说明
activatorScanDeviceBean 扫描到的设备实体
timeout 超时时长,单位为秒(s)
activeModel 配网能力枚举
listener 配网结果回调

方法二:设备直接配网

val builder = ThingDeviceActiveBuilder()
            .setActiveModel(ThingDeviceActiveModeEnum.EZ)
            .setSsid(ssid)
            .setPassword(pwd)
            .setToken(token)
            .setTimeOut(timeout)
            .setListener(object : IThingDeviceActiveListener {
                override fun onFind(devId: String) {
                }

                override fun onBind(devId: String) {
                }

                override fun onActiveSuccess(deviceBean: DeviceBean) {

                }

                override fun onActiveError(errorBean: ThingDeviceActiveErrorBean) {

                }

                override fun onActiveLimited(limitBean: ThingDeviceActiveLimitBean) {
                }
            })

val activeManager = ThingActivatorCoreKit.getActiveManager().newThingActiveManager()
activeManager.startActive(builder)

参数说明

参数 说明
ssid Wi-Fi 名称
password Wi-Fi 密码
token Token 信息
timeout 超时时长,单位为(s)
activeModel 配网能力枚举
listener 配网结果回调

停止配网

//停止配网
activeManager.stopActive()