- 博客(39)
- 资源 (3)
- 收藏
- 关注
转载 蓝牙的Baseband说明
蓝牙的radio部分使用2.4GHz的ISM段,2400 - 2483.5 MHz,通道间隔1MHz,GFS调制,采用跳频技术,每秒至少1600次。连接完成后的跳频次数为1600次/s,在inquiry和page时为3200次/s。1.时钟有三种是CLK,如下图:CLK是Master的时钟,代表某一个piconet的是时钟。slave根据下图来调整自己的时钟以达到和ma
2013-10-25 15:33:57 1585
转载 蓝牙4.0的LM层说明
1.概念The Link Manager Protocol (LMP) is used to control and negotiate all aspects of the operation of the Bluetooth connection between two devices. This includes the set-up and control of logical
2013-10-25 15:33:24 1153
转载 蓝牙的L2CAP协议
1.概述 L2CAP能向上层提供面向连接的或者无连接的数据服务,拥有multiplexing capability and segmentation and reassembly operation。能够接受上层协议或者应用的数据,最大为64K byte,每一个通道都可以进行Flow Control和retransmission。结构如下图: 几个主要特点:
2013-10-25 15:32:41 1868
转载 蓝牙的OBEX协议
1.概述 OBEX为Object Exchange,用于在蓝牙设备间传数据对象,来源于红外定义的协议,后被蓝牙采用。OBEX在蓝牙协议层中的位置如下图(在之前的OBEX版本中,OBEX是通过RFCOMM挂在L2CAP上的):2.Object Model OBEX定义了Object model来进行数据的交换,形式为Request-Respon
2013-10-25 15:31:29 1452
转载 A2DP协议笔记
1.概述 A2DP(Advanced Audio Distribution Profile)是蓝牙的音频传输协议,典型应用为蓝牙耳机。A2DP协议的音频数据在ACL Link上传输,这与SCO上传输的语音数据要区别。A2DP不包括远程控制的功能,远程控制的功能参考协议AVRCP。AVDTP则定义了蓝牙设备之间数据流句柄的参数协商,建立和传输过程以及相互交换的信令实体形式,该协议是
2013-10-25 15:30:53 3326
转载 蓝牙的AVCTP协议笔记
1.概述 AVCTP协议描述了蓝牙设备间Audio/Video的控制信号交换的格式和机制,它是一个总体的协议,具体的控制信息由其指定的协议(如AVRCP)实现,AVCTP本身只指定控制command和response的总体的格式。 几个重要的点:(1)AVCTP uses point-to-point signaling over connection-orie
2013-10-25 15:29:39 2089
转载 蓝牙的AVDTP协议笔记
1.概述 AVDTP(AUDIO/VIDEO DISTRIBUTION TRANSPORT PROTOCOL)是用来描述音频/视频在蓝牙设备间的传输的协议,是A2DP协议的基础协议,其在协议栈中的位置如下:AVDTP协议建立在connection-oriented L2CAP channel上,只能支持point-to-point signaling。
2013-10-25 15:29:03 2951
转载 蓝牙HID协议笔记
1.概述 The Human Interface Device (HID)定义了蓝牙在人机接口设备中的协议、特征和使用规程。典型的应用包括蓝牙鼠标、蓝牙键盘、蓝牙游戏手柄等。该协议改编自USB HID Protocol。 2.一些概念(1)HID Reports:Bluetooth HID devices支持三种Report:Input, Output,
2013-10-25 15:27:46 4894 2
转载 蓝牙的HFP协议笔记
1.概述 HFP(Hands-free Profile),可以让蓝牙设备可以控制电话,如接听、挂断、拒接、语音拨号等,拒接、语音拨号要视蓝牙耳机及电话是否支持。HFP定义了音频网关(AG)和免提组件(HF)两个角色:AG–该设备为音频(特别是手机)的输入/输出网关。HF–该设备作为音频网关的远程音频输入/输出机制,并可提供若干遥控功能。HFP的协议栈如
2013-10-25 15:26:42 2893
转载 蓝牙协议的命令和事件
命令下表列出蓝牙协议中从L2CAP到物理层的命令和事件映射。希望这个列表可以帮助你分析蓝牙协议中从协议高层发给较低层次的控制命令和消息命令。我们还会通过讲解一个示例来具体地说明协议高层收到连接请求时的情况。L2CAPHCILMP/BASEBAND连接和不连接L2CAP_ConnectRe
2013-10-25 15:24:51 1364
转载 Bluetooth在andriod下的开发基本操作
1.硬件 主板通过USB给蓝牙芯片供电,蓝牙芯片通过Uart接口与主板通信,通过主板的miniUSB接口可以进行andriod开发。Firmware的Log信息通过串口转USB(接串口转USB的RX和GND),可以在PC上查看。2.抓取底层Firmware的log信息 通过Bluetooth芯片的LED0 Pin可以输出Firmware的log信息,根据
2013-10-25 15:22:08 1089
转载 在HCI层ACL Connection的建立
一.概述 上一篇博文介绍的是inquiry的整个过程中HCI层的command和event。在寻找到有效的远端蓝牙设备后,开始建立ACL连接,这里仅仅反应HCI层的数据包,对于LM层和Baseband层的数据可能需要抓取FW的log进行查看。二.建立ACL连接的过程1. Create_Connection command 该命令参数如下:
2013-10-25 15:20:15 1371
转载 在HCI层看从inquiry的整个过程
一.概述 在windows下寻找远端蓝牙设备,从最开始的inquiry寻找设备,到连接设备,到最后配对完成,整个HCI层所发的command和event以及Data包可以反应整个蓝牙的inquiry,pair等原理和过程。这篇笔记就是分析这个过程,结合Spec的具体描述,以此熟悉蓝牙的配对流程。二.Inquiry流程 这个流程主要是inquiry远端的蓝
2013-10-25 15:19:44 1056
转载 用FTS分析蓝牙数据包
1.简介 FTS软件相当于蓝牙的数据分析仪器,它可以抓取通过蓝牙IC的数据包,从包中我们可以看到HCI,L2CAP等各层的封包数据,是一个十分有用的软件。2.HCI的command和event以及Data的格式HCI Command Format:HCI Event Format:HCI ACL Data Format:HC
2013-10-25 15:18:10 2505
转载 FTS抓包看L2CAP Connection的建立
一.概述 在前面的文章中介绍了inquiry和ACL connection的建立过程。这个连接建立后,L2CAP signaling channel(CID = 0x0001)就已经存在,可以进行L2CAP连接二.基本概念HCI ACL Data Format:Connection的建立(一)" title="FTS抓包看L2CAP Connect
2013-10-25 15:17:18 1490
转载 FTS抓包看蓝牙的SDP整个过程
1.概述 SDP是蓝牙的Service Discovery Protocol,用来发现远程设备能够提供的Service。它只负责发现对方支持的Service,不负责Service的具体实现。2.背景概念 SDP中的每一个Service用ServiceRecord来表示(具有唯一的32bit的Handle),每一个ServiceRecord由若干Servic
2013-10-25 15:15:29 1246
转载 SDP协议中的Continuation State
在SDP request和SDP response中,最后一部分为Continuation State,结构如下:State" title="SDP协议中的Continuation State" style="margin:0px; padding:0px; border:0px; list-style:none">它用于一次response不够把所有的Data传回去的情况。这时候需要
2013-10-25 15:14:32 1239
转载 FTS抓包看AVDTP
1.概述 测试过程为打开Audio连接,没有听音乐,人后断开Audio连接,主要目的是为了测试AVDTP的工作流程。2.Frame分析 首先贴出抓取的关于AVDTP的包: 在L2CAP层,分别由Maste和Slave建立了两条关于AVDTP的L2CAP连接,并完成了configure的过程,如下:我们可以看到AVDTP的主要Signaling的
2013-10-25 15:13:34 1486
转载 Android4.2关于bluetooth在HAL层的分析
1.一些常用的数据结构hardware/libhardware/include/hardware.h中定义了三个重要的结构:struct hw_module_t; //模块类型struct hw_module_methods_t; //模块方法struct hw_device_t; //设备类型hw_module_t中包含结构
2013-10-25 15:12:04 1245
转载 【转】Bluedroid的结构和代码分布
在android4.2中,Google更换了android的蓝牙协议栈,从Bluez换成Bluedroid,我也是初涉这个方面,顺便记录一下。http://source.android.com/devices/bluetooth.htmlandroid development对于4.3蓝牙的介绍:android提供BlueDroid作为默认的协议栈,BlueDroid分为两
2013-10-25 15:06:51 1128
转载 android -- 蓝牙 bluetooth (五)接电话与听音乐
正文开始之前,先说点题外话,在android系统中蓝牙耳机和听筒两者的音频通道是不一样的,使用蓝牙耳机接听电话和听音乐不仅涉及到本文下面提到的流程,更要牵扯的音频通道的切换,这是一个相对比较复杂的过程,android的音频系统相关内容可不算少,个人感觉多少了下解相关知识可能有助于我们更好的蓝牙这部分功能,不过本文的主题当然还是下面两个。 1.蓝牙耳机接听电话 这
2013-10-22 15:44:46 2868
转载 android -- 蓝牙 bluetooth (四)OPP文件传输
在前面android -- 蓝牙 bluetooth (一) 入门文章结尾中提到了会按四个方面来写这系列的文章,前面已写了蓝牙打开和蓝牙搜索,这次一起来看下蓝牙文件分享的流程,也就是蓝牙应用opp目录下的代码,作为蓝牙最基本的一个功能,这部分的代码在之前的版本中就已经有了,新旧版本代码对比很多类名都是一样的,这一部分新东西不多,写在这里帮助大家梳理下流程吧。 有没有这种感
2013-10-22 15:43:25 1834 1
转载 android -- 蓝牙 bluetooth (三)搜索蓝牙
接上篇打开蓝牙继续,来一起看下蓝牙搜索的流程,触发蓝牙搜索的条件形式上有两种,一是在蓝牙设置界面开启蓝牙会直接开始搜索,另一个是先打开蓝牙开关在进入蓝牙设置界面也会触发搜索,也可能还有其它触发方式,但最后都要来到BluetoothSettngs.java的startScanning(),我们分析的起点也从这里开始,起步代码如下[cpp] view plaincopy
2013-10-22 15:42:16 803
转载 android -- 蓝牙 bluetooth (二) 打开蓝牙
4.2的蓝牙打开流程这一部分还是有些变化的,从界面上看蓝牙开关就是设置settings里那个switch开关,widget开关当然也可以,起点不同而已,后续的流程是一样的。先来看systemServer.java的代码,蓝牙服务开启的地方,最后一个else分支是我们关心的,前两个是模拟器的一个测试模式的。[java] view plaincopy
2013-10-22 15:41:24 1274
转载 Bluetooth in Android 4.2 and 4.3 Enable Bluetooth
Bluedroid和Bluez相比,有如下优点:层次结构清晰。各个profile对上层接口统一,便于增加新的profile;增加了HAL层,便于移植。去掉了DBus,Framework的Java代码直接调用到Bluedroid的Native代码。 但是Android 4.2中的Bluedroid与Android 4.1中的Bluez相比,功能要少,例如不支持AVRCP 1
2013-10-22 14:51:26 1207
转载 android -- 蓝牙 bluetooth (一) 入门
1. 代码分布: packages/apps/Bluetooth/ 看这路径肯定是蓝牙应用方面的代码了,主要是关于蓝牙应用协议的表现代码,包括opp、hfp、hdp、a2dp、pan等等,这些名词后面再解释。 frameworks/base/core/java/android/server/ 4.2
2013-10-22 09:15:01 1139
转载 Android.bluetooth 功能解析
android.bluetooth提供了皆如扫描设备、连接设备以及对设备间的数据传输进行管理的类,这些类对蓝牙设备进行功能性管理。蓝牙模块API提供的应用包括了:●扫描其它蓝牙设备●通过查询本地蓝牙适配器来匹配蓝牙设备●建立RFCOMM(无线射频通信协议)的通道/端口●从其他的蓝牙设备中连接到指定的端口●传输数据到其他设备,或者从其他设备中接收数据如需运用这些API
2013-10-21 09:26:53 1643
转载 Android4.2蓝牙基础架构学习
Android4.2使用了Bluetooth.apk管理所有蓝牙相关的操作,Bluedroid作为蓝牙协议栈。整个蓝牙的关系架构如下图所示:下面逐一进行讲解:Applications:Android蓝牙应用程序,就是使用了蓝牙的API的程序java Framework:提供给应用使用的API,我们平时使用的BluetoothAdapter,BluetoothDe
2013-10-18 17:29:31 813
转载 smem在Android中的使用
原文:http://lhq1013.iteye.com/blog/978303简介:smem是一个分析linux上内存使用量的内存工具。Android上提供的“ps”只能显示VSIZE和RSS这两类内存值。即使安装了busybox,“ps”也只能显示VSIZE。VSIZE是虚拟图形的总体大小,RSS是resident set size——实际使用的物理内存(包含共享库占用的内存)。这些
2013-10-10 14:48:41 716
转载 Android ContactsContact
Android刚开始在通讯录方面好像是提供的Contacts这个类,又在SDK2.0发布后新加了一个ContactsContract,然后就不建议用Contacts这个旧的类了。有新的东西,当然要用新的了。http://developer.android.com/reference/android/provider/ContactsContract.html 对于ContactsCont
2013-10-10 14:48:11 1408
转载 SD卡协议
一、SD2.0规范介绍1、版本SD spec1.0 低速度、低容量 25M 2G SD spec1.1 高速度、低容量 50M 2GSD spec2.0 高速度、高容量 50M 32G 2、SD规范包括(1) 物理层规范 (2) 文件系统规范(3) SD卡安全规范(4) SD卡音频应用规范+其他相关应用规范
2013-10-10 14:47:25 1141
转载 mmc子系统学习笔记
如果你想对mmc子系统有下列需求的研究,那么恭喜你,找对地方了,更重要的是找对博客了,关于此mmc子系统学习笔记是walfred在学习过程中记载的,所以错误在所难免,所以请各位读者在阅读时如果遇到问题,请留言评论,walfred谢谢你的支持! 本mmc子系统主要讨论了下述内容: 关于mmc子系统,各硬件平台、各Linux版本之间的差异; 阅读m
2013-10-10 14:46:36 739
转载 Android系统中Recovery模式服务的工作原理
http://my.oschina.net/u/572562/blog/63834这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理。我们先从update.zip包的制作开始,然后是Android系统的启动模式分析,Recovery工作原理,如何从我们上层开始选择system update到重启到
2013-10-10 14:46:14 3427
转载 ARM简介及BootLoader介绍
作者:黄大荣大纲(一)ARM简介ARM基本常识目前嵌入式处理器常见的有ARM、PowerPC、MIPS、Motorola 68K、ColdFire(冷火)等,但ARM占据了绝对主流(有资料说手机中几乎90%都是ARM处理器)。ARM是一个只卖知识产权的公司,目前获得购买了ARM CPU核授权许可的大公司很多,包括Intel、Samsung、Amstel、Motorola、Phili
2013-10-10 14:45:40 2221
转载 Android系统启动流程 -- bootloader
对于Android整个启动过程来说,基本可以划分成三个阶段:Bootloader引导、Linux kernel启动、Android启动。下面分别对每个阶段一一展开讨论。第一部分:Bootloader启动一、 Bootloader的定义和种类简单地说,BootLoader是在操作系统运行之前运行的一段程序,它可以将系统的软硬件环境带到一个合适状态,为运行操
2013-10-10 14:45:24 717
原创 SD 学习历程
SD card 高均 收集整理 自学用几个概念:SD、SDHC、SDXC、SDIO、MMC、MCIMmc:MMC:(Multi Media Card)由西门子公司和首推CF的SanDisk于1997年推出的多媒体记忆卡标准。较早的一种记忆卡标准SD:由MMC演变而来的,最大支持2GB大小容量。(Secure Digital Memory Card)由日本松下、东芝及美国SanDi
2013-10-10 14:23:56 3230 1
原创 Omnipeek 分析WIFI
准备工作:DWA-125 无线网卡一块, 驱动下载地址:http://downxg.downcc.com/system/driver/dlink_dwa_125.zipOmnipeek https://mypeek.wildpackets.com
2013-10-10 14:17:46 5119
转载 Android Wi-Fi Display(Miracast)介绍
Android Wi-Fi Display(Miracast)介绍2012年11月中旬,Google发布了Android 4.2。虽然它和Android 4.1同属Jelly Bean系列,但却添加了很多新的功能。其中,在显示部分,Android 4.2在Project Butter基础上再接再厉,新增了对Wi-Fi Display功能的支持。由此也导致整个显示架构发生了较大的变化
2013-10-10 14:10:43 1257
转载 Android 4.2蓝牙介绍
Tieto公司某蓝牙大牛写得《程序员》投稿文章Android 4.2蓝牙介绍蓝牙一词源于公元十世纪丹麦国王HaraldBlatand名字中的Blatand。Blatand的英文之意就是Blue tooth。这是因为这位让丹麦人引以为傲的国王酷爱吃蓝莓以至于牙龈都被染成蓝色。由于Blatand统一了丹麦和挪威,所以,作为无线通信技术的一种,蓝牙技术之所以取名Bluetooth可谓
2013-10-10 13:59:07 1154
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人