更新时间:2024-05-20 02:04:48下载pdf
通过摄像头设备扫描 App 二维码来传递配网信息的方式,实现设备配网。
参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
mode |
ActivatorMode |
是 | 配网模式 |
代码示例
self.pair = ActivatorService.shared.activator(.QRCode)
参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
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)")
})
QRCodeDataForQRCodeActivatorMode
方法参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
ssid | String | 是 | 要连接的 Wi-Fi 热点的 SSID |
password | String | 是 | 要连接的 Wi-Fi 热点的密码 |
pairingToken | String | 是 | 设备配网令牌 |
代码示例
self.qrCodeData = ActivatorService.shared.QRCodeDataForQRCodeActivatorMode(ssid: self.ssid, password: self.password, pairToken: self.pairingToken)
if let filter = CIFilter(name: "CIQRCodeGenerator") {
filter.setValue(self.qrCodeData, forKey: "inputMessage")
if let output = filter.outputImage {
let scale = 300 / output.extent.size.width
let qrImage = output.transformed(by: CGAffineTransform(scaleX: scale, y: scale))
self.qrCodeImage.image = UIImage(ciImage: qrImage)
}
}
参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
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 |
是 | 配网操作相关的参数信息,见代码示例 |
代码示例
// 创建 QRCodeActivatorParams 实例
let params = QRCodeActivatorParams(ssid: "my_wifi_ssid", password: "my_wifi_password", pairToken: "my_pair_token")
// 开始设备配网操作,pair 是在初始化过程中生成的
// self.pair = ActivatorService.shared.activator(.QRCode)
pair.startPair(params)
该方法用于停止设备配网操作。
代码示例
// 停止设备配网操作,pair 是在初始化过程中生成的
// self.pair = ActivatorService.shared.activator(.QRCode)
pair.stopPair()
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