ESP RainMaker 云服务

[English]


1. ESP RainMaker 有哪些资料可供方案评估与验证?

请参考如下链接:

更新时间:2022.4.22


2. ESP RainMaker 对接了哪些语音平台? 支持哪些语音指令?

更新时间: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 ClaimingSelf Claiming 最近已更改为对所有 ESP32 系列芯片开放,并非仅仅适用于 ESP32-S2)。不带蓝牙功能的芯片选择 Self Claiming。若Assisted ClaimingSelf 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