蓝牙 Mesh 私有 Model 开发指南 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第四章

简介: 本节重点介绍蓝牙 Mesh 私有 Model 开发指南

上一篇:蓝牙 Mesh SDK 快速上手 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第三章>>>
下一篇:蓝牙 Mesh 开关开发实例 | 《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》第五章>>>

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

test

1.1目的

这里以Mesh Model组件里已有的vendor model为例,介绍如何开发自己私有的Mesh model

1.2 基本概念

开发Mesh Model前先了解一些基本的概念:
元素:元素(Element)是节点中可寻址的最小单元,分为主要元素和次要元素,简单的节点通常只包含一个主要元素,元素通常由一个或者多个模型(model)组成
模型:Mesh model是蓝牙 Mesh 协议中基础业务单元,一个或者多个模型对应特定的业务,模型又分为服务模型(Server Model)以及终端模型(Client Model);mesh 模型可分为基础模型(Foundation Model)、通用模型(Generic Model)、以及厂家自定义模型(Vendor Model),用户使用基础模型和通用模型通常能组合出大部分应用,也可以开发私有Mesh Model实现自定义的服务
状态:state描述的模型的属性,给其它模型提供属性进行操作的的是Server Model;对其它模型状态进行操作的模型是Client Model
消息:蓝牙Mesh网络中所有的交互都是通过消息(message)完成的,定义消息的目的是为了完成对状态的操作

1.3 vendor model 设计

这里以Mesh组件已有vendor model中自动配网属性设计为例,介绍vendor model开发流程.vendor model设计主要包含消息回调函数设计以及消息api设计

1.3.1 消息回调函数实现

Mesh model消息回调函数的设计主要基于btmeshmodel_op(结构体),该结构体定义如下
image.png

以下为 Mesh 组件已有 vendor srv model 部分消息回调函数实现
image.png

1.3.2 消息 api 实现

对于 Mesh srv/cli 模型,大多数情况下是通过 cli 模型主动操作,srv model 通过消息回调函数被动响应的模式,因此设计主要是 cli model 的 api, 这里涉及 VENDOROPATTRMESHAUTOCONFIG 以 及VENDOROPATTRMESHAUTOCONFIG_GET 两条 api, 该类 api 的设计方法如下:

image.png
image.png

1.3.3 model 结构体实现

实现消息回调函数及mesh api设计后,将消息回调函数结构体填充到BTMesh MODEL_VND( 结构体 ),参见该结构体定义。

image.png

以下为 Mesh 组件已有 vendor srv model pub 实现。

struct bt_mesh_model_pub g_vendor_srv_model_alibaba_pub = {
.msg = NET_BUF_SIMPLE(3 + 377 + 4), // 这里只定义了 pub 消息所使用的地址 };

如下为 Mesh 组件已有 vendor srv model 实现,至此就完成了一个私有Mesh
model 的设计。

#define MESH_MODEL_VENDOR_SRV(_user_data) BT_MESH_MODEL_VND(BT_MESH_MODEL_ VND_COMPANY_ID, 
BT_MESH_MODEL_VND_MODEL_SRV,g_vendor_srv_model_alibaba_op,&g_ 
vendor_srv_model_alibaba_pub, _user_data)
相关文章
《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》电子版地址
无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案
155 0
《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》电子版地址
《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》电子版下载地址
无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案
95 0
《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》电子版下载地址
|
开发工具 Android开发 芯片
【平头哥蓝牙Mesh网关开发套件试用体验】测试网关+PHY6220蓝牙mess 智能灯
蓝牙 MESH 智能灯,是智能家居系统中最基础的设施。通过设置智能灯的模型属性,能够实现轻松、高效地控制灯的状态。
1219 0
【平头哥蓝牙Mesh网关开发套件试用体验】测试网关+PHY6220蓝牙mess 智能灯
|
存储 边缘计算 固态存储
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU IP-面向高性能领域CPU
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU IP-
1532 1
|
机器学习/深度学习 人工智能 算法
|
供应链 芯片
平头哥芯片采用的RISC-V架构
平头哥芯片采用的RISC-V架构
369 1
|
物联网 开发工具 开发者
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链-剑池CDK开发工具
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链
408 1
|
人工智能 负载均衡 安全
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU 系统-YoC
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU 系统
538 1

热门文章

最新文章