乐鑫ESP32 ESP-IDF BLE Mesh使用

ESP32 BLE mesh api研究

1. demo使用

a. 文档介绍/功能介绍

ESP-BLE-MESH | 乐鑫科技

ESP-BLE-MESH - ESP32 - — ESP-IDF 编程指南 latest 文档

相关ESP32 BLE mesh资料如上

ⅰ. 功能Feature

Mesh 核心

  • 入网
    • PB-ADV,PB-GATT,PB-Remote
    • OOB 验证
    • 基于证书的入网
    • 远程入网
    • 增强入网验证
  • 网络
    • 中继
    • 分包和重组
    • 密钥更新程序
    • IV 更新程序
    • 朋友节点
    • 低功耗节点
    • 代理服务器
    • 代理客户端
    • 定向转发
    • 私有信标
    • 子网桥
    • 次要增强
  • 多个客户端模型同时运行
    • 支持多个客户端模型同时向不同节点发送数据包
    • 客户端模型与服务器模型之间无阻塞
  • NVS 存储
    • 存储 ESP-BLE-MESH 节点的入网和配置信息

Mesh 模型

  • 基础模型
    • 配置服务器模型
    • 配置客户端模型
    • 健康服务器模型
    • 健康客户端模型
    • 远程供应服务器模型
    • 远程供应客户端模型
    • 定向转发配置服务器模型
    • 定向转发配置客户端模型
    • 桥接配置服务器模型
    • 桥接配置客户端模型
    • Mesh 专用信标服务器模型
    • Mesh 专用信标客户端模型
    • 按需提供的专用代理服务器模型
    • 按需提供的专用代理客户端模型
    • SAR 配置服务器模型
    • SAR 配置客户端模型
    • 请求 PDU RPL 配置服务器模型
    • 请求 PDU RPL 配置客户端模型
    • 操作码聚合器服务器模型
    • 操作码聚合器客户端模型
    • 大型合成数据服务器模型
    • 大型合成数据客户端模型
  • 通用客户端模型
    • 通用开关客户端
    • 通用电平客户端
    • 通用默认过渡时间客户端
    • 通用电源开关客户端
    • 通用功率电平客户端
    • 通用电池客户端
    • 通用位置客户端
    • 通用属性客户端
  • 传感器客户端模型
    • 传感器客户端
  • 时间与场景客户端模型
    • 时间客户端
    • 场景客户端
    • 调度器客户端
  • 照明客户端模型
    • 灯光亮度客户端
    • 灯光 CTL 客户端
    • 灯光 HSL 客户端
    • 灯光 xyL 客户端
    • 灯光 LC 客户端
  • 通用服务器模型
    • 通用开关服务器
    • 通用电平服务器
    • 通用默认过渡时间服务器
    • 通用电源开关服务器
    • 通用电源开关设置服务器
    • 通用功率电平服务器
    • 通用功率电平设置服务器
    • 通用电池服务器
    • 通用位置服务器
    • 通用位置设置服务器
    • 通用用户属性服务器
    • 通用管理员属性服务器
    • 通用制造商属性服务器
    • 通用客户端属性服务器
  • 传感器服务器模型
    • 传感器服务器
    • 传感器设置服务器
  • 时间和场景服务器模型
    • 时间服务器
    • 时间设置服务器
    • 场景服务器
    • 场景设置服务器
    • 调度器服务器
    • 调度器设置服务器
  • 照明服务器模型
    • 灯光亮度服务器
    • 灯光亮度设置服务器
    • 灯光 CTL 服务器
    • 灯光 CTL 温度服务器
    • 灯光 CTL 设置服务器
    • 灯光 HSL 服务器
    • 灯光 HSL 色调服务器
    • 灯光 HSL 饱和度服务器
    • 灯光 HSL 设置服务器
    • 灯光 xyL 服务器
    • 灯光 xyL 设置服务器
    • 灯光 LC 服务器
    • 灯光 LC 设置服务器
ⅱ. 架构

