鸿蒙HarmonyOS SDK
设备配网与注册
蓝牙配网

蓝牙配网

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、密码、总超时秒数和事件回调。成功时返回包含 productKeymacdeviceIdrandomCode 的注册信息。

取消配网

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、埋点或反馈内容输出密码。