ESP-WIFI-MESH 开发框架 ESP-MDF 开发环境搭建 说明注意事项$ P" b* }0 x# T+ Z
# f8 {+ ~3 }6 n' J K7 n该版本的 MDF 基于 IDF master 分支,不建议用在产品开发上,如果寻求稳定版 MDF,建议使用 release/v1.0 分支。
. \# \# t/ W( T/ H" FMDF master 分支已支持 ESP32S2。但以下示例暂时无法在 ESP32S2 上使用,后续将会逐步为 ESP32S2 适配- function_demo/mconfig
- development_kit/buddy
- development_kit/button
- development_kit/light
- development_kit/sense
- wireless_debug/ G8 n% k3 _4 D: _
; }4 m p( i& P5 n
ESP-MDF (Espressif Mesh Development Framework) 是基于 ESP32 芯片的 ESP-WIFI-MESH 开发框架。ESP-WIFI-MESH 是一种基于 Wi-Fi 构建的 MESH 网络通信协议。
7 s; V- i0 F: |, } l) q L概述
4 _8 Y9 W w) h6 y. gESP-MDF 在 ESP-WIFI-MESH 协议栈的基础上增加了配网、升级、调试机制及应用示例。使用 ESP-MDF 您可以快速上手 ESP-WIFI-MESH 开发。其主要特点如下: - 快速配网:在 app 配网的基础上增加了设备间链式配网,以实现大范围快速配网;
- 稳定升级:通过断点续传、数据压缩、版本回退和固件检查等机制达到高效升级;
- 高效调试:支持指令终端、通过无线进行日志传输和调试等多种调试方式;
- 局域网控制:支持 app 控制、传感器控制等;
- 丰富的示例:提供了基于 ESP-MESH(又称 ESP-WIFI-MESH)、ESP-MESH-LITE 的照明等综合解决方案。
! S) s5 E" d0 b1 C# n, _# l6 u" B- x 3 \! d; a; x* |8 L. {# p" J/ ^
框架
0 i0 v2 ~ i, ^5 ]& Y% F; WESP-MDF 共分为 Utils、Components 和 Examples 三个部分(如下图所示),他们之间的关系:Utils 是 ESP-IDF APIs 的抽象封装以及第三方库,Components 是基于 Utils APIs 组成的 ESP-MDF 功能模块,Examples 是基于 Components 完成的 ESP-WIFI-MESH 解决方案。
- Utils:8 e+ H; G- S4 z9 T1 c
- Components:: Y$ q: R Q8 N9 l4 O4 c% S1 k
- Mconfig:配网模块
- Mupgrade:升级模块
- Mdebug:调试模块
- Mlink:局域网控制模块
- Mesh_Lite:轻量化 Mesh 模块. [3 A( F) T% u0 d2 L7 v; i( V- I
- Examples:" |5 E j8 O: z; p. c( t
- Function demo:各个功能模块的使用示例
- f% b5 B k& `4 ]4 Q$ A- Mwifi:常见组网方式的示例:无路由器、有路由器。先基于此示例进行开发,而后在其基础上添加配网、升级、无线测试等功能
- Mupgrade:设备的升级示例
- Mconfig:设备的配网示例
- Mcommon:通用模块示例,事件处理 内存管理 信息存储的使用示例
+ ?# q2 C9 T1 d3 d* }- \0 \
- Debug:性能测试和调试工具1 G! }9 w" |6 v. Q3 u& d( l
- Development Kit:ESP32-MeshKit 使用示例, 用于调研和了解 ESP-WIFI-MESH9 {" @' A) i( Y1 |9 [0 X
- ESP32-MeshKit-Light:板载 ESP32 芯片的智能灯,用于 ESP-WIFI-MESH 作为主干网络进行长供电的场景。支持 BLE + ESP-WIFI-MESH, 可实现BLE网关, iBeacon 和 BLE 扫描
- ESP32-MeshKit-Sense:ESP-WIFI-MESH 在 Deep-sleep + Light-sleep 模式下的低功耗方案,可用于:监测 MeshKit 外设功耗和根据传感器数据控制 MeshKit 外设
- ESP32-MeshKit-Button:ESP-WIFI-MESH 在超低功耗的场景下使用,平常处于断电状态,仅在唤醒时工作,并通过 ESP-NOW 给 ESP-WIFI-MESH 设备发包。
/ t& y4 P- ~; V. X
- Mesh_Lite:轻量化 Mesh 使用示例; c$ L3 W7 P; A5 D% T# _8 s
- Router:Mesh-Lite 组网示例,本示例仅简单演示设备组网,不包含复杂的网络应用。
- Rainmaker:本示例演示 Mesh-Lite 对接 ESP-Rainmaker 云平台,组网内所有设备均可单独接入云,并通过 Nova Home APP 进行控制。; e# ^/ G6 D) r0 {/ i; n- j
- 云平台: ESP-MDF 对接云平台
2 Y8 m- W/ {* _4 q- Aliyun Linkkit:ESP-MDF 接入阿里飞燕平台示例
- AWS:ESP-MDF 接入 AWS 平台示例
3 ], Q; w* B( }1 Y9 l8 z% G & z2 ` d& W6 L
7 ?2 d! O1 Y, B C, S) O" q 使用 ESP-MDF 进行开发
. U) I; M- e4 A7 V, n8 ]6 C9 s
- E% P7 ?# [8 D# G1 r1 P' G3 J开发板指南ESP32-MeshKit 开发套件. Y# p( E/ F% Q. n- }5 G9 P
ESP32-MeshKit Light |
ESP32-MeshKit Sense |
- 产品:
- c* h7 A* Y- a3 u H+ ?9 j9 f" U$ U' k1 D l
ESP32-Buddy 开发板0 e6 T1 d& R( }; G# X
ESP32-Buddy 是专为 ESP-WIFI-MESH 开发测试而设计的开发板。体积小,采用 USB 供电,方便做大数量设备的测试及距离测试。 - 功能:: L9 ~& e( x+ w# ^
- 16 MB 的 flash:存储运行日志
- OLED 屏:显示当前设备所在的层级、连接状态等信息
- LED:运行状态指示
- 温湿度传感器:数据采集
$ s$ h3 c. {+ ^. p
: i# ?( L' ?& I$ Q5 |+ y 快速开始7 Z0 L8 f, l+ g, E/ w
ESP-WIFI-MESH 的优势布置方便:采用 Wi-Fi 组网,无需布线安装等复杂工作,支持自组网、自修复和自管理,用户只需配置路由器的密码即可; 无需网关:ESP-WIFI-MESH 采用去中心化的结构,其无需网关避免了单点故障造成整个网络瘫痪,仅一个 ESP-WIFI-MESH 设备也能正常工作; 传输更安全:数据链路层和应用层均可实施加密; 传输更可靠:两个设备之间的是可靠传输和流控,支持单播、组播和广播; 网络容量大:ESP-WIFI-MESH 采用树状结构,单个设备最多直接连接 10 个设备,单个网络可容纳 1000 个节点; 传输范围广:两个设备之间的传输距离隔墙 30 m,空旷环境 200 m(测试基于 ESP32-DevKitC); ! G3 f9 H2 z4 |3 p$ k
- 智能家居:即使仅有三五个设备且隔墙也能够组成网络,可以满足家庭环境中,设备数量少无法相互通信的问题;
- 路灯方案:可能满足路灯场景中两个相距较远的设备之间的通信。; A& i" Q9 S6 z1 r% q; h; R' I$ G
传输速率高:基于 Wi-Fi 传输,高达 10 Mbps 的传输率;
+ K' ~ n; O i; h, H& b3 g- 环境控制系统:可以直接传输传感器采集到的原始数据,对大量数据的分析来校准算法提高传感器准确性;
- 背景音乐系统:可以进行音视频传输。
/ ?2 y5 i% r r
能同时运行 BLE 协议栈:ESP32 芯片可以同时运行 Wi-Fi 和 BLE 协议栈,利用 ESP-WIFI-MESH 做为主干网络进行数据的传输,通过 BLE 接收探针、发送广播和连接设备;
- n, k; d. [) |. I! u$ q- 物品跟踪:通过多个采集点监控同一设备发出的 BLE 或 Wi-Fi 数据包;
- 人流量检测:统计 Wi-Fi 设备发出的 Probe Request (探测请求)帧;
- 室内定位:每个设备相当于 Beacon 基站不断向四周发送蓝牙信号,手机通过分析与设备之间的信号强度,计算出当前的位置;
- 产品推广:通过 iBeacon 实时推送产品信息和优惠活动;
- 蓝牙网关:每个设备可以相当于一个蓝牙网关,使传统的蓝牙设备也能连接 ESP-WIFI-MESH 网络。. F. Z3 `# ^' |
- }5 v4 h% O% U; V" } 相关资源( A h6 _1 {' K) n2 y
4 M# A9 [1 ]/ d9 x
|