跳到主要内容

后端说明

后端组件

ESP RainMaker 部署中的后端组件有哪些?

在 ESP RainMaker 的部署中,后端组件负责提供云连接、设备管理、存储和用户账号服务。以下是主要后端组件的详细介绍。


1. MQTT Broker (AWS IoT Core)

  • 作用:使用 MQTT 协议,在 IoT 设备与云端之间提供实时的双向通信。

  • 工作原理:基于发布/订阅模型。设备与云服务可以发布消息到某个主题,也可以订阅某个主题以接收消息。

    AWS IoT Core 还负责安全地处理身份验证、授权和消息路由。

  • 示例:设备将传感器数据发布到主题 device/abc123/status → AWS IoT Core 接收该消息 → 已订阅的云服务(如 Lambda 函数)处理消息 → 可选择将数据存入数据库或触发警报。


2. Lambda (AWS Lambda)

  • 作用:运行后端逻辑或函数,无需管理服务器。

  • 工作原理:基于事件驱动。当发生某些事件(如新的 MQTT 消息、API 调用或定时事件)时自动触发执行。

  • 示例:用户在 App 中点击按钮打开设备 → 触发 Lambda 函数 → 函数向 MQTT Broker 发送控制命令 → 设备被打开。


3. S3(Amazon 简单存储服务)

  • 作用:用于存储固件二进制文件、日志、配置文件或其他静态资源。

  • 工作原理:设备或服务可在 S3 中通过安全 API 或签名 URL 上传、下载或读取文件。通常用于在 IoT 系统中托管 OTA 固件更新。

  • 示例:后端为 S3 中的 firmware-v2.1.0.bin 生成签名下载链接 → 设备使用该链接安全下载并执行 OTA 更新。


4. API 网关

  • 作用:作为 App 或 Web 客户端发起的 HTTP 请求的入口。

  • 工作原理:接收 API 请求并将其路由到相应的后端服务,通常是 Lambda 函数。

  • 示例:移动应用向 /device/123/on 发送请求 → API 网关接收请求 → 触发 Lambda → 向设备发送 MQTT 控制命令。


5. DynamoDB

  • 作用:高速、可扩展的 NoSQL 数据库,用于存储结构化数据,如设备元数据、用户偏好设置和状态历史记录。

  • 工作原理:Lambda 函数或其他后端服务可使用 AWS SDK 读取或写入 DynamoDB 表。支持键值和文档式存储,延迟较低。

  • 示例:设备上报当前温度 → Lambda 函数通过 MQTT 接收数据 → 函数将 {device_id: "abc123", temp: 24.5} 写入 DynamoDB 中的 DeviceStatus 表 → 移动应用稍后读取该数据以显示最新状态。


6. Cognito

  • 作用:管理用户身份验证和授权,实现安全登录和对移动和网页 App 及 IoT 设备的访问控制。

  • 工作原理:用户可通过电子邮件/密码、手机号或第三方平台(如 Google/Facebook)在 Cognito 中登录。Cognito 生成安全令牌 (JWT),用于访问后端 API 或 MQTT 主题。

  • 示例:用户使用邮箱和密码登录 → Cognito 验证登录凭证 → 颁发身份令牌 → 移动应用使用该令牌调用 API 网关或订阅安全的 MQTT 主题。


后端配置

ESP RainMaker 是一个灵活且完整的解决方案,具备较高的自由度。用户可以利用各类配置,根据不同使用场景启用或禁用各项功能。在部署指南中,我们已经为部署者提供了推荐的默认配置。

若需咨询或直接修改特定配置项,请联系 esp-rainmaker-support@espressif.com


RainMaker 中的 AWS 服务默认配置与可配置特性

Espressif 的 RainMaker 云平台易于部署与扩展,底层 AWS 服务使用适用于大多数客户场景的默认设置。基于丰富的测试与部署经验,以下提供了一些配置参考建议。


默认 AWS 服务配置

  • AWS Lambda 并发数
    建议在部署前将 Lambda 并发限制提升至 1000,以保证设备入网、消息处理和定时任务等操作的性能。如计划部署超过 百万台设备,应根据情况调整此限制。

  • Lambda 内存配置
    Lambda 内存配置已根据 Espressif 内部基准测试优化,支持包括百万级设备的部署场景,一般无需额外修改。

  • Amazon DynamoDB 读写容量
    默认配置为 40000 单位,足以支持常规使用。如需更高吞吐量,建议启用自动扩展或按需手动调整。

  • Amazon Cognito
    默认配置已满足大部分设备身份认证与用户验证需求,一般无需额外更改。

  • AWS IoT Core
    默认设置足以满足标准部署需求。如预计连接设备数量达到或超过百万级,建议评估连接数和消息吞吐等相关限制。

  • 其他 AWS 服务
    RainMaker 还使用了其他 AWS 服务来构建完整平台,通常可使用默认配置。若计划大规模部署,尤其是设备数量达到百万级别时,建议全面检查所有相关服务的限制以确保可扩展性。


RainMaker 支持的可配置功能

RainMaker 提供广泛的可配置项,以满足不同产品与部署需求。以下列出部分可自定义的特性:

  • 消息模板
  • Device Defender 配置
  • API 调用频率限制
  • 通知推送设置
  • 日志级别
  • 语音助手集成
  • API 透传服务
  • 内部用户管理
  • Webhooks

如有其他具体使用需求,可根据实际情况进一步自定义。


信息

如需获取更详细的文档或大规模部署协助,请联系 esp-rainmaker-support@espressif.com


中国与全球部署后端的差异

在中国区域部署 RainMaker 平台时,由于部分 AWS 服务在中国区域不可用,与全球云端后端存在一些差异和限制。以下是关键注意事项。


服务可用性与设计考量

  • AWS Cognito
    在中国区域不可用。
    → 需要考虑替代方案用于用户身份管理。

  • 身份验证协议
    中国区域强制使用 OAuth 2.0 作为标准身份验证机制。

  • AWS 简单邮件服务 (SES)
    在中国区域不可用。
    → 若需邮件通知或通信,需考虑可替代的邮件发送服务。

  • AWS SNS 发送短信验证码 (OTP)
    在中国区域不支持。
    → 可评估本地短信网关服务或其他替代方案用于 OTP 发送。

  • 云对云集成
    在中国可用,但不能依赖 AWS Cognito。
    → 若需云对云功能,可探索其他身份联合或集成方案。

提示

针对中国市场的客户,建议在设计初期阶段就评估上述服务差异,并提前规划可替代的实现方式。乐鑫团队可协助制定合适方案并提供架构指导。

On this page