上一篇:蓝牙 Mesh 开关开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第五章>>>
下一篇:蓝牙 Mesh 配网模组用户手册(基于 AT 命令) | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第七章>>>
点击免费下载
《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》>>>
1. 智能灯介绍
蓝牙Mesh智能灯,是智能家居系统中最基础的设施。通过设置智能灯的模型属性,能够实现轻松、高效地控制灯的状态。本文将使用BLE MESH SDK和CB6121开发板,以智能灯的开关应用开发为例指导读者进行MESH开发。
2. 应用开发
2.1. 应用初始化
应用入口函数app_main(),主要实现如下功能:
• 板级初始化
• MESH灯Model定义
• Mesh节点初始化,注册Model事件回调处理函数
代码分析:
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
这三个模型均用于调节设备的色温属性。
代码分析:
2.3 Mesh Models 事件回调处理
Mesh Node组件将根据所定义的Models,上报相关事件及数据。以OnOff属性
为例,进行代码解析:
注意:
网络中需要存在多个节点时,需要更改代码中设备 UUID 后编译烧录该镜像,并烧录镜像时设置不同的 MAC 地址,避免组网出现问题 。
3. 例程运行
3.1 开发板连线
3.2 编译
● 进入 SDK 根目录,编译 Mesh 灯应用镜像
3.3 运行
● 下载工程目录下的镜像文件 (generated/total_image.hexf) 至 CB6121 开发板,
镜像下载可参考《CB6121 快速上手手册》
● 连接串口调试工具 , 配置为
波特率 : 115200, 数据位 : 8, 校验位 : None, 停止位 : 1, 流控 : None
● 开发板拨码开关拨至 GND
● 按 RESET 按键,复位开发板
● 设备将开启 Unprovisoin Device Beacon 广播,串口上输出 'Mesh light node
demo' 信息
● Mesh 灯设备配网可参照下图,通过手机 nRF Mesh APP 操作,绑定应用密钥的索引为 1
• 设置智能灯设备中的Generic OnOff Server Model的应用密钥,绑定应用密钥的索引为1
• 手机操作设备成功入网后,开发板上D2绿灯将常亮,并在串口输出如下信息
● 通过手机 nRF Mesh APP 绑定 Generic OnOff Server Model 的 APP Key 后,控制灯的开关状态
● 开发板 D3 绿灯将被控制,并在串口上输出如下信息