【mesh】ESP32 官方文档(十六)ESP-MESH 编程指南

本文档是ESP32 ESP-MESH编程的详细指南,涵盖了编程模型、自组织网络、应用实例和API参考。在自组织网络模式下,用户需要注意避免调用Wi-Fi API,以免干扰ESP-MESH的行为。初始化和配置ESP-MESH网络涉及启动Wi-Fi、LwIP以及设置Mesh配置。ESP-MESH允许节点自动连接、选择和重新连接到其他节点,实现高度自治的网络。
摘要由CSDN通过智能技术生成

注意,本文原作是InfiniteYuan,原文连接:https://blog.csdn.net/qq_27114397/article/details/88079808,此处仅是对该文的备份,请到原文阅读。

官方原文:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/api-reference/network/esp_mesh.html#

mesh网络组网流程:ESP32 官方文档(十五)ESP-MESH https://blog.csdn.net/qq_27114397/article/details/86743079

ESP-MESH 编程指南

这是 ESP-MESH 的编程指南,包括 API 参考和编码示例。本指南分为以下几部分:

  • ESP-MESH 编程模型
  • 编写 ESP-MESH 应用程序
  • 自组织网络
  • 应用实例
  • API 参考

有关 ESP-MESH 协议的文档,请参阅 ESP-MESH API 指南。


ESP-MESH 编程模型


软件栈

ESP-MESH 软件栈

ESP-MESH 软件栈构建在 Wi-Fi 驱动/FreeRTOS 之上,并且在某些情况下可以使用 LwIP 栈(即根节点)。下图说明了 ESP-MESH 软件栈。

系统事件


应用程序通过 ESP-MESH 事件与 ESP-MESH 交互。由于 ESP-MESH 构建在 Wi-Fi 栈的顶部,因此应用程序也可以通过 Wi-Fi 事件任务与 Wi-Fi 驱动交互。下图说明了 ESP-MESH 应用程序中各种系统事件的接口。

mesh_event_id_t 定义所有可能的  ESP-MESH 系统事件,并且可以指示诸如父/子的连接/断开之类的事件。在可以使用 ESP-MESH 系统事件之前,应用程序必须通过 esp_mesh_set_config() 注册 Mesh 事件回调。 回调用于从 ESP-MESH 栈以及 LwIP 栈接收事件,并且应包含与应用程序相关的每个事件的处理程序。
系统事件的典型用例包括使用诸如 MESH_EVENT_PARENT_CONNECTED 和 MESH_EVENT_CHILD_CONNECTED 之类的事件来指示节点何时可以分别开始上游和下游传输数据。 同样,MESH_EVENT_ROOT_GOT_IP 和 MESH_EVENT_ROOT_LOST_IP 可用于指示根节点何时能够和不能将数据传输到外部 IP 网络。

在自组织模式下使用 ESP-MESH 时,用户必须确保不会调用 Wi-Fi API。这是因为自组织模式将在内部进行 Wi-Fi API 调用以连接/断开/扫描等。来自应用程序的任何 Wi-Fi 调用(包括来自回调函数和 Wi-Fi 事件处理程序的调用)可能干扰 ESP-MESH 的自组织行为。因此,在调用 esp_mesh_start() 之后,并且在调用 esp_mesh_stop() 之前,用户不应该调用 Wi-Fi API。

LwIP & ESP-MESH


应用程序可以直接访问 ESP-MESH 栈,而无需通过 LwIP 栈。仅根节点需要 LwIP 栈向/从外部 IP 网络发送/接收数据。 但是,由于每个节点都可能成为根节点(由于自动根节点选择),每个节点仍必须初始化 LwIP 栈。
每个节点都需要通过调用 tcpip_adapter_init() 来初始化 LwIP 栈。为了防止非根节点访问 LwIP 栈,应用程序应在 LwIP 栈初始化后停止以下服务:

  • SoftA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值