【平头哥蓝牙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),查看更多应用实战文章。

相关文章
|
11月前
|
数据采集 算法 测试技术
【硬件测试】基于FPGA的1024QAM基带通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的1024QAM基带通信系统的硬件测试版本,包含testbench、高斯信道模块和误码率统计模块。系统新增ila在线数据采集和vio在线SNR设置模块,支持不同SNR条件下的性能测试。1024QAM调制将10比特映射到复平面上的1024个星座点之一,实现高效数据传输。硬件测试结果表明,在SNR=32dB和40dB时,系统表现出良好的性能。Verilog核心程序展示了各模块的连接与功能实现。
313 7
|
5月前
|
存储 测试技术 API
数据驱动开发软件测试脚本
今天刚提交了我的新作《带着ChatGPT玩转软件开发》给出版社,在写作期间跟着ChatGPT学到许多新知识。下面分享数据驱动开发软件测试脚本。
174 0
|
10月前
|
机器学习/深度学习 人工智能 并行计算
AI部署架构:A100、H100、A800、H800、H20的差异以及如何选型?开发、测试、生产环境如何进行AI大模型部署架构?
AI部署架构:A100、H100、A800、H800、H20的差异以及如何选型?开发、测试、生产环境如何进行AI大模型部署架构?
AI部署架构:A100、H100、A800、H800、H20的差异以及如何选型?开发、测试、生产环境如何进行AI大模型部署架构?
|
8月前
|
传感器 人工智能 JavaScript
鸿蒙开发:DevEcoTesting中的稳定性测试
DevEcoTesting主要的目的也是用于软件的测试,可以让开发者无需复杂的配置,即可一键执行测试任务,同时提供了测试报告和分析,无论是对于开发者还是测试同学来说,都是一个非常方便的工具。
289 3
鸿蒙开发:DevEcoTesting中的稳定性测试
|
7月前
|
敏捷开发 运维 数据可视化
DevOps看板工具中的协作功能:如何打破开发、测试与运维之间的沟通壁垒
在DevOps实践中,看板工具通过可视化任务管理和自动化流程,提升开发与运维团队的协作效率。它支持敏捷开发、持续交付,助力团队高效应对需求变化,实现跨职能协作与流程优化。
|
7月前
|
运维 jenkins 测试技术
"还在苦等开发部署环境?3步教你用Jenkins拿回测试主动权"
测试工程师最头疼的问题是什么?依赖开发部署环境! 开发延期→测试时间被压缩→紧急上线后BUG频出→测试背锅。传统流程中,测试被动等待部署,效率低下。而Jenkins自动化部署让测试人员自主搭建环境,实现: ✅ 随时触发测试,不再苦等开发 ✅ 部署效率提升10倍,抢回测试时间 ✅ 改善团队协作,减少互相甩锅 学习Jenkins部署能力,成为高效测试工程师,告别被动等待!
|
11月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的4ASK调制解调通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的4ASK调制解调系统的硬件测试版本,该系统包括testbench、高斯信道模块和误码率统计模块,并新增了ILA在线数据采集和VIO在线SNR设置功能。通过VIO设置不同SNR(如15dB和25dB),实现了对系统性能的实时监测与调整。4ASK是一种通过改变载波幅度表示数据的数字调制方式,适用于多种通信场景。FPGA平台的高效性和灵活性使其成为构建高性能通信系统的理想选择。
301 17
|
11月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的4FSK调制解调通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于之前的文章《基于FPGA的4FSK调制解调系统》,增加了ILA在线数据采集模块和VIO在线SNR设置模块,实现了硬件测试版本。通过VIO设置不同SNR(如10dB和20dB),并展示了ILA采集的数据结果。四频移键控(4FSK)是一种数字调制方法,利用四个不同频率传输二进制数据,具有较高的频带利用率和抗干扰性能。输入的二进制数据分为两组,每组两个比特,对应四个频率f1、f2、f3、f4,分别代表二进制组合00、01、10、11。调制过程中选择相应频率输出,并进行幅度调制以增强抗干扰能力。接收端通过带通滤波器提取信号并还原为原始二进制数据。
295 7
|
11月前
|
数据采集 算法 数据处理
【硬件测试】基于FPGA的256QAM基带通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的256QAM基带通信系统的硬件测试版本,包含testbench、高斯信道模块和误码率统计模块。系统新增ila在线数据采集和vio在线SNR设置模块,支持不同信噪比(如30dB和40dB)的仿真测试,并提供配套操作视频。256QAM调制方案每个符号携带8比特信息,通过复数值星座图映射实现高效传输。Verilog代码展示了核心模块设计,包括SNR设置、数据处理和ILA测试分析,确保系统在实际硬件环境中的稳定性和性能。
284 2
|
12月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的64QAM基带通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的64QAM基带通信系统的硬件测试版本,包含testbench、高斯信道模块和误码率统计模块。系统新增ila在线数据采集模块和vio在线SNR设置模块,支持不同SNR条件下的仿真与测试。通过设置SNR为25dB和30dB进行测试,验证了系统的可行性和性能。此外,本文详细阐述了64QAM调制解调的工作原理,包括信号生成、调制、解调及误码率测试等环节,并提供了Verilog核心程序代码。
248 0