![](https://img-blog.csdnimg.cn/20210608110100821.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
BLE
文章平均质量分 95
BLE 基带
爱洋葱
One battle, one person
展开
-
BLE Mesh (10) —— Mesh Provisioning
目录1、Provisioning bearer layer1.1、PB_ADV1.2、Generic Provisioning layer1.2.1、Generic Provisioning PDU types1.3、Provisioning 包组成小结2、Link Establishment procedure3、Generic Provisioning behavi...原创 2019-10-15 20:45:42 · 4464 阅读 · 9 评论 -
BLE Mesh (9) —— Mesh beacons
前面说的都是在 node 已经入 mesh 网以后的行为,那么一个 node 是怎么入 mesh 网的呢?这里就要分为两个部分来介绍了,一边是,自报家门希望入网的节点,另一边是把这个希望入网的节点拉入伙的设备;这里我们称,自报家门的节点的行为叫做Mesh beacons;另一边,将自报家门节点拉入网络的这个叫做 Provisioner;本章先讨论 Mesh beacons;...原创 2019-10-15 15:06:05 · 2604 阅读 · 0 评论 -
BLE Mesh (8) —— Friendship
目录1、Timing2、建立 Friendship2.1、大致过程2.2、关键细节分析2.2.1、Friend Request2.2.2、Friend Offer2.2.3、Friend Poll2.2.4、Friend Update2.2.5、建立过程图示3、建立 Friendship 后4、Friend-LPN 消息交互4.1、Poll 消息...原创 2019-10-14 20:29:15 · 2495 阅读 · 5 评论 -
BLE Mesh (7) —— Transport Control Messages
在 Transport Layer 层会处理 Transport Control messages,在BLE Mesh (5) —— Lower Transport Layer和BLE Mesh (6) —— Upper Transport Layer章节已经描述了Transport Control messages 的 Segment 和 UnSegment 包的 PDU 组成,现在具...原创 2019-10-14 11:14:24 · 1560 阅读 · 0 评论 -
BLE Mesh (6) —— Upper Transport Layer
目录1、字节序2、Upper Transport PDUs2.1、Upper Transport Access PDU2.1.1 Access Payload2.1.2 TransMIC2.2、Upper Transport Control PDU2.2.1、UnSegment Transport Control PDU2.2.1、Segment Transport...原创 2019-10-11 14:53:44 · 1746 阅读 · 2 评论 -
BLE Mesh (5) —— Lower Transport Layer
目录1、字节序2、Low Transport PDU2.1、Unsegmented Access Message2.2、Segmented Access Message2.3、Unsegmented Control Message2.3.1、控制信息2.3.2、分段消息的 ACK2.4、Segmented Control Message3、分段和重组3.1、...原创 2019-10-10 16:01:30 · 2674 阅读 · 0 评论 -
BLE Mesh (4) —— Network Layer
目录1、字节序2、地址类型3、Network PDU4、Network Layer 行为逻辑4.1、接收 Network PDU4.2、发送 Network PDU4.3、Network Message Cache数据通过承载层(ADV/GATT)传输过来后,首先会经过 network layer 的处理,所以这里先看看 network layer 相关的内容...原创 2019-09-29 22:45:09 · 3314 阅读 · 3 评论 -
BLE Mesh (3) —— 协议栈架构
蓝牙组织官方网站上给出了 mesh 网络的 Spec,最新版本的协议栈可以在官方网站上面下载,mesh 协议栈相关的 Spec 有 3 个,其中的 mesh profile 是对协议栈进行整体介绍的文档,所以这里主要从这个文档分析;从文档的名称就可以看出来他是个大的 profile,所以 mesh 几乎是纯软件的实现,与硬件打交道很少,在 Spec 上给出了 mesh 协议栈的架构图:...原创 2019-09-27 10:22:42 · 5556 阅读 · 0 评论 -
BLE Mesh (2) —— 基本术语及含义
目录1、节点(node)2、开通配置(provisioning)3、元素(element)4、消息(message)5、地址(Address)6、消息的发布/订阅(Publish /Subscribe)7、状态与属性(State /Property)7.1、状态7.1.1 状态的绑定7.2、属性8、特性8.1、中继(Relay)8.2、低功耗...原创 2019-09-26 17:24:22 · 13110 阅读 · 2 评论 -
BLE Mesh (1) —— 简述
要说清楚 BLE Mesh 首先需要回答几个问题:1、mesh 是什么?2、mesh 用来干嘛?3、mesh 在 BLE 中的位置?BLE 作为蓝牙发展中的后续产物,现目前支持的应用场景非常有限,在 Connection 状态下的数据传输,也是点对点的数据传输,虽然现在 BLE 能够支持 Multi-Connection,但是其最大连接数和直接的硬件资源强相关,所以无法支持无限...原创 2019-09-25 19:34:11 · 13419 阅读 · 1 评论 -
BLE(17)—— BLE 工程简述
前面,Link Layer 叙述了一部分,这里也聊聊做 BLE 的大致的方向(个人YY),以及做一个这个东西,大致需要哪些组件、工具等。简单的聊聊我的认识和看法。(见解如有不对,请大神们指正)。1、准备工作既然是要做 BLE,那么肯定是先需要熟读 BLE Spec,从而了解其的基本特性,在每个版本的 Core Spec,都有会描述物理层需要关注的地方和特性。(比如 GFSK 调制等等...原创 2019-07-21 22:30:34 · 3481 阅读 · 7 评论 -
BLE(16)—— BLE 层次(HOST/HCI/Controller)
基于 BLE 5.1 协议 Core Spec。目录1、系统分层2、HCI2.1、HCI — UART2.1.1、HCI Type2.1.2、HCI Command Packet2.1.3、HCI Event Packet2.1.4、HCI ACL Data Packet3、总结前面叙述的内容均是 BLE 协议栈中,较为靠近底层的东西,靠近物理层...原创 2019-07-19 14:32:25 · 10526 阅读 · 6 评论 -
BLE(15)—— Privacy
基于 BLE 5.1 协议 Core Spec。目录1、隐私策略简述2、Resolving List3、Private Address Generation Interval4、Privacy In The Advertising State4.1、Connectable and scannable undirected event type4.2、Connect...原创 2019-07-18 23:42:47 · 2961 阅读 · 3 评论 -
BLE(14)—— Device Filtering
基于 BLE 5.1 协议 Core Spec。目录1、White List2、Advertising Filter Policy3、Scanner Filter Policy4、Initiator Filter Policy5、ConfigurationBLE 提供设备地址过滤机制,设备的过滤机制是基于 White List(白名单,也称白表)。旨在Lin...原创 2019-07-18 16:57:38 · 3148 阅读 · 0 评论 -
BLE(13)—— Connection Control (LLCP)
基于 BLE 5.1 协议 Core Spec。目录1、Link Layer Control 介绍2、Counnection Update Procedure2.1、HCI2.2、Air PacketsFormat2.3、Message Sequence Charts3、总结在 《BLE(12)—— 细说 Connection》章节,描述了 Conne...原创 2019-07-18 15:07:29 · 5683 阅读 · 3 评论 -
BLE(12)—— 细说 Connection
基于 BLE 5.1 协议 Core Spec。目录1、建立连接2、PHY 的选择3、跳频算法的选择4、Connection Events5、Supervision Timeout6、连接建立过程 —— Master Role6.1、 Legacy6.2、 Extended7、连接建立过程 —— Slave Role7.1、Legacy7....原创 2019-07-18 10:01:51 · 8804 阅读 · 4 评论 -
BLE(11)—— 细说 Initiating
基于 BLE 5.1 协议 Core Spec。其实发起态和 Scanning 有很高的相似程度,特别是工程实现上,非常类似。Scanning 状态,只是对 ADV 有简单的交互,收发一些简单的包。而Initiating,就要动真格的了。他要向指定的可连接的 ADV 发起连接请求。那么发起连接请求,依然需要先准备几个东西:1、这么多 ADV,Initiating 要对哪个 AD...原创 2019-07-16 20:16:26 · 3321 阅读 · 0 评论 -
BLE(10)—— 细说 Scanning
基于 BLE 5.1 协议 Core Spec目录1、参数2、Passive Scanning3、Active Scanning4、Sync Periodic Advertisements5、小结在之前的章节中了解到了和 Scan 相关的 packets 组成:BLE(6)—— 扫描态数据包组成(Scanning Packets PDUs)同时也了解...原创 2019-07-16 20:16:17 · 7287 阅读 · 3 评论 -
BLE(9)—— 细说 Advertising
基于 BLE 5.1 协议 Core Spec。目录1、分类2、Advertising Events2.1、Interval2.2、Extended Advertising Event2.3、PeriodicAdvertising Event3、Connectable and scannable undirected event type4、Connecta...原创 2019-07-15 23:47:13 · 18201 阅读 · 29 评论 -
BLE(8)—— 连接态数据包组成( Connection Packets PDUs)
基于 BLE 5.1 协议 Core Spec。目录0、DATA CHANNEL PDU0.1、Header1、LL DATA PDU2、LL Control PDU2.1、LL_CHANNEL_MAP_IND连接态的数据包我们统称为 Data Channel PDU ,与 Advertising Channel PDU 不同,Data Channel PDU...原创 2019-07-15 22:05:34 · 7488 阅读 · 4 评论 -
BLE(7)—— 发起态数据包组成( Initiating Packets PDUs)
基于 BLE 5.1 协议 Core Spec。目录1、CONNECT_IND1.1、LLData2、AUX_CONNECT_REQ3、AUX_CONNECT_RSP4、总结发起态,是针对连接的。也就是这样一个应用流程:首先呢,你开启一个 Scan,让设备处于扫描状态,这个时候,扫描到一个你想要的 Advertising,然后关闭 Scan(当然,也可以不关),这个时候...原创 2019-07-10 23:30:48 · 5460 阅读 · 4 评论 -
BLE(6)—— 扫描态数据包组成(Scanning Packets PDUs)
基于 BLE 5.1 协议 Core Spec。目录1、SCAN_REQ2、AUX_SCAN_REQ3、SCAN_RSP4、AUX_SCAN_RSP5、总结下列在advertising physical channel 发送的(交互)的 PDU 叫做scanning PDUs:• SCAN_REQ• SCAN_RSP• AUX_SCAN_REQ• AU......原创 2019-07-10 22:45:27 · 6555 阅读 · 5 评论 -
BLE(5)—— 广播态数据包组成(Advertising Packets PDUs)
基于 BLE 5.1 协议 Core Spec。目录啰嗦几句1、ADV 广播包组成1.1、ADVPDU Header1.1.1、ADVPDU Header PDU Type2、ADV 的各种 PDU2.1、Legacy ADV PDUs2.1.1、ADV_IND2.1.2、ADV_DIRECT_IND2.1.3、ADV_NONCONN_IND2.1....原创 2019-07-10 00:20:58 · 27494 阅读 · 23 评论 -
BLE(4)—— 数据发送接收流程
基于 BLE 5.1 协议 Core Spec。BLE 数据收发,从 RF 发送/接收,到 Baseband 基带进行数据处理,数据并不是直接 raw data 出去到 空中的,分为几个部分:对于LE Uncoded PHYs数据发送端(TX)经过可选的加密(取决连接状态启动加密与否),根据 PDU,启动加密引擎(硬件or软件,具体看实现)计算 CRC,数据白化后,通过 RF 发...原创 2019-07-08 00:17:33 · 9473 阅读 · 1 评论 -
BLE(3)—— 空口数据包组成
基于 BLE 5.1 协议 Core Spec。BLE 在空中进行数据传送,在 Spec 中称之为 Air Interface packets,俗称空口包。既然是数据包,就一定要遵循一定的数据格式,本章来分析空口数据包的最基本的组成格式。早在 BLE 4.2 的时代,仅仅支持 1M 的 symbol rate,随着蓝牙标准的发展,BLE 5.0 不仅仅支持了 1M PHY,同时引入了 2M...原创 2019-07-08 00:03:14 · 12669 阅读 · 8 评论 -
BLE(2)—— 基本特性(状态、角色、地址、信道)
基于 BLE 5.1 协议 Core Spec。1、状态机根据 《BLUETOOTH CORE SPECIFICATION Version 5.1 | Vol 6, Part B》叙述,BLE 设备状态机包含下列状态:• Standby State--------------------等待业务状态• Advertising State-----------------广播状态•...原创 2019-07-04 00:10:56 · 12791 阅读 · 19 评论 -
BLE(1)—— 简介
介绍BLE 的全称叫做 Bluetooth Low Energy,也称之为低功耗蓝牙,属于蓝牙技术中的一种。与之对应的是 Classic Bluetooth,经典蓝牙。当然,经典蓝牙是最先推出来的,后面才有了 LE 的版本。在兼容性上,LE 的蓝牙不兼容 Classic 的版本,可以理解成为独立的一种蓝牙形态。旨在针对低功耗的领域进行的一种无线数据传送的解决方案。频段“蓝牙低功耗...原创 2019-07-03 00:28:01 · 13423 阅读 · 2 评论