ESP-BLE-MESH 架构主要由以下 5 大部分组成:

  • Mesh 协议栈
    • Mesh Networking 负责 ESP-BLE-MESH 节点的网络消息处理等。
    • Mesh Provisioning 负责 ESP-BLE-MESH 设备的启动配置流程。
    • Mesh Models 负责实现 SIG 定义的模型。
  • 网络管理
    • 负责实现网络管理程序,包括节点删除程序、网络索引 (IV Index) 恢复程序等。
  • 特性
    • 包括 ESP-BLE-MESH 特性,如低功耗特性、好友特性、中继特性等。
  • Mesh 承载层
    • 包括 广播承载层GATT 承载层。承载层对于 ESP-BLE-MESH 协议栈至关重要,因为协议栈基于蓝牙低功耗技术构建而成,其必须利用承载层通过 BLE 广播通道和连接通道进行数据传输。
  • 应用程序
    • 基于 ESP-BLE-MESH 协议栈和 Mesh Models
    • 通过调用 API 和处理事件,Applications 实现了与 ESP-BLE-MESH 协议栈中的 Mesh NetworkingMesh Provisioning 的交互,也实现了与 Mesh Models 中一系列模型的交互。

b. 手机app安装

我是下载的nrf mesh这个apk,可以自行去网上下载

c. 开发使用

ⅰ. 选择example

我们选择onoff_server的example工程

另外这里会有更多的测试demo,来达到不同的验证目的,各位可以自行下载使用

ⅱ. 修改board LED等的控制

https://github.com/sj15712795029/esp32_study/tree/main/4_bluetooth/5_ble_mesh_onoff_server

可以看下这个工程!!

ⅲ. 编译工程/下载

我们已经在前面很多文章已经介绍过编译/下载了,所以我们不额外赘述了,烧录完毕就有了这个效果

ⅳ. 验证

步骤一: 手机扫描

步骤二:Generic provisioning layer Link establish

骤三:Provisioning

步骤四:BIND KEY

步骤五:控灯

点击这个ON/OFF就可以控制我们开发板中的灯了!

2. API介绍

对于应用层的接口如下:

