Bluetooth技术
文章平均质量分 97
流云IoT
这个作者很懒,什么都没留下…
展开
-
BLE 技术(九)--- SIG MESH Models 是如何设计的(下)?
SIG 设计或定义了哪些MESH Models?一个Model 通常定义了哪些 states、messages、behavior / procedure?MESH client model 与MESH server model 之间传输的messages 如何由Access Layer 承载、Transport Layer 加解密认证和分段重组的?MESH State transition 是如何进行的?用户如何配置MESH 节点元素?用户如何及时获知MESH 节点元素的故障或错误信息?原创 2021-06-22 22:08:08 · 5710 阅读 · 3 评论 -
BLE 技术(八)--- BLE MESH 各层报文是如何设计的(上)?
前篇博文从解决问题的角度介绍了SIG MESH 协议的设计方案,本篇博文从MESH 消息报文在各协议层的传递过程,介绍SIG 是如何设计MESH 报文结构的,又是如何处理MESH 报文消息的?Bearer Layer 有哪几种报文格式?各报文每个字段是如何实现设计功能的?Provisioning Process 是如何进行的?Key Refresh 和IV Update 是如何进行的?Network Layer 是如何实现认证加密和模糊混淆的?Transport Layer 是如何分段重组的?原创 2021-06-15 22:11:04 · 4713 阅读 · 1 评论 -
BLE 技术(七)--- BLE MESH 是如何设计的?
BLE 协议难以满足物联网时代大规模设备互相通信的需求,于是SIG 在2017 年发布了BLE MESH 协议。SIG MESH 是如何实现大规模设备间多对多通信的?SIG MESH 是如何定义消息报文的?SIG MESH 采用了怎样的消息传递模型?SIG MESH 设备间是如何寻址的?物联网通信的安全性日益重要,SIG MESH 是如何应对各种网络攻击,保证通信安全的?SIG MESH 设备需要持续接收可能发给自己的消息报文,如何支持低功耗节点入网呢?如何支持现有大量的BLE GATT 设备入网呢?原创 2021-05-31 21:57:27 · 9993 阅读 · 5 评论 -
如何为BLE 设备添加OTA DFU 空中升级服务(下)?
前文介绍了BLE 设备实现OTA DFU 的工作原理和执行过程,现在的重点是,如何为自己开发的BLE 工程添加BLE DFU Service 呢?DFU Service 根据是否需要配对绑定,还可以分为Buttonless DFU without bonds service 和Buttonless DFU with bonds service 两种,往我们的工程中添加这两种DFU 服务有何区别呢?这两种DFU Service 分别依赖哪些Libraries?我们如何解决添加DFU 过程中遇到的问题?原创 2021-04-21 21:04:27 · 3116 阅读 · 1 评论 -
如何为BLE 设备实现OTA DFU 空中升级功能(上)?
我们开发的BLE peripheral 设备通常都有代码升级的需求,不管是解决先前的bug,还是增加新的功能。很多BLE peripheral 仅留出一个BLE 无线通讯接口,我们如何通过OTA 方式实现BLE 程序代码的空中升级呢?BLE DFU 的工作原理和升级过程是怎样的?如何实现无任何人工干预的OTA 升级?我们如何保证BLE DFU 过程的安全性?如何校验DFU Package 与当前固件是否兼容?BLE DFU 对存储空间有何要求?Unbonded DFU 和Bonded DFU 有何区别?原创 2021-04-16 20:59:36 · 5114 阅读 · 2 评论 -
如何抓包分析BLE 空口报文(GAP + GATT + LESC procedure)?
对于通讯协议,我们要了解通讯过程的详细信息,需要获取通讯过程中交互的报文以及时间,如何抓取BLE 通讯报文呢?如何解析抓取到的BLE 报文呢?通过抓取到的BLE 数据包,我们可以看到BLE 设备都广播了哪些信息?如何建立连接的?如何交换feature、更新连接参数、payload length、PHY的?如何发现并访问Service、Characteristic、Characteristic Descriptor 的?如何配对并加密链路的?如何协商出LTK 的?如何分发IRK、CSRK 的?原创 2021-04-12 01:48:17 · 20307 阅读 · 4 评论 -
如何实现BLE 最大数据吞吐率并满足设计功耗要求?
我们开发BLE 设备多数都有两点要求:一是低功耗,电池供电需要持续工作数周甚至数个月;二是将BLE peripheral 产生的数据快速传送给central,传输数据功耗较高,提高传输速率缩短传输时间也有利于降低平均功耗。我们该如何设置广播参数与连接参数以达到我们要求的功耗呢?该如何设置连接参数与报文长度(PDU / MTU)以尽可能达到最大传输速率呢?原创 2021-04-08 23:54:25 · 4152 阅读 · 2 评论 -
如何实现扫码连接BLE 设备的功能(以nRF5 为例)?
本文使用nRF52 开发板作为蓝牙主机,来实现扫码连接指定BLE设备并进行通讯的功能。PC 通过摄像头或扫码枪获得目标设备的MAC 地址信息,并经UART 传给nRF52 DK,蓝牙主机将接收到的地址信息处理为LSB 48-bit 格式后将其设置到扫描过滤器中,并启用匹配即连接功能,nRF52 DK 如果扫描到匹配的目标设备立即向其发起连接。连接建立后,蓝牙主机发现目标设备公开的NUS 服务,并借助该服务以Write/Notify 方式相互传输数据,同时实现了PC通过UART 指令获得RSSI 的功能。原创 2020-10-31 14:36:35 · 6001 阅读 · 2 评论 -
BLE 技术(六)--- GATT Profile + ATT protocol + L2CAP(Core_v5.2)
GATT Profile 采用“Server – Client” 架构,Server 专注于定义如何使用一个或多个属性来实现某种特定的服务,以及如何发现并使用这些服务;Client 专注于定义如何使用一个或多个服务来满足某种特定的应用需求。Server 定义的每个单独服务十分简单、而且是原子化的,可以让每个服务的行为更简单明确,同时让不同服务之间的组合更丰富多样。Client 使用不同的原子服务组合,可以满足丰富多样的场景需求,相同的服务可以在不同应用中复用,满足高内聚、低耦合的设计原则。原创 2020-09-26 00:46:56 · 10305 阅读 · 0 评论 -
BLE 技术(五)--- Generic Access Profile + Security Manager(Core_v5.2)
GAP(Generic Access Profile) 定义了蓝牙设备之间如何发现彼此、建立连接以及如何实现配对与绑定,同时描述了设备如何实现无需连接的数据传输、如何实现等时同步数据传输、如何建立ACL与CIS 连接、如何建立安全连接实现加密通信。GAP 规范为设备提供四种角色(可分为两组),每组角色都可以借助模式和过程来描述蓝牙设备的状态和行为,比如广播、发现、连接、绑定、周期广播、等时同步广播模式与过程。同时介绍了每组角色跟安全性相关的模式和过程,比如加密、认证、授权、数字签名模式和过程。原创 2020-09-16 22:11:09 · 7002 阅读 · 0 评论 -
BLE 技术(四)--- 链路层五种通信模式和空口协议设计 (Core_v5.2)
前篇博文LE States and Packets介绍了LE 设备链路层的七种状态与两种基本报文格式,接下来看通信双方如何在广播信道传输这些报文,如何建立并维持双方的连接,如何传输音频数据流,如何管理这些连接特性?原创 2020-08-06 21:52:28 · 9601 阅读 · 0 评论 -
BLE 技术(三)--- 链路层七种状态与空口报文设计(Core_v5.2)
一、LE 链路层 7种状态:Standby State、Advertising State、Scanning State、Initiating State、Connection State、Isochronous Broadcasting State;二、链路层两种基本报文结构:LE Uncoded PHYs、LE Coded PHY;三种PDU类型:Advertising PDU、Data PDU、Isochronous PDU原创 2020-08-01 01:08:42 · 10187 阅读 · 1 评论 -
BLE 技术(二)--- 协议栈架构与物理层设计 (Core_v5.2)
# 一、BLE System Architecture1. Physical Layer 指定BLE 所用的无线频段、调制解调方式、射频性能等;2. Link Layer 管理BLE 的链路状态和设备间的通信链路,保证上层数据安全可靠传输;3. L2CAP 提供多路复用、分片重组、流量控制等机制;4. SMP 管理BLE 连接通信的安全可靠;5. GATT 将带标签的"Attribute"封装为“Service”,实现面向服务的模块化设计;6. GAP 提供了如何发现、连接、绑定其它设备的方法。原创 2020-07-30 19:24:46 · 5621 阅读 · 1 评论 -
Bluetooth 技术(一)--- 协议栈设计与演进(Core_v5.2 + 6LoWPAN + Mesh)
蓝牙设备最主要的应用领域有四个:数据传输、音频传输、位置服务、设备网络(包括IPv6 组网和mesh 自组网)。数据传输业务从BLE 低功耗蓝牙技术的发布开始快速增长;音频传输业务受限于传统EDR 技术的限制进入瓶颈,LE Audio 技术和LC3 编码技术的发布将会让蓝牙音频业务再次迎来爆发;LE iBeacon 和Direction Finding技术的发布,让蓝牙设备室内定位精度提升到厘米级;IPv6 Over BLE技术让蓝牙设备可以直接访问Internet,BLE mesh则让其支持大规模自组网。原创 2020-07-18 13:54:42 · 8554 阅读 · 2 评论
分享