鸿蒙HarmonyOS SDK
基本概念

基本概念

机智云 HarmonyOS 原生 SDK 面向 ArkTS 应用,由一个核心模块和三个通信模块组成。

建议同时安装四个模块。模块版本请以 OHPM 页面显示的最新兼容版本为准。

模块组成

原生模块OHPM 包名职责
sdk@gizwits/smart-sdk (opens in a new tab)初始化、配置、用户、设备、数据点、日志和 OpenAPI
sdk_bluetooth@gizwits/smart-sdk-bluetooth (opens in a new tab)BLE 发现、连接、鉴权、配网、数据点和 OTA
sdk_lan@gizwits/smart-sdk-lan (opens in a new tab)局域网发现、连接、配网和数据点通信
sdk_mqtt@gizwits/smart-sdk-mqtt (opens in a new tab)云端连接、绑定设备同步和数据点通信

三个通信模块依赖 sdk。应用应先初始化 GizSDKManager,再初始化 GizBluetoothManagerGizLanManagerGizMqttManager

统一设备对象

GizDevice 是三种通信方式共用的设备对象。每个设备包含以下能力:

能力来源模块用途
device.bleCapabilitysdk_bluetoothBLE 连接、配网、数据点和 OTA
device.lanCapabilitysdk_lanLAN 连接、配网和数据点
device.mqttCapabilitysdk_mqttMQTT 云端连接和数据点

device.sendDataPoints() 会自动选择第一个可控通道,优先级为 BLE、LAN、MQTT。业务需要固定通道时,应直接调用对应的 capability。

通道状态

通信能力的状态由 GizCapacityStatus 表示:

状态含义
OFFLINE通道不可用或设备离线
ONLINE已发现或已连接,但尚不能下发控制指令
ONLINE_CONTROLLABLE已完成鉴权或登录,可以读写数据点

通过 capability.subscribeStatus().subscribe() 监听状态,在达到 ONLINE_CONTROLLABLE 后再进行控制。

状态订阅与释放

SDK 使用 GizState<T> 暴露可观察状态。subscribe() 默认立即回调当前值,并返回取消订阅函数:

const unsubscribe = device.bleCapability.subscribeStatus().subscribe((status): void => {
  // 根据 status 更新 ArkUI 状态。
});
 
// ArkUI 组件离开或 Ability 销毁时调用。
unsubscribe();

页面级扫描、发现、连接和订阅应随页面生命周期释放;整个应用不再使用 SDK 时,再依次关闭通信模块和核心模块。

下一步

  • 快速开始:安装、权限、初始化和最小调用流程。
  • 从左侧按账号、设备发现、配网、设备管理、设备通信和 OTA 等实际功能查阅 API。
  • API 列表:按原生模块检索 API 并跳转到具体用法。