蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

上一篇:蓝牙 Mesh 开关开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第五章>>>
下一篇:蓝牙 Mesh 配网模组用户手册(基于 AT 命令) | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第七章>>>

点击免费下载
《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》>>>

蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

1. 智能灯介绍

蓝牙Mesh智能灯,是智能家居系统中最基础的设施。通过设置智能灯的模型属性,能够实现轻松、高效地控制灯的状态。本文将使用BLE MESH SDK和CB6121开发板,以智能灯的开关应用开发为例指导读者进行MESH开发。

2. 应用开发

2.1. 应用初始化

应用入口函数app_main(),主要实现如下功能:
• 板级初始化
• MESH灯Model定义
• Mesh节点初始化,注册Model事件回调处理函数
代码分析:
蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章
蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

2.2. 设备模型定义

Mesh解决方案中,模型用于定义设备节点的功能。以Mesh灯为例,可以定义下列模型:
• Configuration Server Model

 这个模型用于存储节点的Mesh网络配置。

• Health Server Model

 该模型主要用于MESH网络诊断。

• Generic OnOff Server Model

 该模型用于获取、控制设备的开关属性。

• Generic Level Server Model

 该模型用于获取、控制设备的档位属性。

• Generic Lightness Server Model

 该模型用于获取、控制设备的亮度属性。

• Generic CTL Server Model / Generic CTL Setup Server Model / Generic CTL Temperature Server Model

 这三个模型均用于调节设备的色温属性。

代码分析:

蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章
蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

2.3 Mesh Models 事件回调处理

Mesh Node组件将根据所定义的Models,上报相关事件及数据。以OnOff属性
为例,进行代码解析:

蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章
蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

注意:
网络中需要存在多个节点时,需要更改代码中设备 UUID 后编译烧录该镜像,并烧录镜像时设置不同的 MAC 地址,避免组网出现问题 。

3. 例程运行

3.1 开发板连线

蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

3.2 编译

● 进入 SDK 根目录,编译 Mesh 灯应用镜像
蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

3.3 运行

● 下载工程目录下的镜像文件 (generated/total_image.hexf) 至 CB6121 开发板,
镜像下载可参考《CB6121 快速上手手册》
● 连接串口调试工具 , 配置为
波特率 : 115200, 数据位 : 8, 校验位 : None, 停止位 : 1, 流控 : None
● 开发板拨码开关拨至 GND
● 按 RESET 按键,复位开发板
● 设备将开启 Unprovisoin Device Beacon 广播,串口上输出 'Mesh light node
demo' 信息
蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

● Mesh 灯设备配网可参照下图,通过手机 nRF Mesh APP 操作,绑定应用密钥的索引为 1

蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

• 设置智能灯设备中的Generic OnOff Server Model的应用密钥,绑定应用密钥的索引为1
蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

• 手机操作设备成功入网后,开发板上D2绿灯将常亮,并在串口输出如下信息
蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

● 通过手机 nRF Mesh APP 绑定 Generic OnOff Server Model 的 APP Key 后,控制灯的开关状态
蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

● 开发板 D3 绿灯将被控制,并在串口上输出如下信息
蓝牙 Mesh 灯控开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第六章

上一篇:蓝牙 Mesh 网络及 SDK 概述 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第一章


下一篇:蓝牙 Mesh 配网模组用户手册(基于 AT 命令) | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第七章