跳到主要内容

快速开始

ESP RainMaker 目前已有大量技术文档支持客户对固件和应用进行深度开发,具体可参考 固件开发指南。同时,为了提高开发效率,ESP RainMaker 提供了一系列标准方案,包括 MeshLite、Matter、电工照明等。您可以直接在方案的基础上来自定义开发新的固件,但在此之前请先了解 ESP RainMaker 的整体使用流程。依照以下内容,您可以快速搭建一个 ESP RainMaker 项目。

前提条件

ESP RainMaker 账户创建

用户需要创建 ESP RainMaker 的账号,才能将设备绑定到账号云端进行数据同步。用户可以在 Web 端申请云端账号,也可以前往 Google Play 或 Apple APP Store 应用商店下载 Nova Home 应用,在用户登录界面创建账号。

ESP-IDF 环境搭建

ESP RainMaker 需要在 ESP-IDF 的环境下进行编译,用户在开始使用 ESP RainMaker 之前需要预先安装 ESP-IDF,具体流程可以参考 ESP-IDF 安装指南。目前只有 ESP-IDF 4.0 以上的版本才能支持 ESP RainMaker 正常运行。

获取 ESP RainMaker

在确认安装好符合版本的 ESP-IDF 后,打开 ESP-IDF 终端,输入如下命令将 ESP RainMaker 克隆到本地环境中:

$ git clone --recursive https://github.com/espressif/esp-rainmaker.git

注意:请注意命令中的 --recursive,如您已克隆 ESP RainMaker,但在语句中没有执行 --recursive 这一选项,请执行 git submodule update --init --recursive

硬件准备

目前 ESP RainMaker 基本适配大部分的 ESP 系列芯片。您可以通过 硬件指南获取芯片及模组信息。在后续的介绍中将采用 Switch 固件作为示例,并选用搭载 ESP32-C3 芯片的开发板 ESP32-C3-DevkitC-02 进行演示。

创建并烧录项目

在上述步骤中克隆而来的 ESP RainMaker 文件中已经包含一些应用示例,您可以将这些示例项目烧录到开发板中来体验 ESP RainMaker 的功能,也可以在 Github Example 中查看更多的固件样例。Switch 项目为设备的开关功能固件,将此固件烧录到设备中可以远程控制设备的开关状态。具体步骤如下:

(1) 打开 Switch 项目下的终端控制台。

(2) 将串口设置为连接开发板的端口,并设置烧录芯片型号。可以直接通过代码修改:

$ export ESPPORT=/dev/tty.SLAB_USBtoUART    #注意需要将语句中USB串口修改为实际所用串口位置
$ idf.py set-target esp32-C3 #将目标设置为 ESP32-C3

除了上述方法外还可以手动设置,具体步骤如下:

  • 界面左下角点击串口选项 > 页面顶端弹出选择连接芯片的串口 > 确认项目
  • 界面左下角点击芯片型号 > 页面顶端弹出选项选择项目 > 选择对应芯片型号

(3) 输入如下代码可以清除之前硬件上的固件。如果是第一次烧录则无需此步骤,请直接进行下一步。

$ idf.py erase_flash

(4) 构建并烧录固件到设备中,运行以下命令。

$ idf.py build  #构建固件
$ idf.py flash monitor #将固件烧录到设备中并打开日志监测

运行成功后可能会在日志界面出现如下信息:

I (755) esp_claim: Initialising Self Claiming. This may take time.

或者

I (895) esp_claim: Initialising Assisted Claiming. This may take time

这说明设备没有直接连接到 ESP RainMaker 云端,因为尚未提供有效凭据。设备自动下载 Claiming 后,手动在应用中为设备配网,设备将通过 Wi-Fi 连接到云端。

(5) 日志界面会自动生成设备的二维码,每个设备的二维码都是唯一的。这一二维码将用于为设备配网,因此请不要立即关闭终端,或者将此二维码保存下来。如果生成的二维码有所损坏,例如下图:

那么您需要在终端日志中查看以下信息,并粘贴日志提供的链接到浏览器中以获取二维码。

I (1080) app_wifi: If QR code is not visible, copy paste the below URL in a browser.
https://rainmaker.espressif.com/qrcode.html?
data={"ver":"v1","name":"PROV_000317","pop":"a1000317","transport":"softap"}

至此 Switch 固件已完全烧录至设备中,这也意味着 ESP RainMaker 完成了初步的设备端部署,接下来需要对设备进行配网。

设备配网

为设备配网需要先在移动端下载应用,安卓用户可以通过 Google Play 应用商店或 APK 链接下载,苹果用户则可以在 Apple APP Store 应用商店下载:

应用下载完成后即可开始为设备配网,具体步骤如下:

(1)登录应用,可以使用之前新建的 ESP RainMaker 账号,也可以使用第三方登录。

注意:如要在 ESP RainMaker 管理面板 中查看配网设备,则必须使用保证应用端与 Web 端使用同一账号。

(2)在主界面中选择 Add Device, 进入界面并扫描终端日志中的设备二维码。没有二维码可以选择 I don't have an QR Code 选项,使用 Bluetooth LE 或 SoftAP 进行配网。

(3) 进入配网界面,输入设备将接入的 WiFi 网络名称和密码,点击 Start。进入配置状态后,等待设备配网,之后点击 Done 完成所有配网步骤。

完成配网后,返回到主界面能够看到已添加的设备,点击开关标识即可通过云端实现对设备控制。

终端控制

配网结束后用户可以在应用端尝试远程控制开关。所用 ESP32-C3 开发板状态如下图所示:

  • LED 灯(蓝色或绿色)处于打开状态
  • 按下 BOOT 按钮会切换 LED 灯开关状态
  • 手机端点击 switch 则会通过云端切换 LED 灯开关状态

LED 灯不工作

在使用开发板时请确认开发板型号,ESP32-S2-Saola-1、ESP32-C3-DevKit 和 ESP32-S3-DevKit 最适合用来验证这一固件,但不同开发板 RGB LED 默认连接的 GPIO 管脚位置有所不同。如果使用 ESP32-S2-Saola-1,需要连接 GPIO 18,但一些较早的开发板需连接到 GPIO 17。请使用 CONFIG_WS2812_LED_GPIO 设置合适的 GPIO,具体步骤如下:

$ idf.py menuconfig   #在终端中打开控制台
选择 component config > WS2812 RGB LED > WS2812 LED GPIO > 17

重置电路板

  • 按住 BOOT 键 3 秒以上可重置 Wi-Fi 设置。
  • 按住 BOOT 键 10 秒以上可恢复出厂默认设置。

至此,ESP RainMaker 的基本使用流程已结束。用户可以基于 ESP RainMaker 框架自己开发定制化固件,同时可以参考 ESP RainMaker 管理面板使用指南查看设备运作情况。