蓝牙配网
BLE 配网通过统一 capability 完成连接、发送 Wi-Fi 凭据、轮询设备注册结果和断开连接。目标设备必须已通过蓝牙发现。
开始配网
import {
GizDeviceRegistrationInfo,
GizProvisionEvent,
GizProvisionStage,
} from '@gizwits/smart-sdk';
import { hilog } from '@kit.PerformanceAnalysisKit';
const registration: GizDeviceRegistrationInfo | undefined =
await device.bleCapability.provideWiFiCredentials(
device,
'wifi-ssid',
'wifi-password',
60,
(event: GizProvisionEvent): void => {
hilog.info(
0x0000,
'GizwitsSample',
'Provision stage=%{public}s code=%{public}d',
event.stage,
event.code
);
if (event.stage === GizProvisionStage.CONFIG_SUCCESS) {
// 更新 ArkUI 为配网成功状态。
}
}
);参数依次为设备、SSID、密码、总超时秒数和事件回调。成功时返回包含 productKey、mac、deviceId 和 randomCode 的注册信息。
取消配网
device.bleCapability.stopProvideWiFiCredentials(device);取消后回调会收到 CONFIG_CANCELLED,正在执行的 Promise 会以异常结束。
仅发送 Wi-Fi 信息
GizBluetoothManager.configureNetwork() 是低层接口,只向已发现设备发送 Wi-Fi 信息,不包含完整的云端注册轮询。普通集成优先使用 provideWiFiCredentials()。
await GizBluetoothManager.configureNetwork(device, 'wifi-ssid', 'wifi-password');⚠️
Wi-Fi 密码是敏感数据。不要通过 hilog、埋点或反馈内容输出密码。