
BLE MESH
蓬某某
这个作者很懒,什么都没留下…
展开
-
Ble Mesh技术目录
Ble Mesh技术(一)之概览Ble Mesh技术(二)之App LayerBle Mesh技术(三)之Model LayerBle Mesh技术(四)之Access LayerBle Mesh技术(五)之Upper transport LayerBle Mesh技术(六)之Lower Transport LayerBle Mesh技术(七)之Network LayerBle Me...原创 2020-01-16 10:51:55 · 3233 阅读 · 0 评论 -
Ble Mesh技术(十二)之Provisioning
任何一个出厂的mesh设备是一个未配网设备(Unprovisioned Device),需要使用配网者(Provisioner)对未配网设备进行配网,使其成为mesh网络中的一个节点。要使未配网设备成为一个节点,需要配网者为其分配一个NetKey(表示该设备属于哪一个子网),一个IV Index(表示该设备是有效的),一个Unicast Address(作为该节点的唯一标识)。配网的流程其实就是配...原创 2020-01-16 10:14:58 · 6491 阅读 · 8 评论 -
Ble Mesh技术(十一)之Mesh安全
1. Mesh数据加密流程① AccessPDU由Opcode+Payload组成,在UTransport层进行加密,形成EncUTransportPDU,由EncAccessPDU+TransMIC组成。② LTrans层将加密后的EncUTransportPDU和未加密的ControlPDU分包后,形成LTransportPDU。③ Network层将目的地址DST+LTranspo...原创 2020-01-15 14:48:43 · 3248 阅读 · 0 评论 -
Ble Mesh技术(十)之Heartbeat
心跳消息也是上层传输层定义的控制消息之一。用于监控节点是否处于网络中,节点之间的距离。1. Heartbeat PDUFieldSize(bits)NotesRFU1Reserved for Future UseInitTTL7该消息的初始TTL值取值范围:0x00-0x7FFeatures16该节点正在使用的featureFeatures...原创 2020-01-15 11:13:17 · 2986 阅读 · 0 评论 -
Ble Mesh技术(九)之Friendship
Friend直接流程建立都是通过上层传输曾的控制PDU进行交互。控制消息大部分都为不分段消息,所以这一章我们以下层传输层的为分段消息作为PDU格式的总体示意图。1. Friendship相关Control PDU1.1. Friend Poll由LPN发起,请求Friend发送LPN睡眠期间为LPN存储的消息。Opcode=0x01,对应的Parameters如下所示:Fie...原创 2020-01-15 10:28:29 · 1603 阅读 · 0 评论 -
Ble Mesh技术(八)之Bearer Layer
承载层将网络层的数据通过ADV或者GATT的方式广播出去,并把各个接口接收到的数据送至网络层。1. Advertising Bearer通过广播进行数据收发。发送数据的广播类型为不可连接,不可扫描,不可定向广播类型。mesh在Bearer层的数据格式如下:FiledSize(octs)NotesLength1表示当前数据包的总长度AD Type1表示...原创 2020-01-14 16:53:56 · 3573 阅读 · 0 评论 -
Ble Mesh技术(七)之Network Layer
Network Layer负责消息的二次加解密,以及消息中继,代理的操作。1. Network Layer消息格式网络层数据大小为18-29字节。Field NameSize(bits)NotesIVI132bits IV值的最低有效位NID7由NetKey生成的7bits NIDCTL1CTL=0,表明这条消息是access msg;CTL=...原创 2020-01-14 16:15:52 · 2245 阅读 · 1 评论 -
Ble Mesh技术(六)之Lower Transport Layer
下层传输层主要负责数据的分段与重组。下层传输层接收上层传输层的Access消息和Control消息。1. 分段消息(Segmented Msg)1.1. 分段接入层消息(Segmented Access Message)分段接入层消息(5-16字节)的每个分段的结构如下:FieldSize(bits)NotesSEG1SEG=1,表示当前消息是分段消息AK...原创 2020-01-14 16:02:58 · 2120 阅读 · 3 评论 -
Ble Mesh技术(五)之Upper transport Layer
上层传输层负责接入层消息的加密,和控制消息的交互。1.Access PDU由Access层下发来的消息为Access PDU,Access PDU经过Appkey或者DevKey加密后生成4/8字节的TransMIC(transport message integrity check)。Encrypted Access Payload的最大size为380个字节。2.Control PD...原创 2020-01-14 11:28:12 · 1826 阅读 · 1 评论 -
Ble Mesh技术(四)之Access Layer
Access Layer将Model下发的消息转化成Mesh协议栈规定的格式,并将下层的数据上传至指定的Model。1.Payload前面讲到Model下发的数据包含3个信息,分别是Model ID/Opcode/Payload,因为Opcode包含Model ID,所以从Model层下来的有效信息只有Opcode和Payload。一条Access消息的最大长度是384字节,每一条消息经过...原创 2020-01-14 10:58:13 · 2737 阅读 · 1 评论 -
Ble Mesh技术(三)之Model Layer
编写Mesh的Model需要先知道节点(node),元素(element),模型(model)的概念。1. 节点(Node)简单来讲,一个节点就是一个mesh芯片。要使一个节点成为Mesh网络里面的点,需要配网者(provisioner) 配网,配置客户端(configuration client) 配置后才能正常使用。2. 元素(Element)一个元素就是执行一组功能的单位实体,一个节...原创 2020-01-14 10:19:32 · 6120 阅读 · 3 评论 -
Ble Mesh技术(二)之App Layer
Mesh设计出来的目的主要是为了解决什么呢?在我看来比较适合的场景为数据量小,对可靠性或者实时性要求不高,但规模较大的场景。我们知道BLE 5.0出现的多连接理论上可以支持一个蓝牙设备连接无限制个设备,但实际上由于芯片资源限制,一个设备能连接10个设备就算极限了,而且对于成本来说极不划算。在这种情况下,mesh的优势之一就在于不需要建立连接,因此发送消息的步骤相对来说要少一点,可以试着比较一下广...原创 2020-01-14 10:12:07 · 2553 阅读 · 0 评论 -
Ble Mesh技术(一)之概览
1. Mesh概览1.1. mesh消息的收发mesh消息收发方式区别于ble的连接方式,而是通过消息的发布(publish)与订阅(subscribe)进行消息的传递。mesh的数据包主要包含有以下字段:其中IVI/NID/CTL/TTL/SEQ暂不做解释,其中SRC/DST就代表这条消息是从哪里发来的和这条消息是要发送到哪里去。a.每个节点都有一个发布地址和多个订阅地址。b.发送...原创 2020-01-14 10:09:58 · 7090 阅读 · 0 评论