有线设备配网

更新时间:2024-05-20 03:46:47下载pdf

有线设备是指通过有线网络连接路由器,配网过程无需输入路由器的热点名称和密码。本文以 Zigbee 有线网关为例,介绍有线配网业务流程。

IActivator 初始化

参数说明

参数名 类型 是否必填 说明
mode ActivatorMode 配网模式

代码示例

self.pair = ActivatorService.shared.activator(.WiredGateway)

获取配网 Token

参数说明

参数名 类型 是否必填 说明
assetId String 指定的资产 ID
longitude String 经度信息
latitude String 纬度信息
success ((String)->(Void))? 成功回调函数
failure ((Error)->(Void))? 失败回调函数

代码示例

// 获取资产激活令牌
ActivatorService.shared.activatorToken(assetId: "123456", longitude: "30.1234", latitude: "120.5678", success: { token in
    // 成功回调函数
    print("激活令牌为:\(token)")
}, failure: { error in
    // 失败回调函数
    print("获取激活令牌失败,错误信息为:\(error.localizedDescription)")
})

注册 IActivatorListener 监听配网结果

参数说明

参数名 类型 是否必填 说明
deviceModel IActivatedDevice? 若操作成功,表示被激活的设备信息,否则为 nil
params ActivatorParams? 操作相关的参数信息

回调函数说明

函数名 参数 说明
onSuccess deviceModel: IActivatedDevice?, params: ActivatorParams? 操作成功回调函数,返回被激活的设备信息
onError error: Error, params: ActivatorParams? 操作失败回调函数,返回错误信息

代码示例

private func start() {
    pair.listener = self
}

extension ViewController: IActivatorListener {
    func onSuccess(deviceModel: IActivatedDevice?, params: ActivatorParams?) {
        SVProgressHUD.dismiss()
        self.navigationController?.popToRootViewController(animated: true)
    }

    func onError(error: Error, params: ActivatorParams?) {
        SVProgressHUD.dismiss()
        SVProgressHUD.showInfo(withStatus: error.localizedDescription)
    }
}

开始配网

该方法用于开始设备配网操作。

参数说明

参数名 类型 是否必填 说明
params ActivatorParams 配网操作相关的参数信息,见代码示例

代码示例

// 创建 WiredGatewayActivatorParams 实例
let params = WiredGatewayActivatorParams(token: "my_pair_token")

// 开始设备配网操作,pair 是在初始化过程中生成的
// self.pair = ActivatorService.shared.activator(.WiredGateway)
pair.startPair(params)

停止配网

该方法用于停止设备配网操作。

代码示例

// 停止设备配网操作,pair 是在初始化过程中生成的
// self.pair = ActivatorService.shared.activator(.WiredGateway)
pair.stopPair()