ESP Insights
::tip 说明 ESP Insights 是一项可选服务。它通过 ESP RainMaker 平台进行设备认证和云端数据传输,能够提升固件开发质量、产品维护能力和数据分析效率。 :::
ESP Insights 是一项远程诊断解决方案。通过 ESP Insights,用户可以远程监控 ESP 设备的现场运行状况。ESP Insights 已集成到所有 ESP RainMaker 示例中。
启用 ESP Insights
更新 esp-rainmaker
在开始前,请执行以下命令,确保 esp-rainmaker 仓库是最新版本:
cd /path/to/esp-rainmaker
git pull origin master
git submodule update --init --recursive
这一操作会在 esp-rainmaker/components
目录下拉取 esp-insights 子模块,并为所有的默认示例配置好对 ESP Insights 的支持。如果只想尝试默认示例,可以跳过接下来的两个关于 CMakeLists.txt 的小节。
编辑 CMakeLists.txt
如要为已有项目拉取 ESP Insights 的功能,需要添加 esp-rainmaker/components/esp-insights/components
中的组件。在 CMakeLists.txt
文件中查找以下行:
set(EXTRA_COMPONENT_DIRS ${CMAKE_CURRENT_LIST_DIR}/../../components ${CMAKE_CURRENT_LIST_DIR}/../common)
然后替换为以下内容:
set(EXTRA_COMPONENT_DIRS ${CMAKE_CURRENT_LIST_DIR}/../../components ${CMAKE_CURRENT_LIST_DIR}/../common ${CMAKE_CURRENT_LIST_DIR}/../../components/esp-insights/components)
更好的方式是直接参考任一示例中的新
CMakeLists.txt
文件,并将相应部分复制到你的文件中。
Enable ESP Insights
ESP Insights 的相关代码封装在 examples/common/app_insights
组件中 ,默认处于禁用状态。要启用 ESP Insights,可以通过 idf.py menuconfig
进行配置:依次选择 Component config
> ESP Insights
> Enable ESP Insights
,即可设置 CONFIG_ESP_INSIGHTS_ENABLED=y
。
在你的项目代码中包含 app_insights.h
,并在 esp_rmaker_start()
前加入以下代码行:
app_insights_enable();
这行代码已包含在所有 ESP RainMaker 示例中,因此在运行示例时,只需在配置中启用
CONFIG_ESP_INSIGHTS_ENABLED
即可。
构建和烧录项目
按照常规流程构建和烧录项目。
idf.py build flash monitor
注意,在构建日志中会出现额外的内容,如下所示:
===================== Generating insights firmware package build/led_light-v1.0.zip ======================
led_light-v1.0
led_light-v1.0/led_light.bin
led_light-v1.0/sdkconfig
led_light-v1.0/partition_table
led_light-v1.0/partition_table/partition-table.bin
led_light-v1.0/bootloader
led_light-v1.0/bootloader/bootloader.bin
led_light-v1.0/partitions.csv
led_light-v1.0/project_build_config.json
led_light-v1.0/led_light.map
led_light-v1.0/led_light.elf
led_light-v1.0/project_description.json
在 build/
目录下生成的 zip 文件(即上述代码中的 build/led_light-v1.0.zip
),将在后续步骤中使用。
Claiming
使用 ESP RainMaker 前,需要了解 Claiming。Claiming 服务有三种方式:
要启用 ESP Insights 功能,需要拥有节点的管理员访问权限,此权限必须通过主机 Claiming 或协助 Claiming 获得。对于默认使用自身 Claiming 的 ESP32-S2,也需要使用主机 Claiming来获得管理员访问权限。
忽略此 Claiming 的步骤,因为所有节点都会通过管理员 CLI 注册。
查看 ESP Insights
固件准备就绪并完成 Claiming 后,就可以正常使用项目。访问 ESP RainMaker 管理面板,使用 Claiming 时的账号密码登录,搜索节点 ID,即可查看对应的 ESP Insights 数据。
以下是管理面板上 ESP Insights 的示例:

上传固件包
为了获得更详细的诊断信息,还需上传固件包,其中包含二进制文件、elf 文件、map 文件以及其他有助于分析的信息。请上传名为 <project_name>-<fw_version>.zip
的固件包,该文件位于项目的 build/
目录下。上传入口见管理面板的 Firmware Images 页面。
注意,即使代码没有更改,执行
idf.py build
和idf.py flash
等命令时仍会重新构建固件,导致固件包内容发生变化。请确保烧录到开发板上的二进制文件与上传到管理面板的固件包内容保持一致。
更多信息
更多信息,请参考 ESP Insights 文档。如果需将 ESP Insights 用于商业产品,请联系我们。