蓝牙 Mesh 接入

更新时间:2024-06-28 10:50:23下载pdf

在蓝牙 Mesh 开发方面,涂鸦提供完整的模组、App 及云端服务。涂鸦提供的蓝牙 Mesh 通用对接固件已完成蓝牙 Mesh 协议,MCU 在对接协议后即可实现联网。您只需实现 MCU 串口协议交互,并将设备绑定到 App 上,蓝牙 Mesh 设备将自动组成 Mesh 网络,无需在 MCU 端进行额外操作。

背景信息

2017 年 7 月 19 日蓝牙技术联盟(Bluetooth Special Interest Group,简称 SIG)宣布,蓝牙技术开始全面支持 Mesh 网状网络。全新的 Mesh 技术可以支持设备多对多传输,提高了构建大范围网络覆盖的通信效能。Mesh 技术更适用于楼宇自动化、无线传感器网络等场景,让数以万计设备在安全、可靠、稳定的环境下进行信息交互。

蓝牙 Mesh 性能特点

  • 优势

    • 蓝牙联盟(SIG)国际标准协议,实现真正互联互通
    • 微安级别的低功耗技术
    • 同时支持手机蓝牙直连控制和网关远程控制
    • 经过蓝牙联盟认证
    • 简单易操作,灵活组网,高鲁棒性,系统更加稳健
    • 拥有跳频技术,不易受 2.4GHz 频率通信干扰
  • 局限性

    • 并发消息处理能力差,可能造成网络堵塞
    • 没有网关时,不能远程控制
    • 穿墙性能弱
  • 应用场景

    • 本地场景联动,可应用于高端照明领域
    • 大规模群组控制,适用于商业照明方案
    • 超高性价比的照明解决方案

涂鸦开发方案

涂鸦蓝牙 Mesh 开发方案实现简单的接入和方便的 SDK 移植,其通信原理图如下所示。

  • 无网关蓝牙 Mesh 通信示意图

    蓝牙 Mesh 接入
  • 配合蓝牙 Mesh 网关后的通信示意图

    蓝牙 Mesh 接入

开发流程

第一步:创建产品

本节介绍采用蓝牙 Mesh 通信方案的产品创建流程。更多详情,参考 MCU 开发接入

  1. 登录 涂鸦开发者平台,创建产品。根据实际需求选择产品品类,通讯协议选择 蓝牙Mesh(SIG)

    蓝牙 Mesh 接入
  2. 产品创建完成后,您可以根据产品实际需求选择功能和面板,并在 硬件开发 页签下载对应生成的 MCU 开发资料。

    蓝牙 Mesh 接入
  3. 选择模组并生成固件。

    蓝牙 Mesh 接入
    1. 在平台创建产品和选择模组时,平台会推荐一些常用模组型号。选定模组和固件后,可在线购买模组样品。

    2. 硬件工程师可以进入画板阶段,硬件开发相关资料如下所示:

      当使用电池作为供电电源,且供电电压低于正常工作电压时,芯片内部 Flash 操作将有出错的风险,造成固件或者用户数据被异常修改。当 MCU 检测到电池电压过低时,有两种规避方法:

      • 切断模组工作电源。
      • 关闭广播和系统计时,让芯片处于深度睡眠模式来停止工作。例如模组最低工作电压为 1.8V,建议将 MCU 设为电压低于 2.0V(略高于最低工作电压)时关闭模组。

第二步:硬件调试

背景信息

涂鸦蓝牙 Mesh 串口通用协议的架构框如下图所示。

蓝牙 Mesh 接入

注意事项

拿到模组后,首先确定模组是否工作正常,再进行编码。涂鸦模组调试助手(MCU 模拟模式下)会模拟 MCU 自动回复正确的协议数据至模组,用手机给模组配网后可测试 DP 数据的上报下发。验证模组的同时可以熟悉协议交互流程,将极大提升后期开发调试效率。

下图展示涂鸦模组调试助手与 MCU 模拟模式连线方式。

蓝牙 Mesh 接入

操作步骤

本节介绍助手和模组配网实操的主要步骤,更多详情,请参考 使用涂鸦模组调试助手

  1. 根据最小系统原理图,搭建模组外围电路,简单测试可直接飞线。

  2. 打开开发包中涂鸦模组调试助手,导入调试文件后,选择蓝牙 Mesh 通用协议和 MCU 模拟模式。

  3. 将模组串口通过 USB 转 TTL 工具接到电脑端,在助手中选择对应的串口及波特率,打开串口后单击 启动。模组和上位机会自动进行初始化流程协议交互。

    蓝牙 Mesh 模组上电会不断发送心跳包,收到正确回复后,进行后续初始化协议的交互。若上电无数据发出,请检查模组外围电路是否正确。

  4. 配网功能 区域,单击 重置 使模组进入配网模式。模组会断开蓝牙连接,解除蓝牙绑定关系,清除缓存信息,并重启。

    蓝牙 Mesh 接入

第三步:软件开发

协议介绍

在硬件调试环节,可以看到模组与 MCU 有一系列的串口协议交互数据,对于数据的解析部分,可参考开发资料中的协议文档。协议主要分为两部分:基础协议和功能协议。

  • 基础协议:包括模组初始化指令及部分扩展功能指令和产品无关,是模组共有协议。

  • 功能协议:主要基于基础协议上报下发命令字,对 DP 数据内容格式做了详细说明。关于基础协议完整内容,参考 蓝牙 Mesh 通用串口协议

对接方式

您可以通过移植 MCU SDK 或自行对接协议来对接涂鸦模组协议。其中,开发资料中的 MCU SDK 是涂鸦提供的基于 C 语言的协议应用代码,可直接添加到 MCU 工程中。

  • 移植 MCU SDK
    • 若 MCU 资源足够,建议直接移植 MCU SDK,提高开发效率。
    • 若 MCU 资源不足,可自行对接协议,SDK 包中的函数依然可以作为参考。
    • MCU SDK 对 MCU 硬件资源要求:
      • Flash 4K 字节
      • RAM 与 DP 数据长度有关,需要一百字节左右(如需 OTA 功能需大于 260 字节)
      • 函数嵌套级数 9 级。
  • 自行对接协议
    对于 MCU 资源有限或不适宜移植 MCU SDK 时,客户可以选择自行对接串口协议。

第四步:协议验证

移植 MCU SDK 代码开发完成后,需要使用涂鸦模组调试助手的 模组模拟模式 来验证 MCU 代码的正确性。
模组模拟模式下,助手会自动发送初始化数据流,验证 MCU 回复是否正确,并对错误数据给予相应提示。初始化交互通过后,可以手动单击测试其他拓展功能。

涂鸦模组调试助手的模组模拟模式仅用来验证 MCU 串口协议收发正确性,不含联网功能。测试完成后,MCU 可接实际模组进行配网联调。

以下为模组模拟模式连线示意图:

蓝牙 Mesh 接入 蓝牙 Mesh 接入

第五步:功能联调

在使用助手验证代码后,MCU 可连接模组使用 App 配网,进入功能联调阶段。功能联调主要测试各 DP 上报下发是否正确,在调试过程中,可使用一些常用工具:

  • 后台日志查询:平台运营中心,根据设备 ID 可查询相关设备后台日志数据。
  • 服务支持:涂鸦提供在线化的支持服务。如果文档资料无法解决您的问题,您可直接在线提问,专业技术团队将为您答疑。