蓝牙Mesh基本概念

本文基本内容来自几位大牛的博客,顺便加上了个人见解,记录于此是怕时间一久忘记。

Mesh走的是Becon广播交互,本身不连接,通过互相扫描和广播来交互。

低功耗节点(LPN)是Mesh里面最基础的节点,类似于BLE设备;friend节点用来存储发往低功耗节点(LPN)的消息和安全更新,一般没有功耗限制;中继节点用来传递消息;代理节点处理gatt和mesh网络之间的消息。

元素

每个节点有一个或多个元素(必须有一个主元素),例如,一个Mesh灯节点,灯的开关(主元素),灯的颜色(其它元素1),灯的亮度(其它元素2)。节点中的每个元素都有一个唯一的地址,称为单播地址(unicast address),使每个元素都有址可寻,例如在Mesh底层代码里控制灯开关、颜色、亮度都是分配了不同地址来处理。 

一个元素里最少拥有一个Model,一个Model里面可以有多个元素状态(元素和元素状态是两回事,例如灯的开关这个功能是元素,灯打开或者灯关闭是元素状态,而model就是这个定义了这个元素状态可以被改变还是只可以读)。

(原文地址:https://mp.weixin.qq.com/s?__biz=MzA4MTg3MTg2Mg==&mid=2651236886&idx=2&sn=12a439d75fffd15d2e837ec339e5cbb2&chksm=847c5c8fb30bd5996515ce0f35f85645c2e1952b3d519a8a51c0788009ce1ceee8892f92c5ab&scene=21#wechat_redirect

Model

model 有三种类型:control 、server 和client ,这里面control包含了server和client ,model相当于一个节点的功能;

Server model: 定义了状态states, 状态转换 state transitions, 状态绑定state bindings 和包含了哪些消息,当然也同样定义了与这些消息,状态,状态转换相关的行为Behaviors。

Control model:具备client model的功能与其他的server model进行交互,同时也可以有server model功能与其他client model进行交互。内置了逻辑控制层(一套规则和行为在各个与之连接的模型中进行协调交互)。

Client model: 没有定义任何的状态States,但是它定义了要收发哪些消息。定义这些消息是为了GET,SET或者获取在Server models里面定义的状态。

比如,定义一个灯的开关状态,那么拥有这个状态(可以被开关)的叫做server model,去查询、接收或者设置这个状态的叫做client model,同时拥有这两个功能的叫做control model。一个节点可以有多个model,就相当于BLE里面的服务(profile)。

(原文地址:https://blog.csdn.net/JaLLs/article/details/88864967

Sig Mesh

就是蓝牙技术联盟统一推出的Mesh公有协议(基于CSR),Sig Mesh有三种类型地址,唯一地址(元素使用的unicast address)、虚拟地址、组地址,所以一般是用唯一地址来判断是哪个设备。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值