文档中心

开发概述

更新时间:2020-09-28 12:29:02下载pdf

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

背景信息

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

BLE Mesh 性能特点

  • 优势
    • 蓝牙联盟(SIG)国际标准协议,实现真正互联互通
    • 微安级别的低功耗技术
    • 同时支持手机蓝牙直连控制和网关远程控制
    • 本地场景联动,应用于高端照明领域
    • 适用于商业照明,大规模群组控制
    • 方案经过蓝牙联盟认证
    • 超高性价比的照明解决方案
    • 简单易操作,灵活组网,高鲁棒性,系统更加稳健
    • 跳频技术,不易受 2.4GHz 频率通信干扰
  • 局限性
    • 并发消息处理能力差,可能造成网络堵塞
    • 没有网关时,不能远程控制
    • 穿墙性能弱

涂鸦开发方案

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

  • 无网关BLE Mesh通信示意图

    开发概述
  • 配合BLE mesh网关后 其通信示意图

    开发概述

开发流程

第一步:创建产品

本小节介绍采用 BLE Mesh 通信方案的产品创建流程,更详细的描述,请参考 MCU 对接方案概述

  1. 登录 IoT 工作台,创建产品。根据实际需求选择产品品类,联网方式选择 蓝牙Mesh(SIG)

  2. 产品创建完成后,您可以根据产品实际需求选择功能、面板、模组及固件,并下载对应生成的 MCU 开发包。

    开发概述

  3. 选择模组.

    在平台创建产品选择模组时,平台会有一些常用模组型号的推荐。选定模组和固件后,可在线购买模组样品。

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

    • BLE模组规格书

    • BLE模组硬件设计

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

      • 当 MCU 检测到电池电压过低时,切断模块工作电源;
      • 当 MCU 检测到电池电压过低时,可以关闭广播和系统计时,让芯片处于深度睡眠模式,从而不会工作。如泰凌微模块最低工作电压为1.8V,MCU 可以设置在 2.0V (要略高于 1.8V)关闭模块。
    • (PCB)常用模组封装库

第二步:功能联调

拿到模组后,可先不必着急编写代码,首先确定模组是否工作正常。使用涂鸦提供的模组调试助手(MCU 模拟模式)与模组配合可以配网实操,验证模组的同时可以熟悉协议交互流程,后边开发调试效率将极大提升。涂鸦 BLE Mesh 串口通用协议其架构框如下图所示。

开发概述

涂鸦模组调试助手 - MCU 模拟模式,助手会模拟 MCU 自动回复模组正确的协议数据,用手机给模组配网后可测试 DP 数据的上报下发。本小节介绍助手和模组配网实操的主要步骤,更多详情,请参考 使用涂鸦模组调试助手。下图介绍了涂鸦模组调试助手与 MCU 模拟模式连线方式。

开发概述

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

  • 打开开发包中涂鸦模组调试助手,导入调试文件。协议选择 BLE Mesh 通用协议,MCU 模拟模式。

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

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

  • 点击重置模块,模组会断开模块蓝牙连接,解除蓝牙绑定关系,清除模块缓存信息,并使模块重启。

    开发概述

第三步:软件开发

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

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

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

MCU 对接涂鸦模组协议,有两种途径。

  • 自行对接协议:

    对于MCU资源有限或不适宜移植 MCU SDK 情况时,客户可以选择自行对接串口协议。

  • 移植MCU SDK:

    若MCU资源足够,一般建议用户直接移植 MCU SDK,开发高效便捷。开发包中 MCU SDK 是涂鸦提供的基于C语言的协议应用代码,可直接添加到 MCU 工程中。MCU SDK 对 MCU 硬件资源需求:Flash 4K 字节;RAM 与 DP 点数据长度有关,一百字节左右(如需OTA 功能需大于 260 字节);函数嵌套级数 9 级。若资源不足的用户,可自行对接协议,SDK 包中的函数依然可以作为参考。更多详情,请参考 MCU SDK 移植

第四步:协议验证

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

注意:涂鸦模组调试助手模组模拟模式,没有联网功能,仅用来验证 MCU 串口协议收发正确性。测试完成后,MCU 可接实际模组配网联调。以下为模组模拟模式连线示意图。

开发概述

开发概述

第五步:功能联调

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

  • 后台日志查询:IoT 工作台-运营中心,根据设备 ID 可查询相关设备后台日志数据。
  • 涂鸦在线支持:涂鸦提供在线化的支持服务,如问题文档资料无法解答,可直接在线提问,专业技术团队将为您答疑。
  • FAQ: 开发常见问题,可提前了解,有效避免踩坑。
点击获取服务和帮助