# ChangeLog # v0.5.0 - 2023-8-3 ### Enhancements: #### Mesh - 支持节点不配网自动加入 Mesh 网络 - 优化无路由器的场景 - 适配新的 Nova Home APP,完善群控、组控功能 #### Bugfix - 修复硬件复位造成的环形连接 #### Docs - 更新图片 url ## v0.4.0 - 2023-7-12 ### 功能: #### Mesh - 新增功能:添加了 LAN OTA 升级失败和成功的事件上报。 #### 修复 - 修复当多个根节点相距较远且无法相互发现时,它们将不断地与路由器断开连接并重新连接。 - 修复 LAN OTA 升级过程中,突然停止。 - 修复 LAN OTA 升级失败。 ## v0.3.0 - 2023-6-30 ### 功能: #### Mesh - 为 esp_mesh_lite_wifi_scan_start 添加 wifi_scan_config 参数 - 开放 API 以允许应用层获取路由器信息和根节点 SoftAP IP 地址 - 支持手动指定设备为叶子节点 #### 修复 - 删除 `CONFIG_LWIP_IPV6=n`,解决 rainmaker_led_light 编译不过的问题 - Demo 示例禁用 PMF - 优化 mesh_local_control 示例,解决 socket connect 阻塞 event task 的问题 ## v0.2.0 - 2023-6-5 ### 功能: #### Mesh - 节点层级变动后进行层级检查,避免超过规定的最高层级 #### 支持的芯片 - ESP32-C2 #### 修复 - idf5.x 和 idf4.x 版本的 API 兼容性问题 - 更新文档,修复链接无法正确跳转 - 修复当 MESH_LITE_ENABLE 配置成 n 时组件编译失败 ## v0.1.2 - 2023-3-26 #### 支持的 ESP-IDF 版本 - 增加对 v4.3 的支持 ## v0.1.1 - 2023-3-1 ### 功能: - 适配 iot_bridge(0.*) 组件 ## v0.1.0 - 2023-2-7 这是 mesh-lite 组件的第一个发布版本,更多关于项目的详细说明,请参考 [ESP-MESH-LITE](https://github.com/espressif/esp-mesh-lite/blob/master/components/mesh_lite/User_Guide_CN.md). ### 功能: #### Mesh - 支持 mesh 网络自修复 - 支持即使在没有连接路由器的情况下根节点也可以建立 mesh 网络 - 支持节点在没有配置路由器信息的情况下自动加入 mesh 网络 - 支持只设置节点为根节点 - 支持只设置节点为非根节点 - 支持设置 mesh 网络是否允许加入 - 支持检查加入的设备是否合法 - 支持根节点与子节点通信 - 子节点向父节点发送广播信息 - 子节点向根节点发送消息 - 子节点向父节点发送消息 - 父节点向子节点发送广播信息 - 支持对 mesh 网络间的数据通信进行加密 - 支持 mesh 网络内部 OTA 升级 #### 支持的芯片 - ESP32 - ESP32-C3 - ESP32-S2 - ESP32-S3 #### 支持的 ESP-IDF 版本 - v4.4 - v5.0
- [English Version](https://github.com/espressif/esp-mesh-lite/blob/master/examples/mesh_local_control/README.md) | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 | | ----------------- | ----- | -------- | -------- | -------- | -------- | # Mesh-Lite 局域网控制示例 ## 介绍 本示例将介绍如何基于 Mesh-Lite 实现设备连接远程外部服务器。与 ESP-WIFI-MESH 不同,Mesh-Lite 组网内每个设备均可独立访问外部网络。 本示例实现了 mesh 网络中设备数据传输到 TCP 服务器功能。 **建议使用 esp-idf 4.4 版本进行编译** ## 硬件准备 1. 至少两块 ESP32 开发板 2. 一台支持 2.4G 路由器 ## 工作流程 ### 运行 TCP 服务器 1. 将主机(PC 或手机)连接到路由器。 2. 使用 TCP 测试工具(此工具为任意一个第三方的 TCP 测试软件)来创建 TCP 服务器。 ### 配置设备 输入 `idf.py menuconfig`,在 “Example Configuration” 子菜单下,进行配置: * 路由器信息 * ESP-WIFI-MESH 网络:密码长度要大于 8 位并小于 64 位,设置为空则不加密 * TCP 服务器:主机上运行的 TCP 服务器信息, 包含:IP 地址、端口 <img src="https://raw.githubusercontent.com/espressif/esp-mesh-lite/master/examples/mesh_local_control/device_config.png" alt="device_config" width="80%" div align=center /> ### 编译和烧录 CMake: ```shell idf.py erase_flash flash monitor -b 921600 -p /dev/ttyUSBx ``` ### 运行 Mesh-Lite 设备每隔三秒会给 TCP 服务发送当前设备的信息
- [English Version](https://github.com/espressif/esp-mesh-lite/blob/master/examples/rainmaker_led_light/README.md) | Supported Targets | ESP32 | ESP32-C3 | ESP32-S3 | | ----------------- | ----- | -------- | -------- | # LED Light 示例(Nova Home) 本示例通过使用 Rainmaker 云平台来展示 ESP-Mesh-Lite 功能,用户可通过 `Nova Home` APP 来为设备配网并使设备成功连接至 Rainmaker 云端,设备本身基于 Rainmaker 实现自身连接云端的同时,还可以为其他无线设备提供无线上网的能力,多个设备形成 Mesh 组网,极大程度上减轻路由器承载压力,同时扩大了无线通信范围。 ## Get Start ### 1. Apps - [Google PlayStore](https://play.google.com/store/apps/details?id=com.espressif.novahome) - [Apple App Store](https://apps.apple.com/us/app/nova-home/id1563728960) ### 2. 获取 Key 目前设备获取证书的方式有两种: - Self Claiming:配网后设备直接发 http 请求从服务器拉证书,只能在 ESP32-S3 和 ESP32-C3 上应用,由于与 MAC 绑定,每一台设备每次拉取的证书是一样的 - Assisted Claiming:配网时,手机 APP 跟服务器请求证书,随后通过蓝牙发送给设备,不和 MAC 绑定,默认一个账户只有 5 次申请的限制 目前 ESP32-S3 和 ESP32-C3 默认采用 Self-Claiming 的方式获取证书,ESP32 仅能使用 Assisted Claiming 方式获取证书。 >Nova Home 目前 Assisted Claiming 方式不稳定,若使用 ESP32 获取证书建议使用 [ESP Rainmaker](https://github.com/espressif/esp-rainmaker#phone-apps) APP 进行 Claiming ### 3. 编译环境搭建 & SDK 准备 参考 [README](https://github.com/espressif/esp-iot-bridge/blob/master/components/iot_bridge/User_Guide.md#3-set-up-development-environment) ### 4. Mesh-Lite 功能 - 可以在 menuconfig 配置 `Component config → ESP Wi-Fi Mesh Lite` 中选择是否使能 Mesh-Lite 功能,本示例默认使能该功能。 - 若开启 Mesh-Lite 功能,第一个配网的设备会连接至目标路由器并作为 Root 根结点,之后的设备均会连接至根结点设备并作为子节点组成一个 Mesh-Lite 网络,详情请参考 [Mesh-Lite](https://github.com/espressif/esp-mesh-lite/blob/master/components/mesh_lite/User_Guide_CN.md)。 ### 5. 固件编译 & 烧录 ESP-IDF 环境搭建成功后,即可执行以下命令进行固件编译和烧录。 ``` $ cd esp-mesh-lite/examples/rainmaker/led_light $ idf.py set-target esp32c3 $ idf.py build $ idf.py flash ``` ### 6. 操作步骤 #### 6.1 添加根节点 - 打开 Nova Home,APP 自动搜索到待配网设备 <img src="https://raw.githubusercontent.com/espressif/esp-mesh-lite/master/examples/rainmaker_led_light/_static/find_devices.jpg" alt="find_devices" width="25%" div align=center /> - 选择其中某个设备 <img src="./_static/select_root_node.png" alt="select_root_node" width="25%" div align=center /> - 输入配网信息进入配网 <img src="https://raw.githubusercontent.com/espressif/esp-mesh-lite/master/examples/rainmaker_led_light/_static/select_network.jpg" alt="select_network" width="25%" div align=center /> - 配网成功 <img src="./_static/root_done.png" alt="root_done" width="25%" div align=center /> - 配网成功后的设备 <img src="./_static/root_device_of_common.png" alt="root_device_of_common" width="25%" div align=center /> - 配网成功后的设备所属 Mesh 页面(Mesh ID 为 117) <img src="./_static/root_device_of_mesh.png" alt="root_device_of_mesh" width="25%" div align=center /> #### 6.2 添加子节点 - 进入对应 Mesh 页面,点击右上角加号 <img src="./_static/mesh_page.png" alt="mesh_page" width="25%" div align=center /> - 选择要配网的子节电设备 <img src="./_static/select_child_devices.jpg" alt="select_child_devices" width="25%" div align=center /> - 输入配网信息(同为路由器信息)进入配网 <img src="https://raw.githubusercontent.com/espressif/esp-mesh-lite/master/examples/rainmaker_led_light/_static/select_network.jpg" alt="select_network" width="25%" div align=center /> - 配网成功 <img src="./_static/child_done.png" alt="child_done" width="25%" div align=center /> #### 6.3 群控 - 进入 Mesh 页面,点击对应根节点,进入控制页面进行控制 Mesh 组网内部所有设备的灯效 <img src="./_static/root_control.png" alt="root_control" width="25%" div align=center /> #### 6.4 组控 - 进入 Mesh 页面,点击左下角 Group <img src="./_static/click_group.png" alt="click_group" width="25%" div align=center /> - 创建 Mesh Group <img src="./_static/select_device_for_group.png" alt="select_device_for_group" width="25%" div align=center /> - 通过创建的 Group 页面进行控制 <img src="./_static/group_control.png" alt="group_control" width="25%" div align=center /> ### 7. 注意事项 - 目前 Nova Home 仅支持 Wi-Fi Provisioning 配网(BLE),故该方案目前不支持 ESP32-S2 芯片
idf.py add-dependency "espressif/mesh_lite^0.5.0"
To create a project from this example, run:
idf.py create-project-from-example "espressif/mesh_lite^0.5.0:mesh_local_control"
To create a project from this example, run:
idf.py create-project-from-example "espressif/mesh_lite^0.5.0:rainmaker_led_light"