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

开发者社区> 平头哥芯片开放社区> 正文

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

简介: 本节重点介绍 蓝牙 Mesh 灯控开发实例

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

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

test

1. 智能灯介绍

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

2. 应用开发

2.1. 应用初始化

应用入口函数app_main(),主要实现如下功能:
• 板级初始化
• MESH灯Model定义
• Mesh节点初始化,注册Model事件回调处理函数
代码分析:
image.png
image.png

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

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

代码分析:

image.png
image.png

2.3 Mesh Models 事件回调处理

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

image.png
image.png

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

3. 例程运行

3.1 开发板连线

image.png

3.2 编译

● 进入 SDK 根目录,编译 Mesh 灯应用镜像
image.png

3.3 运行

● 下载工程目录下的镜像文件 (generated/total_image.hexf) 至 CB6121 开发板,
镜像下载可参考《CB6121 快速上手手册》
● 连接串口调试工具 , 配置为
波特率 : 115200, 数据位 : 8, 校验位 : None, 停止位 : 1, 流控 : None
● 开发板拨码开关拨至 GND
● 按 RESET 按键,复位开发板
● 设备将开启 Unprovisoin Device Beacon 广播,串口上输出 'Mesh light node
demo' 信息
image.png

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

image.png

• 设置智能灯设备中的Generic OnOff Server Model的应用密钥,绑定应用密钥的索引为1
image.png

• 手机操作设备成功入网后,开发板上D2绿灯将常亮,并在串口输出如下信息
image.png

● 通过手机 nRF Mesh APP 绑定 Generic OnOff Server Model 的 APP Key 后,控制灯的开关状态
image.png

● 开发板 D3 绿灯将被控制,并在串口上输出如下信息
image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
平头哥芯片开放社区
使用钉钉扫一扫加入圈子
+ 订阅

芯片开放社区(Open Chip Community 简称OCC),是平头哥芯片基础设施的云端载体,提供开发中心、创芯空间、技术部落等互动版块,汇聚海量应用资源,助力芯片合作伙伴构建软硬融合的芯片生态。面向芯片企业,OCC以应用驱动芯片精准定义、以全栈技术支撑芯片敏捷开发;面向开发者,OCC以芯片生态降低IoT开发门槛、以1520体系加速IoT产品落地。

官方博客
官网链接