没有合适的资源?快使用搜索试试~ 我知道了~
Android之蓝牙驱动开发总结
需积分: 50 41 下载量 57 浏览量
2014-06-06
17:05:57
上传
评论 5
收藏 1.26MB PDF 举报
温馨提示
试读
32页
Android 蓝牙系统分为四个层次,内核层、BlueZ 库、BlueTooth 的适配库、BlueTooth 的JNI 部分、Java 框架层、应用层
资源推荐
资源详情
资源评论
Android 蓝牙驱动开发
Android 之蓝牙驱动开
发总结
Android 蓝牙驱动开发
一 Bluetooth 基本概念 .................................................................................................... 1
二 Android Bluetooth 架构 .............................................................................................. 1
2.1 Bluetooth 架构图 .................................................................................................... 1
2.2 Bluetooth 代码层次结构 ......................................................................................... 3
三 Bluetooth 协议栈分析 ................................................................................................ 4
3.1 蓝牙协议栈 ............................................................................................................ 4
3.2 Android 与蓝牙协议栈的关系 ................................................................................ 5
四 Bluetooth 之 HCI 层分析 ............................................................................................. 5
4.1 HCI 层与基带的通信方式 ....................................................................................... 6
4.2 包的分析及研究 .................................................................................................... 7
4.3 通信过程的研究与分析 ......................................................................................... 8
五 Bluetooth 之编程实现 ................................................................................................ 8
5.1 HCI 层编程 .............................................................................................................. 8
5.2 L2CAP 层编程 ........................................................................................................ 10
5.3 SDP 层编程 ........................................................................................................... 12
六 Bluetooth 之启动过程实现 ....................................................................................... 13
6.1 Bluetooth 启动步骤 .............................................................................................. 14
6.2 Bluetooth 启动流程 .............................................................................................. 14
6.3 Bluetooth 数据流向 .............................................................................................. 14
6.4 Bluez 控制流程 ..................................................................................................... 14
6.5 Bluetooth 启动过程分析 ....................................................................................... 15
七 Bluetooth 之驱动移植 .............................................................................................. 15
7.1 android 系统配置 .................................................................................................. 15
7.2 启动项修改 .......................................................................................................... 16
7.3 电源管理 rfkill 驱动 ............................................................................................. 16
7.4 Rebuild Android image and reboot ........................................................................ 16
7.5 实现 BT 睡眠唤醒机制 ........................................................................................ 16
7.6 系统集成 .............................................................................................................. 17
八 Bluetooth 之调试与编译 .......................................................................................... 17
8.1 Bluetooth 驱动调试 .............................................................................................. 17
Android 蓝牙驱动开发
8.2 Bluetooth 调试工具 ............................................................................................. 18
九 Bluetooth 之应用程序开发 ....................................................................................... 18
9.1 Bluetooth 的 API 开发 ........................................................................................... 18
9.2 The Basics 开发 ..................................................................................................... 18
9.3 Bluetooth Permissions 开发................................................................................... 19
9.4 Setting Up Bluetooth 服务 ..................................................................................... 19
9.5 Finding Devices 服务 ............................................................................................. 20
9.6 Connecting Devices 服务 ....................................................................................... 22
9.7 Managing a Connection 服务 ................................................................................. 26
9.8 Working with Profiles 服务 .................................................................................... 28
十 总结与疑问 ............................................................................................................... 29
Android 蓝牙驱动开发
1 / 32
一 Bluetooth 基本概念
蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备、计算机及其终端设备、
各种数字数据系统、甚至家用电器采用无线方式联接起来。它的传输距离为 10cm~10m,
如果增加功率或是加上某些外设便可达到 100m 的传输距离。它采用 2.4GHz ISM 频段和调
频、跳频技术,使用权向纠错编码、ARQ、TDD 和基带协议。TDMA 每时隙为 0.625μs,基
带符合速率为 1Mb/s。蓝牙支持 64kb/s 实时语音传输和数据传输,语音编码为 CVSD,发射
功率分别为 1mW、2.5mW 和 100mW,并使用全球统一的 48 比特的设备识别码。由于蓝牙
采用无线接口来代替有线电缆连接,具有很强的移植性,并且适用于多种场合,加上该技术
功耗低、对人体危害小,而且应用简单、容易实现,所以易于推广。
蓝牙技术的系统结构分为三大部分:底层硬件模块、中间协议层和高层应用。底层硬件
部分包括无线跳频(RF)、基带(BB)和链路管理(LM)。无线跳频层通过 2.4GHz 无需授
权的 ISM 频段的微波,实现数据位流的过滤和传输,本层协议主要定义了蓝牙收发器在此
频带正常工作所需要满足的条件。基带负责跳频以及蓝牙数据和信息帧的传输。链路管理负
责连接、建立和拆除链路并进行安全控制。
二 Android Bluetooth 架构
2.1 Bluetooth 架构图
Android 蓝牙系统分为四个层次,内核层、BlueZ 库、BlueTooth 的适配库、BlueTooth 的
JNI 部分、Java 框架层、应用层。下面先来分析 Android 的蓝牙协议栈。
Android 蓝牙驱动开发
2 / 32
图 1 面向库的架构视图
Linuxkernel 层:
bluez 协议栈、uart 驱动, h4 协议, hci,l2cap, sco, rfcomm
bluez 层:
这是 bluez 用户空间的库,开源的 bluetooth 代码,包括很多协议,生成 libbluetooth.so。
library 层:
libbluedroid.so 等
framework 层:
实 现 了 Headset /Handsfree 和 A2DP/AVRCP profile , 但 其 实 现 方 式 不 同
Handset/Handfree 是直接 在 bluez 的 RFCOMM Socket 上开发的,没有利用 bluez 的 audio
plugin,而 A2DP/AVRCP 是在 bluez 的 audio plugin 基础上开发的,大大降低了实现的难
度。
Android 的蓝牙协议栈采用 BlueZ 来实现,BlueZ 分为两部分:内核代码和用户态程序及
工具集。
剩余31页未读,继续阅读
资源评论
hongsun924
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Elasticsearch实战:构建高效搜索系统的秘诀.zip
- HTML+CSS+JS网页设计:从入门到精通.zip
- 数据库课程设计:从理论到实践的全面指南.zip
- Python闭包:深入理解与应用场景解析.zip
- Win64OpenSSL-3-3-0.exe
- 课高分程设计-基于C++实现的民航飞行与地图简易管理系统-南京航空航天大学
- 航天器遥测数据故障检测系统python源码+文档说明+数据库(课程设计)
- 北京航空航天大学操作系统课设+ppt+实验报告
- 基于Vue+Echarts实现风力发电机中传感器的数据展示监控可视化系统+源代码+文档说明(高分课程设计)
- 基于单片机的风力发电机转速控制源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功