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