zoukankan      html  css  js  c++  java
  • BLE MESH 学习[1]

    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

    参考

  • 相关阅读:
    Laravel中如何将单个routes.php分割成多个子文件
    PHP中“==”运算符的安全问题
    一些需要禁用的PHP危险函数
    使用PHP QR Code生成二维码
    gulp详细入门教程
    h5+分享到微信、朋友圈代码示例
    学习地址
    关于this 方法中套方法中找 立即执行的问题 等问题
    判断条件问题是否存在
    jsp 基础语法
  • 原文地址:https://www.cnblogs.com/doiting/p/12260218.html
Copyright © 2011-2022 走看看