功能
用户管理
注册
RainMaker 支持以下注册方式:
- 电子邮件地址 + 密码(使用基于 OTP 的电子邮件 ID 验证)
- 手机号码 + 密码(使用基于 OTP 的手机号码验证)
- 谷歌账号
- 苹果账号
- 亚马逊账号(不可用于公有 RainMaker 或手机应用)
注意:用户使用谷歌账号或亚马逊账号注册时,RainMaker 将获取用户的电子邮件地址。用户使用苹果账号注册时,RainMaker 将获取苹果为用户配置的专用于 RainMaker 服务的虚拟地址。
登录
- 电子邮件地址 + 密码
- 手机号码 + 密码
- 手机号码 + OTP
- 谷歌账号
- 苹果账号
- 亚马逊账号(不可用于公有 RainMaker 或手机应用)
注意:新用户使用谷歌、苹果或亚马逊账号登录 RainMaker 时将自动创建新账号。
更改密码
- 只有使用电子邮件地址或手机号码登录时,用户才可更改密码。此服务使用基于 OTP 的验证,用户需输入原来的密码。
- 密码更改成功后,其余活动会话将退出登录。
注意:在 AWS Cognito 服务中,会话登出后将继续保持一定时长的执行状态,最长可达 1 小时。
忘记密码
- 只有使用电子邮件地址或手机号码登录时,用户才可以使用找回密码服务。此服务使用基于 OTP 的验证。
删除账号
- 用户可使用基于 OTP 的验证删除账号。
终端用户功能
远程控制与监测
- 在单次 API 调用中查询某个或所有节点的节点配置、参数值和连接状态。
- 在单次 API 调用中为单个或多个节点设置参数。
注意:设置参数后需再次查询参数值,以确保更改在节点上生效。
本地控制与监测
- 使用本地控制时,用户需将手机和设备接入同一个网络。
- RainMaker 使用 mDNS 来发现设备。
- 本地控制与监测依托纯文本 HTTP 协议。安全通信服务即将上线。
调度
- 基于时间的自动调度。
- 一次性调度或重复调度(可通过指定天数改变设置)。
- 单个或多个节点。
- 在指定时间内执行时间表时,节点无需联网。
群组
- 支持多层次的抽象群组。
- 可用群组的元数据创建“家-房间 (Home - Room)”结构。
- 可通过支持多节点数据发送的 API 间接支持节点群组运行。
节点共享
- 可与一个或多个用户共享一个或多个节点。
- 新用户可以是主要用户,享有完全访问权限,也可以是次要用户,享有有限访问权限,即不能添加或删除其他用户。
- 可共享整个群组节点,并设置主要或次要用户权限。
- 新节点添加至共享群组后,该节点将被自动共享(可用于家庭共享)。
移动应用推送通知
在以下情况中,用户将收到推送通知:
- 添加新节点
- 删除节点
- 节点连接到云端
- 节点从云端断开连接
- 创建节点共享请求
- 接受或拒绝节点共享请求
- 节点报告警告信息
第三方集成
以下固件支持 Alexa 和谷歌语音助手服务:
- 照明
- 开关
- 插座
- 风扇
- 温度传感器
管理员功能
节点注册
- 创建证书并使用 Python CLI 进行注册。
群组
- 根据
type
、model
和fw_version
为节点创建抽象群组或结构群组。
OTA (Over-the-Air) 固件升级
- 上传固件的二进制文件,云服务将自动提取固件版本和型号。
- 将 OTA 升级推送至一个或多个节点或某个群组。
- 监控 OTA 任务状态。
- 取消 OTA 任务。
- 归档已取消或已完成的 OTA 任务。
- 检查固件,防止项目或二进制版本文件发送错误。
OTA 升级策略
- Force Push(强制推送):立即发送 OTA 镜像 URL 至所有节点。只有联网节点才可接收该 URL,未联网节点将使用 Normal OTA。
- Normal(正常推送):只会在节点请求时发送 URL。可以在启动过程中查询节点,也可以根据固件配置定期查询节点。
- User Controlled(用户控制):一旦触发 OTA,终端用户可以查询并决定何时开始升级。
统计数据
- 节点注册(由管理员注册的证书)数量
- 节点激活(即节点首次连接)数量
- 账号创建数量
- 用户与节点的关联数量
ESP Insights(附加服务)
- 错误、警告和自定义日志
- 崩溃报告和分析
- 重启原因
- 内存占用率、RSSI 等指标
- 报告自定义指标和变量