【如果您之前有关注乐鑫的博客和新闻,那么应该对 ESP RainMaker 及其各项功能有所了解。如果不曾关注,建议先查看相关信息,知晓本文背景。】
在 ESP RainMaker 中,管理员用户可以查看一些基本的节点数据,包括类型、型号、固件版本等,并推送 OTA 固件升级。如果将其与 ESP Insights 关联,管理员用户还可以访问其他诊断数据,但他们无法向节点发送参数设置数据,设置参数操作仅对终端用户开放。
ESP RainMaker 中引入的命令-响应框架为与节点通信提供了一种全新的方式。该框架对管理员和终端用户(包括主要和次要用户)开放,提供了更精准的节点端访问控制。同时,通过固件提供明确的错误报告,增强了通信的可靠性。
工作流程
工作流程概要如下所示:
简单来说,
- 客户端向云端发送命令请求
- 云端为其分配请求 ID,并将该 ID 返回至客户端,该 ID 可用于追踪状态。
- 只要该节点设备在线,立即将命令请求发送给节点;如果节点设备离线,则等到该节点在线后发送命令请求。
- 当该节点设备响应了命令请求,客户端可以根据命令请求 ID 查询响应状态。
更多技术细节请参考此文档规范。
优势
上述命令请求框架可以满足许多新的使用场景和业务流程。
该框架的核心优势在于,它打破了以往的限制,使得管理员用户现在能够向节点发送数据和命令。此外,该框架引入了先进的访问控制机制,
允许在固件层面精确定义不同用户类别(包括管理员、主要用户和次要用户)的权限,确保只有授权用户才能访问并执行特定的请求命令。
例如,框架允许管理员和次要用户执行设备重启操作,但仅限于主要用户拥有重置 Wi-Fi 设置的权限。此外,创建日程安排的功能也仅对主要用户开放而管理员或次要用户没有权限进行此类操作。
该框架的另一个主要优势是,即使节点处于离线状态,客户端也可以设置该节点的请求命令。这意味着客户端可以在任何时间向云端推送请求命令,而当节点会上线时,会接收到该请求命令,并对其进行响应。
该框架不仅提供了命令请求的设置,还允许用户查询命令请求的状态,比如请求超时,数值超出范围,操作权限异常等。
我们希望上述新框架能解锁更多创新的使用场景和业务流程。请您查看文档,尝试使用该框架,并和我们分享使用体验。此外,您可以查看 led_light 示例,其中已经包含了命令-响应框架的示例以供参考。