跳到主要内容

概述

@espressif/rainmaker-base-sdk SDK 基于 TypeScript,为移动应用集成 ESP RainMaker 功能提供核心能力,为构建与 ESP RainMaker 设备交互、管理用户、控制设备和组织群组的应用程序提供了基础。

npmGitHub

架构

SDK 采用模块化架构设计,灵活且可扩展:

核心组件

  • 核心 SDK 功能 - 用于 RainMaker 操作的主要 SDK 类和方法
  • 适配器接口 - 用于特定平台实现的平台无关接口
  • TypeScript 支持 - 完整的 TypeScript 类型和接口,提供更好的开发体验
  • 基于 Promise 的 API - 所有操作使用 async/await 模式,实现简洁的异步代码

主要类

  • ESPRMBase - 用于初始化和配置的主 SDK 类
  • ESPRMAuth - 身份验证和用户管理
  • ESPRMUser - 用于用户级操作的用户实例
  • ESPRMNode - 用于设备操作的设备/节点实例
  • ESPRMGroup - 用于群组操作的群组实例

SDK 架构流程

核心功能

1. 用户管理

全面的用户账号和身份验证管理:

  • 身份验证 - 用户注册、登录(密码/OTP)和 OAuth 集成
  • 密码管理 - 密码恢复、更改密码和账号安全
  • 用户资料 - 管理用户信息、手机号码和时区设置
  • 自定义数据 - 以细粒度权限存储和管理用户自定义数据
  • 标签管理 - 对用户进行分类并通过标签管理功能访问权限
  • 安全性 - 多重要素验证 (MFA) 和账号管理
  • 会话管理 - 处理用户会话、令牌和注销操作
  • 推送通知 - 为移动应用注册和管理推送通知端点

详细信息请参阅 用户管理

2. 设备管理

完整的设备生命周期和控制管理:

  • 设备配网 - 将新的 RainMaker 设备添加到账号
  • 节点管理 - 检索、管理和删除已配网的设备(节点)
  • 设备控制 - 控制设备参数和更新设备状态
  • 服务控制 - 管理服务参数和配置
  • 时序数据 - 从设备参数中检索历史数据
  • 自动化 - 创建和管理自动化触发器
  • 节点共享 - 与其他用户共享设备
  • OTA 更新 - OTA 固件更新
  • 时区管理 - 设置和更新节点时区
  • 节点元数据和标签 - 管理节点标签和元数据
  • 传输顺序 - 配置通信传输模式
  • 批量操作 - 高效更新多个节点

详细信息请参阅 设备管理

3. 群组管理

组织和管理群组中的设备:

  • 获取群组 - 支持分页检索和查询节点群组
  • 管理群组 - 创建、更新、删除群组,管理群组中的节点
  • 共享群组 - 与其他用户共享群组并管理共享请求
  • 群组元数据 - 管理群组元数据和自定义数据
  • 子群组 - 在父群组中创建和管理子群组

详细信息请参阅 群组管理

4. 适配器架构

SDK 提供灵活的适配器系统,用于特定平台的实现:

  • 存储适配器:用于持久化数据存储
  • 配网适配器:用于设备配网操作
  • 本地发现适配器:用于在本地网络上查找设备
  • 本地控制适配器:用于与设备直接通信
  • 通知适配器:用于处理推送通知
  • OAuth 适配器:用于第三方身份验证
  • 应用工具适配器:用于平台特定的工具函数

适配器模式允许 SDK 为不同平台提供不同的实现逻辑,可以在不同的 JavaScript 框架(React Native、Vue、Angular、Electron 等)上运行。React Native 的参考实现可在 esp-rainmaker-home/adaptors 获取。

更多为平台实现适配器的详细信息,请参阅 SDK 适配器指南

集成选项

直接使用 SDK

在应用中直接使用 SDK,获得完全控制权:

  • 完全控制 - 直接访问所有 SDK 方法和功能
  • 自定义实现 - 为平台实现所需的适配器
  • 状态管理 - 使用偏好的方式自行处理状态管理
  • 灵活性 - 完全控制如何集成 SDK 功能

这种方式适合希望获得最大灵活性和控制权的开发者。

CDF 集成

与中央数据框架 (CDF) 配合使用,以增强功能:

  • 内置状态管理 - 自动状态同步和管理
  • 数据同步 - 应用程序中的实时数据更新
  • 简化集成 - 为常见操作提供更高级别的抽象
  • 响应式更新 - 数据变化时自动更新 UI

这种方式适合希望获得更具约束性、类似框架体验,并内置状态管理机制的开发者。

有关 CDF 集成的更多详情,请参阅 CDF 文档

集成对比

其他资源

On this page