ESP RainMaker 云服务
[English]
1. ESP RainMaker 有哪些资料可供方案评估与验证?
请参考如下链接:
更新时间:2022.4.22
2. ESP RainMaker 对接了哪些语音平台? 支持哪些语音指令?
目前 ESP RainMaker 通过云云对接的形式完成了对 Alexa App 和 Google Home App 的支持,通过 ESP HomeKit SDK 对接了苹果的家庭 App。在上述 App 中添加设备后即可使用对应的语音助手完成语音控制。建议使用 homekit_switch 进行测试,该 Demo 将已开关的产品形态出现在上述所有 App 中。
Alexa 部分请参考 Alexa 所支持的语音指令。
Google Assistant 部分请参考 Google Assistant 所支持的语音指令。
Siri 部分请参考 Siri 所支持的语音指令。
更新时间:2022.4.22
3. RainMaker 设备的证书如何获取?是否有管理后台?
在方案验证阶段,您可以使用 claiming 服务获取证书,RainMaker 设备固件开发仓库 中提供的 Demo 都默认启用了该服务。在量产阶段,您必选先完成私有化部署,可以咨询 乐鑫商务 来获取更为详细的批量生成证书指导及部署事宜。
目前 ESP RainMaker 方案提供了一个 在线网页 查看设备信息,并支持通过该网页下发 OTA 任务及查看 ESP insight 数据。
更新时间:2022.4.22
4. ESP RainMaker 固件侧代码开发与腾讯云、阿里云的开发模式有什么不同?
腾讯云、阿里云通常是在控制台创建产品,随后创建设备模型,而 RainMaker 则在设备侧通过 API 创建模型,连接网络后将模型发送给云。
腾讯云、阿里云的连接认证阶段通常有 2 种形式:使用证书/三元组(四元组)或使用动态注册。ESP RainMaker 仅支持证书的形式。
RainMaker 设备固件开发 SDK 基于成熟的 ESP-IDF 开发框架,对配网、OTA 升级、本地控制等功能做了整合,进行基本的配置即可使用,您不需要移植其他第三方 SDK,直接编写应用层代码即可,该部分完全开源。
RainMaker 云中间件基于 AWS 无服务器计算 (Amazon Serverless Computing) 构建,开发者无需在云中编写任何代码、也无需进行任何配置即可使用,该部分不开源。
RainMaker App 提供 iOS 与 Android 两个版本,App 可根据设备上报的配置自动加载 UI 及图标,同时也将完整展示设备的物模型,用户可以直接在 App 上更改这些属性。App 将协助用户完成设备的网络配置、本地发现、创建定时任务,该部分完全开源。
更新时间:2022.4.22
5. ESP RainMaker 公有云与 ESP RainMaker 私有云有什么区别?
ESP RainMaker 是乐鑫提供的一套连接 AWS 的方案,该方案利用了 AWS 提供的一些云产品实现了设备接入、管理、维护、分析功能,乐鑫针对这个方案提供了 App、固件侧的源代码。同时为了方便您测试体验,我们部署了一套公共服务,任何开发者都可以免费使用,我们称之为 ESP RainMaker 公有云,在没有特别申明的情况下,此页面中的 ESP RainMaker 均代指公有云。
如果您想将 ESP RainMaker 部署在自己的 AWS 账号上,首先您需联系 乐鑫商务 以开放相关服务的访问权限,然后可参考 ESP RainMaker 部署资料 完成私有化部署。在完成私有化部署后您将拥有自己的账户体系,管理后台,同时相关 AWS 服务器运营费用(如果有)也将从您的账户中扣除,此时我们称之为 ESP RainMaker 私有云。
更新时间:2022.4.22
6. Nova Home 跟 ESP RainMaker 有什么关系?
Nova Home 是一套私有部署的 ESP RainMaker 平台,与公有 ESP RainMaker 独立,账户不互通,是一套面向终端客户评估方案的平台。
Nova Home 平台提供专用 Nova Home App,此 App 对 UI、icon 做了相关优化,增加了一些业务侧逻辑,目前以通用固件的形式对接了插座、开关、球泡灯等电工照明产品,提供固件及 App。如您希望接入试用,可以联系 乐鑫商务 获取更多详细信息。
更新时间:2022.4.22
7. 除 Github 外是否有其他途径拉取 ESP RainMaker 源码?
Gitee 已定期自动同步 固件开发仓库。如果您需要在 Gitee 拉取 App 源码请联系 乐鑫商务,我们将尽快为您同步。
您可以使用 esp-gitee-tools 完成 RainMaker 设备固件开发仓库中子模块的拉取。
更新时间:2022.4.22
8. CLI 工具如何使用?
如果您调试的为公有 ESP RainMaker,可以直接使用 CLI 目录下的 rainmaker.py 脚本。
如果您调试的为私有 ESP RainMaker,需要将 serverconfig.py (cli/rmaker_lib/serverconfig.py) 脚本中的 HOST 的替换为您服务器的 URL BASE。
更新时间:2022.4.22
9. ESP RainMaker App 执行 Claiming 时出现了错误该如何处理?
Claiming 提示非网络相关的错误时一般为账户存在问题,例如账户被禁用、申请证书的额度已满,请联系 乐鑫商务 来获取进一步的支持。
更新时间:2022.4.22
10. ESP RainMaker 中节点、节点属性、设备、设备属性、服务、参数都是什么?有什么用?
节点 (node):节点可以类比成一个产品,拥有一个 node id 作为标识符,是 ESP RainMaker 框架中最小操作单位。
节点属性 (node attribute):节点属性用来更好的描述与定义节点的功能。
设备 (device):设备是用户层面可控制的具体实体,如开关、球泡灯、温度传感器、风扇。一个节点下允许挂载多个设备,此时节点将作为虚拟网关使用。
设备属性 (device attribute):与节点属性类似,这些元数据用来更好的描述与定义设备的功能。
服务(service):从结构上与设备一样,主要区别在于服务不需要用户进行可见的操作,如在 OTA 升级中,就存在一些无需用户操作与管理的状态。
参数(parameter):参数用来实现设备与服务的功能,如球泡灯的电源状态、亮度、颜色,以及OTA 过程中的状态更新。上述这些概念可以很好地定义与描述产品的功能,与阿里云、腾讯云在控制台创建的设备模型类似。
更新时间:2022.4.22
11. ESP RainMaker 是否支持设备与设备之间的联动?
支持,在 ESP RainMaker 中称为自动触发与响应 (Automation Trigger and Actions),但设置触发的对象为节点与节点而非设备与设备。通过 addAutomationTriggerAction 进行设置,该功能运行在云端,一旦符合预设的规则便会自动发送响应给目标节点。
更新时间:2022.4.22
12. ESP RainMaker 是否支持 App 端的消息推送?
支持,ESP RainMaker 的消息推送框架基于 GCM (Google Cloud Messaging) 与 APNs (Apple Push Notification service)。在国内建议使用 iOS 手机或装有 Google 服务框架的 Android 手机来测试。
更新时间:2022.4.22
13. ESP RainMaker 是否支持带时间戳数据的上报及后续的分析?
支持,设备支持按时间戳上报数据,云侧支持按时间点过滤并拉取数据。在 ESP RainMaker 中该数据称为时间序列数据 (Time Series data),使用单独的 MQTT 主题上报,云端以完成集成。通过 tsdata 拉取数据,设备固件侧可提供测试代码,请联系 乐鑫商务获取。
更新时间:2022.4.22
14. ESP RainMaker App 与 Nova Home App 可以从哪获取?
iOS 手机可以在 App store 中搜索 ESP RainMaker、Nova Home 获取。
Android 手机在 Play Store 中搜索 ESP RainMaker、Nova Home 获取。
ESP RainMaker App Android 版本源码仓库中附带 apk 文件,请参考 ESP RainMaker App发布版本。 如果访问上述网站困难,可联系 乐鑫商务 获取最新安装包。
更新时间:2022.4.22
15. ESP RainMaker 中节点配置信息有什么用?与参数信息的区别是什么?如何查看?
节点配置信息是用来描述节点的一组 JSON 格式的元数据。在 示例配置 中
devices
描述了每个设备的类型、参数个数及每个参数的属性等。devices
的数据类型为 JSON 数组,这代表一个节点下允许存在多个设备,方便实现虚拟网关功能,此处未展示的 services 同理。节点配置信息使用单独的 MQTT 主题 上报,设备每次连接到云都应首先上报该消息。参数信息用来展示设备及服务中参数的值,值的数据类型源自节点配置消息中对该参数数据类型的配置。当云或者设备需要更新参数时,就会对该信息进行更新。通过设备固件开发 SDK 创建参数时,节点配置信息中将同步更新该参数的配置。
可以通过 CLI 工具查看节点配置信息与参数信息,在 CLI 中登录后使用 getnodeconfig 命令可获取节点配置信息,使用 getparams 可获取参数信息。
更新时间:2022.4.22
16. ESP RainMaker 中设备最多能上报多大的消息?
AWS 中 MQTT 一次性最大能接收 128 KB 的数据,ESP RainMaker中无其他限制。但需要注意的是,AWS 对于 MQTT 消息计费采用条数与大小双重规则,当消息大小每超过 5 KB 时则视为 1 条消息,以此类推,若上报 11 KB 的消息则视为 3 条消息进行计费。具体计费规则请联系 乐鑫商务 获取。
更新时间:2022.4.22
17. ESP RainMaker App 中显示设备离线总是很慢,能否加快?
设备的离线检测基于 MQTT 心跳包超时时间,默认为 120 s,即最慢能够在 180s 检测到离线。缩短心跳包发送时间虽然能够更快的检测到设备离线,但会增加消息条数。
更新时间:2022.4.22
18. ESP RainMaker 方案适配了哪些芯片?用哪个 IDF 版本编译?是否支持其他平台的芯片?
RainMaker 设备固件开发 SDK 目前完成了对 ESP32 系列芯片适配。
IDF 版本需大于 v4.1,若使用 ESP32-C3 需切换到 v4.3 及以上,使用 ESP32-S3 需切换到 v4.4 及以上。
支持,RainMaker 设备固件开发 SDK 提供 MQTT 适配层,需要您自行完成对接。
更新时间:2022.4.22
19. ESP RainMaker 方案中 Claiming 有 3 种形式,区别在哪?该如何选择?能否在私有部署使用中使用?
具体区别请查看 Claiming 实现细节。
对带有蓝牙功能的芯片优先选择 Assisted Claiming ,其次为 Self Claiming(Self Claiming 最近已更改为对所有 ESP32 系列芯片开放,并非仅仅适用于 ESP32-S2)。不带蓝牙功能的芯片选择 Self Claiming。若Assisted Claiming 与 Self Claiming 均无法成功,则选择 Host Driven Claiming 或联系乐鑫商务处理。
不可使用,详细原因请查看 为什么 Claiming 无法为私有服务器部署?。
更新时间:2022.4.22
20. ESP RainMaker 支持哪些配网方式?这些配网如何实现?能否修改添加自己的配网逻辑?
目前支持蓝牙配网与 Soft Ap 配网。
配网方案是通过 ESP-IDF 中的 wifi_provisioning 组件实现的,运行 RainMaker设备固件开发仓库中的例程时,还将打印二维码,二维码中的信息包含该设备支持的配网方式及加密字符串,可以使用 ESP RainMaker App 扫描读取。
可以添加自己的逻辑。需要注意的是,ESP RainMaker 中的配网通常指,设备连接 Wi-Fi 与完成用户绑定,无论如何自定义,都必须包含这两步。
更新时间:2022.4.22
21. ESP RainMaker App 在配网时有时会弹出配对选项,如何取消?
在 menuconfig 中将 Component config -\ Wi-Fi Provisioning Manager 的下述选项关闭即可。
[ ] Enable BLE bonding
[ ] Enable BLE Secure connection flag
[ ] Force Link Encryption during characteristic Read / Write
更新时间:2022.4.22
22. ESP RainMaker 是否支持本地控制?
支持通过 Wi-Fi 进行局域网下的本地通信,设备发现基于 mDNS 服务,通过 ESP-IDF 中的esp_local_ctrl 组件实现,RainMaker 示例均默认开启,可以通过下述方式查询当前网络下已启用本地控制的 ESP RainMaker 设备:
Windows 平台,请先下载安装 Bonjour,随后在命令行中执行
dns-sd -P \_esp\_local\_ctrl.\_tcp
。Linux 平台,在命令行中执行
avahi-browse -r \_esp\_local\_ctrl.\_tcp
。ESP RainMaker App 将实时扫描,并优先使用本地控制进行通信。更多本地控制的细节,请查阅开发指南中的 本地控制章节。
更新时间:2022.4.22