【平头哥蓝牙Mesh网关开发套件试用体验】测试网关+PHY6220蓝牙mess 智能灯

简介: 蓝牙 MESH 智能灯,是智能家居系统中最基础的设施。通过设置智能灯的模型属性,能够实现轻松、高效地控制灯的状态。

作者:云霄一天


平头哥蓝牙 Mesh SDK 是基于低功耗蓝牙芯片 PHY6212 /PHY6220提供的软件开发套件。该开发套件以 YoC 平台为基础,对蓝牙 MESH 协议栈做了深度优化和整合,为开发者提供了通用的 MESH 组件,涵盖了 SIG MESH Model 和私有 Model 以及丰富的芯片外设驱动。蓝牙 Mesh SDK 实现。


蓝牙mesh网关+PHY6220子模块蓝牙mess

1.jpg


Mesh 网络拓扑:

2.jpg


上图是一个 Mesh 灯控网络的拓扑,以此为例,介绍一下 Mesh 网络的构成。按照功能来划分,Mesh 设备可以分为两类,一种是 Provisioner,一种是 Node节点。


Provisioner 负责组建 Mesh 网络,主要功能有发现未入网设备,将未入网的设备加入Mesh 网络,配置入网设备的特性,比如 Relay 特性,Friend 特性,Proxy 特性等。在上图中,Provisioner 可以是蓝牙开发板,也可以是一个手机,但是当前不支持两个 Mesh 网络中同时存在手机 Provisioner 和蓝牙开发板 Provisioner 的情况。当一个设备加入特定的 Mesh 网络后,该设备成为 Mesh 网络的 Node 节点。


在上图中,节点有 Light 灯控节点和 Switch 开关节点两种。这两种节点默认都支持Relay 特性和 Proxy 特性。Relay 特性打开的情况下,节点会转发来自别的节点的Mesh 消息。Proxy 特性打开的情况下,节点会支持手机接入 Mesh 网络。


蓝牙 Mesh SDK: 总体分为四个层次,自下而上分别为 SoC 蓝牙芯片层,Kernel 内核层,Service 服务层和 BT Applications 蓝牙应用层。  

3.jpg


打开CDK  New IoT Project>> PHY6220 芯片>> PHY6220开发板>> mesh_light_node_demo ,官方 demo 工程,可以修改蓝牙名称:

4.jpg

应用入口函数 app_main(),主要实现如下功能:

  • 板级初始化
  • MESH 灯 Model 定义
  • Mesh 节点初始化,注册 Model 事件回调处理函数 代码分析:
<!--StartFragment-->
<span class="fontstyle0">/* </span><span class="fontstyle2">定义设备名称,使用手机 </span><span class="fontstyle0">APP </span><span class="fontstyle2">扫描时可以看到该名称 </span><span class="fontstyle0">*/
#define DEVICE_NAME "YoC Light"
/* </span><span class="fontstyle2">定义设备 </span><span class="fontstyle0">UUID */
#define LIGHT_DEV_UUID {0xcf, 0xa0, 0xe3, 0x7e, 0x17, 0xd9, 0x11, 0xe8, 0x86,
0xd1, 0x5f, 0x1c, 0xe2, 0x8a, 0xde, 0x02}
node_config_t g_node_param = {
/* </span><span class="fontstyle2">设置当前为设备节点 </span><span class="fontstyle0">*/
.role = NODE,
/* </span><span class="fontstyle2">设置节点的 </span><span class="fontstyle0">UUID */
.dev_uuid = LIGHT_DEV_UUID,
/* </span><span class="fontstyle2">设置节点的 </span><span class="fontstyle0">Device Name */
.dev_name = DEVICE_NAME,
/* </span><span class="fontstyle2">注册 </span><span class="fontstyle0">Model </span><span class="fontstyle2">的事件处理回调函数 </span><span class="fontstyle0">*/
.user_model_cb = app_event_cb,</span>
<!--EndFragment-->


下载:

5.jpg6.jpg


编译烧录两个子模块   下载Nordic 第三方:nRF mesh apk downloadv3.1.6 安卓版,附上下载链接   http://www.downcc.com/soft/530807.html


nrf mesh :配网过程如下:

7.png8.png9.png10.png11.png


配网:

12.jpg


蓝⽛MESH⽹关开发板:烧写如下程序: ble_mesh_gateway_node_sdk\solutions\mesh_light_node_demo 测试视频: https://v.youku.com/v_show/id_XNTgxMzA0MjQ5Ng==


本文源自:平头哥芯片开放社区

欢迎关注公众号:芯片开放社区(ID:OCC_THEAD),查看更多应用实战文章。

相关文章
|
6月前
|
Java 测试技术
Java一分钟之-JUnit测试框架:断言与测试套件
【6月更文挑战第3天】本文介绍了JUnit在Java单元测试中的应用,包括断言基础如`assertEquals`、`assertTrue`等,用于验证代码预期结果;利用`@Suite`创建测试套件以组合多个测试;并讨论了常见问题及解决方法,如忽略测试、错误断言、异常处理和保持测试简洁。理解并熟练运用这些概念能提升测试代码的质量和效率。
100 2
|
移动开发 Shell 测试技术
Realtek蓝牙Android10.0移植结束后的基本测试和常见问题分析
Realtek蓝牙Android10.0移植结束后的基本测试和常见问题分析
|
Java C++ Spring
Spring Boot - 用JUnit 5构建完美的Spring Boot测试套件
Spring Boot - 用JUnit 5构建完美的Spring Boot测试套件
150 0
|
JavaScript 前端开发 机器人
「RPA 」UiPath和Selenium,谁是测试套件?
「RPA 」UiPath和Selenium,谁是测试套件?
|
测试技术
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等(下)
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等(下)
344 0
|
测试技术 数据安全/隐私保护
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等(上)
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等
1008 0
|
前端开发 JavaScript 中间件
前端测试套件构建实践
为了提升前端的开发效率,同时也为了减少前端编写单元测试代码的繁琐工作,testus测试套件旨在为前端测试开发工作提供便利,本文旨在介绍testus的一些设计理念及实现方案,希望能给前端基础建设中有关于测试构建相关工作的同学提供一些帮助和思路。
62 0
《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》电子版地址
无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案
154 0
《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》电子版地址
《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》电子版下载地址
无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案
94 0
《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》电子版下载地址
|
Linux 开发工具 Android开发
RTL8703/RTL8723/RTL8761/RTL8821/RTL8822系列蓝牙定频测试说明
Realtek系列蓝牙方案RTL8703/RTL8723/RTL8761/RTL8821/RTL8822/RTL8852蓝牙定频测试说明