<think>好的,我现在要回答用户关于ESP32-WROOM-32和ESP32-S系列之间的差异的问题。首先,我需要确认用户提到的ESP32-S具体指的是哪一款型号,因为ESP32系列中有多个以S开头的型号,比如ESP32-S2、ESP32-S3等。用户可能没有明确说明,所以我的回答需要涵盖主要的ESP32-S系列,并比较它们与ESP32-WROOM-32的不同。 接下来,我需要从硬件规格、功能特性、应用场景等方面进行比较。根据用户提供的引用资料,尤其是引用[1]和[4],ESP32-WROOM-32D和32U的主要区别在于天线设计,而ESP32-WROOM-32E和32UE则涉及尺寸和封装。但用户的问题是关于WROOM-32和ESP32-S系列的区别,所以我需要查找更多关于ESP32-S的信息。 首先,回忆的产品线,ESP32-S系列通常是后续推出的,比如ESP32-S2是单核处理器,而ESP32-S3是双核,支持更多的外设和更高的性能。相比之下,ESP32-WROOM-32属于较早的ESP32经典系列,双核Xtensa LX6处理器,支持Wi-Fi和蓝牙双模。 需要确认的关键点包括: 1. 处理器架构:ESP32-WROOM-32使用Xtensa LX6,而ESP32-S系列可能使用不同的架构,比如ESP32-S2是单核Xtensa LX7,ESP32-S3是双核LX7,支持向量指令扩展。 2. 无线功能:ESP32-WROOM-32支持2.4GHz Wi-Fi和蓝牙4.2,而ESP32-S2仅支持Wi-Fi,没有蓝牙;ESP32-S3支持Wi-Fi和蓝牙5.0。 3. 内存和存储:不同型号的Flash和PSRAM配置可能不同。 4. 外设接口:比如USB、GPIO数量、触摸传感器等。 5. 目标应用:比如ESP32-S2适合需要USB OTG或LCD接口的应用,而ESP32-S3适合AI和机器学习场景。 用户提供的引用中没有直接提到ESP32-S系列,所以可能需要依赖外部知识。但根据引用[3]中的ESP-IDF文档链接,可以推断官方文档是可靠的信息源。此外,引用[4]提到ESP32-WROOM-32E是升级版,但未涉及S系列。 因此,在回答中需要明确区分不同ESP32-S型号与WROOM-32的差异,并指出用户可能需要更具体的型号比较。同时,引用官方文档作为参考,例如引用[3]中的ESP-IDF指南,以及可能的其他引用资料。 最后,生成相关问题,帮助用户进一步探索。</think>### ESP32-WROOM-32 与 ESP32-S 系列差异对比 #### 1. **核心架构与性能** - **ESP32-WROOM-32** 采用双核 Xtensa LX6 处理器(主频 240 MHz),支持 Wi-Fi 4 (802.11 b/g/n) 和蓝牙/蓝牙低功耗(BT/BLE 4.2),适用于通用物联网场景[^3][^4]。 - **ESP32-S 系列** - **ESP32-S2**:单核 Xtensa LX7 处理器(主频 240 MHz),仅支持 Wi-Fi 4,无蓝牙功能,但新增 USB OTG 接口和更多 GPIO,适合需要 USB 通信或成本敏感的应用[^3]。 - **ESP32-S3**:双核 Xtensa LX7 处理器(主频 240 MHz),支持 Wi-Fi 4 和蓝牙 5.0,新增向量指令扩展(AI加速),适用于机器学习、语音识别等高性能场景。 #### 2. **无线功能与协议支持** - **ESP32-WROOM-32**:Wi-Fi + 蓝牙双模。 - **ESP32-S2**:仅 Wi-Fi,无蓝牙。 - **ESP32-S3**:Wi-Fi + 蓝牙 5.0(包含 BLE Mesh)。 #### 3. **外设与接口** - **ESP32-WROOM-32**:提供 34 个 GPIO、SPI、I2C、UART 等通用接口。 - **ESP32-S2**:增加 USB OTG、LCD 接口(8-bit)、触摸传感器(14通道)。 - **ESP32-S3**:在 S2 基础上优化 AI 加速能力,支持更多并行外设(如摄像头、显示屏)。 #### 4. **内存与存储** - **ESP32-WROOM-32**:通常搭载 4MB Flash,无 PSRAM。 - **ESP32-S2/S3**:支持更大 Flash(最高 16MB)和可选 PSRAM(8MB),适合数据密集型应用。 #### 5. **应用场景** - **ESP32-WROOM-32**:智能家居、工业控制等通用物联网设备[^1]。 - **ESP32-S2**:USB 设备(如 U 盘控制器)、低成本传感器节点。 - **ESP32-S3**:AIoT 设备(如语音助手)、复杂人机交互(触控屏+语音)。 #### 6. **封装与尺寸** - **ESP32-WROOM-32**:模块尺寸为 18.0 × 25.5 × 3.1 mm(32D/E)或 18.0 × 19.2 × 3.2 mm(32UE)[^2]。 - **ESP32-S 系列**:封装更紧凑(如 ESP32-S3-MINI 为 13.2 × 16.6 × 3.2 mm),适合小型化设计。 --- ### 总结表格 | 特性 | ESP32-WROOM-32 | ESP32-S2 | ESP32-S3 | |---------------------|---------------------|--------------------|--------------------| | 核心 | 双核 Xtensa LX6 | 单核 Xtensa LX7 | 双核 Xtensa LX7 | | 无线功能 | Wi-Fi + BT/BLE 4.2 | 仅 Wi-Fi | Wi-Fi + BT 5.0 | | USB OTG | 不支持 | 支持 | 支持 | | AI 加速 | 无 | 无 | 向量指令扩展 | | 典型应用 | 通用 IoT | USB 设备、传感器 | AIoT、复杂交互 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wireless_Link

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值