ESP32-C3物联网工程开发实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.2 ESP RainMaker的实现原理

ESP RainMaker的结构如图3-2所示。

ESP RainMaker由4个部分构成:Claiming服务(Claiming Service),为RainMaker设备提供动态获取设备证书的能力;RainMaker云(RainMaker Cloud,也称为云后端),提供消息过滤、用户管理、数据存储、第三方对接等服务;RainMaker设备侧代理程序(RainMaker Agent),为RainMaker设备提供连接到RainMaker云的能力;客户端(RainMaker Client),提供RainMaker App和CLI脚本两种形式的客户端,用于完成网络配置、用户创建、用户设备关联和控制等功能。

ESP RainMaker提供了一套完整的工具,用于支持开发者的开发与量产,包括:

图3-2 ESP RainMaker的结构

(1)RainMaker SDK。SDK用于构建固件,建立在ESP-IDF之上,提供了设备侧代理程序源码及相关C API。开发人员只需编写应用程序逻辑,其余的留给RainMaker处理即可。

扩展阅读:通过https://bookc3.espressif.com/rm/c-api-reference,可获取更多关于C API的说明。

(2)RainMaker App。ESP RainMaker提供了公版RainMaker App,通过该App不仅可以完成设备网络配置,还可以轻松地控制和查询智能照明产品的状态等。针对不同操作系统,乐鑫科技提供了iOS版和Android版的RainMaker App,详见第10章。

(3)REST API。可用于构建用户自己的应用程序,类似于ESP RainMaker提供的RainMaker App。通过链接https://swaggerapis.rainmaker.espressif.com/,可获取更多关于REST API的说明。

(4)Python API。提供了一个基于Python的CLI来实现所有类似于智能手机App的功能(CLI附带在RainMaker SDK中)。

扩展阅读:通过https://bookc3.espressif.com/rm/python-api-reference,可获取更多关于Python API的说明。

(5)Admin CLI。针对私有部署提供更高等级的管理员CLI,用于批量生成设备证书。