随笔分类 -  Bluetooth

摘要:1. 介绍 GATT(Generic Attribute Profile),描述了一种使用ATT的服务框架 该框架定义了服务(Server)和服务属性(characteristic)的过程(Procedure)及格式 Procedure定义了characteristic的发现、读、写、通知(Notifing)、指示(Indicating)及配置characteristic的广播 GATT可以被Ap... 阅读全文
posted @ 2014-12-11 19:45 北落不吉 阅读(18074) 评论(4) 推荐(0) 编辑
摘要:1 介绍 ATT,Attribute Protocol,用于发现、读、写对端设备的协议(针对BLE设备) ATT允许设备作为服务端提供拥有关联值的属性集 让作为客户端的设备来发现、读、写这些属性;同时服务端能主动通知客户端 ATT定义了两种角色: 服务端(Server)和客户端(Client) ATT中的属性包含下面三个内容 - Attribute Type : 由UUID(Univ... 阅读全文
posted @ 2014-12-03 22:21 北落不吉 阅读(18103) 评论(1) 推荐(0) 编辑
摘要:1. 介绍 GAP,Generic Access Profile,该Profile保证不同的Bluetooth产品可以互相发现对方并建立连接 GAP定义了蓝牙设备如何发现和建立与其他设备的安全/不安全连接 它处理一些一般模式的业务(如询问、命名和搜索)和一些安全性问题(如担保) 同时还处理一些有关连接的业务(如链路建立、信道和连接建立) GAP规定的是一些一般性的运行任务;因此,它具有强制性,并... 阅读全文
posted @ 2014-11-30 20:13 北落不吉 阅读(12130) 评论(2) 推荐(0) 编辑
摘要:1. 介绍 Bluetooth low energy,也称BLE(低功耗蓝牙),在4.0规范中提出 BLE分为两种设备 - 单模(single-mode): Logo为「Bluetooth®Smart」 - 双模(dual-mode): Logo为「Bluetooth®Smart Ready」 TIP: 传统蓝牙的Logo为「Bluetooth®」 BLE与传统蓝牙的兼容性如下图所示... 阅读全文
posted @ 2014-11-27 20:42 北落不吉 阅读(4632) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 CC2540是一款2.4GHz Bluetooth® low energy SOC,基于8051 MCU 首先,你需要硬件设备 笔者的开发板为CC2540DK 得到开发板的同时应该还有TI提供的文档和代码 如果没有也可以在网上下载: - CC2540 - BLE-CC2540-1.3.2 2. 开发 目前官方支持的IDE只有IAR(IAR Embedded Workbench for ... 阅读全文
posted @ 2014-11-23 00:30 北落不吉 阅读(1636) 评论(0) 推荐(0) 编辑
摘要:1. 概述 GKI以库libbt-brcm_gki.a的形式提供给Bluedroid使用 该层是一个适配层,适配了OS相关的进程、内存相关的管理,还可以用于线程间传递消息 主要通过变量gki_cb(结构体tGKI_CB)实现对进程的统一管理 2. 线程 2.1 主要函数 - GKI_init() 初始化变量gki_cb - GKI_create_task() 创建线程 ... 阅读全文
posted @ 2014-08-21 22:13 北落不吉 阅读(3817) 评论(1) 推荐(1) 编辑
摘要:1. 概述 在中,介绍了Android蓝牙的基本结构 在实际运行的Android中,Bluedroid是以库文件的形式呈现(这里借用别人博客的图片) -- /system/vendor/lib/libbt-vendor.so: 即厂商提供的模块 实现了bt_vendor_interface_t类型接口BLUETOOTH_VENDOR_LIB_INTERFACE 目前开源的实现有brcm和q... 阅读全文
posted @ 2014-08-07 00:08 北落不吉 阅读(4875) 评论(0) 推荐(2) 编辑
摘要:1. 介绍 自从Android 4.2开始,Android开始使用自己的蓝牙协议栈BlueDroid,而不是bluez BlueDroid可分为两层: 2. 结构 下图显示了协议栈的基本结构 2.1 Framework framework代码主要位于 framework/base/core/java 阅读全文
posted @ 2014-08-02 22:14 北落不吉 阅读(5151) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 LMP即Link Management Protocol,用于链路建立和控制基于这一层的实体我们称之为链路管理器(LM: Link Managers) LM将命令转换为Baseband层的操作,包括 - 将Slaves加入到Piconet, 并给他们分配Active Member Addresss - 将断开连接的Slaves从Piconet中分离 - 配置Master、Slave... 阅读全文
posted @ 2014-07-20 21:41 北落不吉 阅读(4066) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 蓝牙的radio工作在2.4GHz的ISM Band(2400-2483.5 MHz),信道间隔1MHz,采用跳频技术 2. 概述 在连接(CONNECTION)状态, synchronization train和synchronization scan子状态每秒至少1600次 在inq 阅读全文
posted @ 2014-07-13 00:08 北落不吉 阅读(9060) 评论(0) 推荐(0) 编辑
摘要:1. 概念 SDP, Service Discovery Protocol,服务发现协议SDP提供了一种用于发现服务及这些可用服务属性的方法,但它不提供利用这些服务的机制 其架构是Client-Server模式,如下图所示 SDP Server维护了一个服务记录(Service Record)列表,每个条目包含了该服务的信息SDP Client通过SDP request来向SDP Server... 阅读全文
posted @ 2014-07-05 23:10 北落不吉 阅读(7243) 评论(0) 推荐(1) 编辑
摘要:1. 介绍 1.1 概述 HFP,Hands-free Profile,让蓝牙设备可以控制电话,如接听、挂断、拒接、语音拨号等 常见的使用情景是汽车套件和蓝牙耳机,将它们连接至手机并用于拨打和接听电话 HFP在蓝牙中的位置如下所示, 从中可以看出,HFP依赖于Serial Port Profile和Generic Access Profile 1.2 协议栈 1.3 角色 HFP定义了音频网关... 阅读全文
posted @ 2014-07-01 21:47 北落不吉 阅读(5261) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 RFCOMM提供了基于L2CAP协议的串行(9针RS-232)模拟RFCOMM支持在两个蓝牙设备间高达60路的通信连接,最新规范是V1.2 RFCOMM支持两种设备类型,但并不对它们进行区分 Type 1: DTE, 通信终端(如计算机, 打印机) Type 2: DCE, 通信节点(调制解调器) 连接方式如下图所示 2. 服务 2.1 RS-232控制信号 RFCOMM模拟了9针... 阅读全文
posted @ 2014-06-26 22:46 北落不吉 阅读(16018) 评论(2) 推荐(2) 编辑
摘要:1. 介绍 L2CAP,Logical Link Control and Adaptation Protocol,即逻辑链路控制和适配协议,是蓝牙系统中的核心协议 相应的规范位于Core Version 4.1的Vol 3:Part A 其在蓝牙架构如下图所示 2. 实现 L2CAP负责适配基带中的上层协议,它同LM并行工作,向上层协议提供面向连接和无连接的数据服务,并提供多路复用,分段和重组操... 阅读全文
posted @ 2014-06-22 02:07 北落不吉 阅读(20221) 评论(0) 推荐(4) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2014-06-20 23:04 北落不吉 阅读(2820) 评论(0) 推荐(1) 编辑