惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Hacker News
The Hacker News
N
News and Events Feed by Topic
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - 三生石上(FineUI控件)
V
Vulnerabilities – Threatpost
T
Tenable Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
Security Latest
Security Latest
博客园 - 【当耐特】
腾讯CDC
The Cloudflare Blog
T
Tailwind CSS Blog
L
LINUX DO - 热门话题
博客园_首页
P
Palo Alto Networks Blog
人人都是产品经理
人人都是产品经理
P
Privacy & Cybersecurity Law Blog
阮一峰的网络日志
阮一峰的网络日志
有赞技术团队
有赞技术团队
AWS News Blog
AWS News Blog
S
Securelist
博客园 - Franky
C
Cyber Attacks, Cyber Crime and Cyber Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
S
Schneier on Security
Apple Machine Learning Research
Apple Machine Learning Research
A
Arctic Wolf
P
Privacy International News Feed
Cisco Talos Blog
Cisco Talos Blog
C
Cybersecurity and Infrastructure Security Agency CISA
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Darknet – Hacking Tools, Hacker News & Cyber Security
H
Heimdal Security Blog
Help Net Security
Help Net Security
博客园 - 叶小钗
月光博客
月光博客
I
Intezer
Cyberwarzone
Cyberwarzone
美团技术团队
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
K
Kaspersky official blog
Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI

博客园 - Salesforce

ARM寄存器总结: proc介绍及问题分析 Ubuntu连接手机步骤 Bluetooth(android 4.2.2版本) android代码常识 Android中的sp和wp指针 Andriod4.2 Camera 架构与实现 android Camera模块分析 Android 4.0 Camera架构分析之Camera初始化 介绍 Android 的 Camera 框架 Android多媒体框架图 Android程序架构基本内容概述 Android 框架简介--Java环境(转) android架构图示 最全的Android源码目录结构详解(转) Vim+Ctags+Taglist组合: Ref相关的名词解释 指针(详解) 趋势科技的一道笔试题
Android Bluetooth 总结
Salesforce · 2013-09-24 · via 博客园 - Salesforce

一、Android Bluetooth现状

(1)Android2.2版 支持的蓝牙核心版本是Bluetooth 2.0 + EDR。

(2)Android 的蓝牙 使用了BlueZ协议栈,但只实现了Handset/Handfree和A2DP/AVRCP等Profile。

(一些常用的Profile(如HID/DUN/SPP/OPP/FTP/PAN等)在现在的Android2.2版中并没有实现。需要自己在Android中实现Profile)。

(3)目前版本(Android2.2) 只支持 绑定设备(bonded devices)之间通信,而不支持ad-hoc网络通信。

(4)目前版本(Android2.2) emulator(仿真器、模拟器)不支持蓝牙的调试,只能通过LOG和BlueZ带的工具来调试。

(5)Android2.0 API level5 之后的版本才支持Bluetooth。

(6)Android 的Bluetooth通信API是BlueZ 的RFCOMM的封装。

RfcommSocket 在 API level7 之后的版本才提供Bluetooth 的通信

RfcommSocket 使用JAVA 的IputStream 和OutputStream对象

二、Android Bluetooth 架构(android 4.2架构已变)

1、面向库的架构视图

clip_image001

2、面向进程的架构视图

clip_image002

LinuxKernel层:

bluez协议栈、uart驱动, h4协议, hci,l2cap, sco, rfcomm

Library层:

libbluedroid.so 等

Framework层:

实现了Headset /Handsfree 和 A2DP/AVRCP profile,但其实现方式不同Handset/Handfree是直接 在bluez的RFCOMM Socket上开发的,没有利用bluez的audio plugin,而A2DP/AVRCP是在bluez的audio plugin基础上开发的,大大降低了实现的难度。

三、 BlueZ介绍

(详见http://www.bluez.org/):

BlueZ 是Linux OS开放的bluetooth 协议栈主要包括IBM公司的BlueDrekar, Nokia公司的Affix, Axis公司的OpenBT和官方的协议栈BlueZ.

Bluetooth协议栈BlueZ分为两部分:内核代码和用户态程序及工具集。

内核代码:由BlueZ核心协议和驱动程序组 成;Bluetooth协议实现在内核源代码 /net/bluetooth中。包括hci,l2cap,hid,rfcomm,sco,SDP,BNEP等协议的实现。驱动程序放在 /driver/bluetooth中,包含Linux kernel对各种接口的Bluetooth device的驱动。例如:USB接口,串口等。

用户态程序及工具集:包括应用程序接口和BlueZ工具集。BlueZ提供函数库以及应用程序接口,便于程序员开发bluetooth应用程序。BlueZ utils是主要工具集,实现对bluetooth设备的初始化和控制。

四、几个术语:

HFP(Hands-free Profile)耳机模式:

让蓝牙设备可以控制电话,如接听、挂断、拒接、语音拨号等,拒接、语音拨号要视蓝牙耳机及电话是否支持。

HSP(Handset Profile)耳机模式

用于支持蓝牙耳机与移动电话之间使用

HID() 人机接口设备配置文件

HID 配置文件定义了 Bluetooth HID(如键盘、指向设备、游戏设备及远程监视设备)使用的协议、程序及功能

拨号网络配置文件 (DUN)

DUN 提供了通过 Bluetooth 无线技术接入 Internet 和其它拨号服务的标准。最常见的情况是在手机上拨号,从膝上型计算机以无线方式接入 Internet。

个人局域网配置文件 (PAN)

PAN 描述了两个或更多个 Bluetooth 设备如何构成一个即时网络,以及如何使用同一机制通过网络接入点接入远程网络。配置文件角色包括网络接入点、组即时网络及个人局域网用户。

SDP( Service Discovery Protocol )服务发现协议

提供应用程序在蓝牙环境中发现哪个服务可用和决定那些可用服务的特征。

GAP(Generic Access Profile)通用访问应用

一般访问应用规范定义了蓝牙设备如何发现和建立与其他设备的安全(或不安全)连接。它处理一些一般模式的业务(如询问、命名和搜索)和一些安全性问 题(如担保),同时还处理一些有关连接的业务(如链路建立、信道和连接建立)。GAP规定的是一些一般性的运行任务。因此,它具有强制性,并作为所有其它 蓝牙应用规范的基础。

转自:http://blog.csdn.net/dyufei/article/details/5815719