在 BLE Mesh 开发方面,涂鸦提供完整的模组、App及云端服务。涂鸦所提供蓝牙 Mesh 通用对接固件已完成蓝牙 Mesh 协议,MCU在对接协议后即可实现联网。您只需实现 MCU 串口协议交互,并将设备绑定到 App 上,蓝牙 Mesh 的设备将自动组成 Mesh 网路,MUC 无需额外操作,
2017 年 7 月 19 日蓝牙技术联盟(Bluetooth Special Interest Group,简称 SIG)宣布,蓝牙技术开始全面支持 Mesh 网状网络。全新的 Mesh 技术可以支持设备多对多传输,并特别提高了构建大范围网络覆盖的通信效能,Mesh 技术将更加适用于楼宇自动化、无线传感器网络等需要,让数以万计个设备在安全、可靠、稳定环境下进行传输、传输信息的物联网解决方案。
为实现简单的接入和方便的SDK移植,涂鸦 BLE Mesh 开发方案通信原理图如下所示。
无网关BLE Mesh通信示意图
配合BLE mesh网关后 其通信示意图
本小节介绍采用 BLE Mesh 通信方案的产品创建流程,更详细的描述,请参考 MCU 对接方案概述。
登录 IoT 工作台,创建产品。根据实际需求选择产品品类,联网方式选择 蓝牙Mesh(SIG)。
产品创建完成后,您可以根据产品实际需求选择功能、面板、模组及固件,并下载对应生成的 MCU 开发包。
选择模组.
在平台创建产品选择模组时,平台会有一些常用模组型号的推荐。选定模组和固件后,可在线购买模组样品。
硬件工程师可以进入画板阶段,硬件开发相关资料如下所示:
注意:当使用电池作为供电电源时,当供电电压低于正常工作电压时,芯片内部 Flash 操作将有出错的风险,造成固件或者用户数据被异常修改。 有两种方法可以避免:
- 当 MCU 检测到电池电压过低时,切断模块工作电源;
- 当 MCU 检测到电池电压过低时,可以关闭广播和系统计时,让芯片处于深度睡眠模式,从而不会工作。如泰凌微模块最低工作电压为1.8V,MCU 可以设置在 2.0V (要略高于 1.8V)关闭模块。
拿到模组后,可先不必着急编写代码,首先确定模组是否工作正常。使用涂鸦提供的模组调试助手(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 上报下发是否正确,在调试过程有一些常用工具链接如下: