ESP RainMaker开发介绍

电子说

1.3w人已加入

描述

如果你一直关注乐鑫,应该对 ESP RainMaker 及其丰富的功能有所了解。ESP RainMaker 重要特性之一是轻量化,它能充当ESP 节点和移动端App、Alexa、GVA等客户端之间的“隧道”,具备极大的灵活性和可扩展性。

ESP RainMaker 支持创建任何设备,开发多种设备功能,最终还能通过移动端App实现设备控制。

ESP-RainMaker项目用于实现“节点”,用户登录后可以使用客户端(如手机应用程序)进行对节点进行配置,然后通过ESPRainMakerCloud 进行控制。

节点

节点是基于 ESP32 的单个产品。它具有关联的标识符(node_id) 和声明服务提供的一组凭据,用于对节点进行合法验证。用户可以为节点指定好名称。单个节点可以公开多个设备。

设备

设备是用户可控制的逻辑实体,如开关、灯泡、恒温器、温度传感器等。一个简单的节点通常只有一个设备。但是,ESP32 也可以有多个设备,例如在一块板上安装两个开关,或者它可以充当其他设备(例如BLE 传感器)的桥接器。每个设备在节点中必须具有唯一的名称,并且可以选择具体的类型。

参数

这些是设备的控制和监视参数,用于用户在APP或者服务器上进行控制或者监视。例如:开/关电源状态、亮度、电流/目标温度等所有这些参数在设备中都必须具有唯一的名称。这些参数还可以具有其他字段,如值、类型、边界、UI 信息等。参数值可以是布尔值、整数、浮点数或字符串。

获取ESP RainMaker项目

使用以下方法下载RainMaker:

1、git clone https://github.com/espressi‍f/esp-rainmaker.git

2、git clone https://github.com/espressif/esp-iot-bridge.git

第一个仓库为Rainmaker仓库,配合ESP Rainmaker APP使用 。

第二个仓库集成了Rainmaker和lite mesh,本文示例使用该仓库,使用乐鑫nova home app关于lite mesh的内容请关注后续文章。

执行以下命令以拉入子模块:

git submodule update--init --recursive --progress

构建和刷新固件

Rainmaker工程位于esp-iot-bridge仓库的examples/rainmaker目录下,编译以及烧录基于ESP-IDF,本文基于IDF5.0。

如果您是第一次使用,建议先擦除闪存,然后再刷新固件。以下是步骤:

cd ~/esp-iot-bridge/examples/rainmaker/led_light/(进入例程目录)

idf.py set-target esp32/esp32s2/esp32c3/esp32s3(选择芯片类型)

[注意:ESP RainMaker 可与 ESP32系列所有芯片配合使用,如 ESP32、ESP32-S2、ESP32-C3 和 ESP32-S3。]

idf.py build(编译)

idf.py erase_flash(擦除)

idf.py flash monitor(烧录并运行)

代码运行成功后

Part.1

找到设备名称

APP

Part.2

打开App添加你的第一个设备

APP

Part.3

找到设备同意蓝牙连接

APP

Part.4

输入WiFi账号密码进行配网

APP

 

APP

 

APP

 

APP

 

APP

左右滑动查看图集

Part.5

进入在线调节参数页面

APP

基于ESP RainMaker的应用程序的典型代码如下

APP

例程中Rainmaker节点、设备、属性的初始化在app_rainmaker_start()函数中实现,具体可以参考app_rainmaker.c文件,具体流程为

初始化ESP RainMaker节点esp_rmaker_node_init(),方法是向其传递配置 esp_rmaker_config_t()节点名称和类型。

创建设备esp_rmaker_device_create()。RainMaker节点本身没有特定的值,除非它下面有设备。

添加参数和其他元数据。

将设备添加到节点。

启动RainMaker代理esp_rmaker_start()。这将启动RainMaker核心任务,该任务将等待Wifi,如果需要,通过MQTT连接到RainMaker Cloud,报告节点配置,报告参数值,然后等待命令。

启动无线网络 app_wifi_start()

以上是 ESP RainMaker 项目开发的基本介绍。您无需在云后台进行任何配置或更改,就可以轻松添加自定义功能,拥有极大的灵活性与可扩展性。

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分