蓝牙
文章平均质量分 91
yk150915
电子爱好者、软件开发技术者
展开
-
蓝牙5.3 Core Spec演进与功能变化
core spec 5.3 showing changes from 5.2Core spec 5.3 在2021/7/13号正式发布,我23号在SIG官网发现了协议的更新。看蓝牙SIG的介绍,5.3协议主要是一些特性的增强(Feature Enhancements),主要包含5个方面。1、Periodic Advertising Enhancement 周期性广播的增强2、Encryption Key Size Control Enhancement 加密密钥大小控制增强功能3、Connect.原创 2021-08-01 22:05:52 · 2869 阅读 · 0 评论 -
蓝牙mesh(二)
2 Mesh网络补充介绍2.1 承载层介绍2.1.1 Advertising bearerMesh消息的任何广播数据都应是不可连接和不可扫描的无定向广播事件。如果一个节点收到了一个可连接或者可扫描的广播事件,这个消息应该被忽略。一个只支持广播载体的设备应该执行被动扫描,其工作周期应尽可能接近100%,以避免丢失任何传入的Mesh消息。所有设备应同时支持GAP观察者角色和GAP广播者角色。...原创 2019-07-22 17:15:30 · 1668 阅读 · 0 评论 -
蓝牙mesh(一)
Mesh系统介绍。本文主要对Mesh的profile文档进行翻译与解读,促进对mesh主要协议的理解。1 Mesh系统架构1.1分层的架构Model Layer:定义了用于标准化典型用户场景操作的模型以及蓝牙网络模型规范或其他更高层规范中定义的,比如灯光和传感器这种更高层模型定义。Foundation Model Layer:定义用于配置和管理一个mesh网络的状态、消息和模块。...原创 2019-07-22 17:05:45 · 7356 阅读 · 0 评论 -
BLE-SMP详解
1、 基本概念1.1 加密是要做什么?加密认证的整个过程几乎都是围绕怎么将两个设备使用到的秘钥安全的共享,也就是当一方把密码告诉另一方时,始终要提防第三方也可能听得到这个密钥。注意:数据包的报头和长度字段不会被加密的,这有个好处是,当接收到包时可以直接分析报头判断 SN 和 NESN 标志。所以对于加密来说并不是加密数据有多难,而是把需要共享的密钥安全的送到正确的设备才是难点,这就引入了配...原创 2019-03-15 15:26:42 · 4781 阅读 · 2 评论 -
BLE HID设备的连接过程
通过HCI log进行分析,了解每个层次对应的主要事件,特此记录一下,ATT层目前没有完全搞明白,等后续再进行补充。HCI主要command交互: 1 Command 0x200d Low Energy HCI_LE_Create_Connection 2 Command 0x2016 Low Energy HCI_LE_Read_Remote_Used_Features 3 Comman...原创 2019-02-19 15:01:21 · 5048 阅读 · 0 评论 -
BLE数据报文格式解析
1、数据链路层报文结构报文的基础是数据链路层的报文,其它报文都是从此展开的,BLE数据链路层数据格式如下:2、 广播通道与数据通道 PDU 区别:(1) 广播通道的 PDU 格式:字段解析:报文类型(低 4 个 bit):ADV_IND(0000) ——通用广播ADV_DIRECT_IND(0001) ——定向连接广播ADV_NONCONN_IND(0010) ——不可连接...原创 2019-02-12 19:51:53 · 9183 阅读 · 0 评论 -
BLE--GATT服务构成
GATT基本构成最上层协议为profile,profile 中由多个 Server 组成,而 Server 由0 或多个《Include》和至少一个《Characteristic》 组成。服务是指一系列由数据和相关行为组成的集合,为了去完成某个特定的功能或者特性。而一个服务可以包含引用服务即《Include》、强制性和可选的特征即《Characteristic》。服务是一种或多种特性的组合;特...原创 2019-02-18 14:21:40 · 3406 阅读 · 0 评论 -
经典蓝牙(BR/EDR)设备连接过程分析
一、Inquiry过程Host发送HCI Inquiry命令,等控制器收到远程设备的Inquiry Response之后,发送HCI Event给Host。Host对Event数据进行分析,待Host 收到Inquiry Complete响应后,整个Inquiry过程结束。Host收到应答后可以发送HCI inquiry cancel取消Inquiry或等待Inquiry时间到达自动结束。I...原创 2019-01-15 22:07:50 · 10705 阅读 · 0 评论 -
蓝牙如何区分Master与Slave
BR/EDR:主动搜索一方处于Discover状态,以较快的速度进行跳频,是发起方,为Master,负责维护Hopping Pattern;被搜索一方处于Discoverable状态,以较慢的速度跳频,是接收方,为Slave。LE:发送广播的一方:发送advertising packets,为Slave;接收广播的一方:收到广播–>发起connection request,是Ini...原创 2019-01-14 17:49:53 · 8194 阅读 · 0 评论 -
蓝牙基础概念
本篇文章很多内容摘抄自蜗窝科技的蓝牙协议分析,1. 蓝牙发展过程自1994年由爱立信推出至今,蓝牙技术已经走过了20多个岁月。从最初的Bluetooth V1.0,到Bluetooth V5.0,经历了近10多个版本的修订后,发展为当前的状况。如今的蓝牙,像一个大杂烩:BR/EDR沿用旧的蓝牙规范;LE抄袭802.15.4;AMP直接使用802.11。而这一切的目的,就是以兼容性和易用性为基...原创 2019-01-14 15:33:18 · 2862 阅读 · 2 评论 -
2019
关于2019的我工作四年多,一路走来,学过不少东西。零零碎碎,产品从智能家居到智能硬件到电视,技术路线也从单片机开发转到Linux/Android开发。最近正式开始从事蓝牙驱动开发,在关注蓝牙技术,协议栈,蓝牙的使用流程。虽然以前做过蓝牙产品,但基本是局限于应用场景的逻辑编程。今年,在这里会成为我记录基本蓝牙知识,学习疑问 和心得的地方,欢迎大家一块讨论。目前看到很多好的博客或者技术文章,也...原创 2019-01-13 13:40:25 · 267 阅读 · 0 评论 -
BLE基本状态与事件
1、 BLE广播事件:在一个广播事件中,广播包会分别在三个广播通道中被发送一次(37,38,39);2、BLE广播间隔:是指两次广播事件之间的最小时间间隔,一般取值范围在20ms-10.24S之间,链路层会在每次广播时间期间产生一个随机广播延时时间(0ms-10ms)3、BLE扫描事件:每次扫描设备打开Radio接收器去监听广播设备,这样称为一个扫描事件,扫描频宽比,Duty-Cycle,参数:原创 2018-04-02 19:43:27 · 2064 阅读 · 0 评论 -
BLE软件基本框架介绍
BLE设备本身分为Host与Controller,并不是对应两个设备,而是一个设备的层次区分。如下图(使用网络复制图片,侵权删):控制器部分(Controller):1、物理层(PHY):RF特性,运行在2.4GHz ISM band,40频道2MHz的通道间隙,3个广播通道,37个自适应自动调频通道;2、链路层(LL):RF控制层,控制芯片工作在如下五种状态: Standby原创 2018-04-02 19:33:23 · 1536 阅读 · 0 评论 -
BLE--地址类型
一、综述一个BLE设备,可以使用两种类型的地址(一个BLE设备可同时具备两种地址):Public Device Address和Random Device Address。而Random Device Address又分为Static Device Address和Private Device Address两类。其中Private Device Address又可以分为Non-resolvable原创 2018-03-21 13:52:21 · 4975 阅读 · 2 评论 -
BLE中GATT介绍
本文转载自博客园GATT(Generic Attribute Profile),描述了一种使用ATT的服务框架 该框架定义了服务(Server)和服务属性(characteristic)的过程(Procedure)及格式 Procedure定义了characteristic的发现、读、写、通知(Notifing)、指示(Indicating) 及配置characteristic的广播GATT可以被转载 2018-02-26 20:24:24 · 3287 阅读 · 0 评论