BLE MESH 学习[1] - ESP32 篇

无人久伴 提交于 2020-02-04 19:04:29

BLE MESH 学习

BLE MESH 是一种蓝牙(n:m)组网的技术。

本篇先介绍 BLE MESH 到使用 ESP32 的官方示例对其进行学习讲解。

后面会进一步学习 SIG 的 BLE MESH 协议和架构,以及 RTL8762C 使用。

一、 BLE 和 经典蓝牙简介

1.1 SIG 简介

蓝牙技术现如今由蓝牙技术联盟(Bluetooth special interest group,简称Bluetooth SIG)制定,后面称 SIG。SIG 负责发布维护蓝牙的通信规格和标准。

1.2 BLE 的诞生

SIG 在 2010 年发布了蓝牙4.0,第一次引入的 LE(Low Energy)模式,到后来 2014年发布蓝牙4.2 ,2016 年发布蓝牙5.0。其中 LE 模式常被称为 BLE (Bluetooth Low Energy,蓝牙低功耗)。

在蓝牙4.0 规格中,SIG 定义了四种蓝牙 controller 技术:BR,EDR,AMP 和LE,也就是说,蓝牙只有一种蓝牙,那就是 SIG 的蓝牙,而蓝牙技术本身包含四种类型:BR,EDR,AM 和 LE。

其中 LE 技术就是面向更低成本和功率消耗应用的,在物联网有更好的应用。相反地其他 BR、EDR、AM 等经典技术也就合称为经典蓝牙(BT)。

1.3 BLE 和经典蓝牙应用

下面引用参考的一张图片很好介绍了蓝牙的应用差异。

注意 :经典蓝牙和蓝牙低功耗物理层调制是不同的,所以两者无法进行通信。市面上的蓝牙也分经典蓝牙和低功耗蓝牙以及双模蓝牙,双模即是可以在两种模式中任意切换。

1.4 BLE MESH

BLE EMSH 就是使用 BLE技术进行组网,使得我们能够通过一个网关控制多个节点,节点间互为中继自发连成一个网络,使我们即可以控制其中任一一个节点,也可以控制多个节点协同运作。

二、乐鑫 ESP-BLE-MESH

相对而言,目前 BLE-MESH 的教程比较稀少,且硬件设备类型繁杂。个人比较熟悉 ESP-IDF 以及 ESP32 ,且乐鑫教程文档比较完善清晰,于是使用 ESP32 进行起步对其进行学习。

下面引用其图片、视频进行简单介绍,旨在快速介绍程序以及相关使用流程。详细可以参考 乐鑫 ESP-BLE-MESH API 导向

2.1 准备

2.2 烧入程序

将程序烧入后,初始化未连接,LED 灯呈现绿色。

2.3 连接配置

  1. 启动 nRF Mesh Android 程序,扫描发现三个未配置的设备,点击任意一个对其配置。

  1. 依次按下 IDENTIFYPROVISION

  2. 按下 PROVISION 后,应用程序尝试配置该设备。

    • 断开与节点的连接

    • 尝试与节点重新连接

    • 成功连接并发现ESP-BLE-MESH GATT服务

    • 获取节点的成分数据并向其添加AppKey

    如果成功,会发现右侧图片已经解码成功,

    如果失败,那么只能尝试重新连接,

  3. 然后初始化配置完三个设备,然后设备的绿灯应该都会熄灭

  4. 配置初始化完成后,将主元素中的 AppKey 与通用的 OnOff 服务器模型绑定。

  5. 绑定完成后,可以使用 APP 控制 RED 颜色开关。

    三、程序代码分析

    TODO

参考

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!