
bluetooth
joqian
这个作者很懒,什么都没留下…
展开
-
Android Bluetooth Data Reception and Sending
注册中断处理函数首先是注册中断函数来处理蓝牙硬件得到数据的事件。这是一个标准的tty串口类的实现。serial core对应硬件抽象驱动(drivers/tty/serial/pxa.c,module_init时被调用入口函数) | | uart_register_driver(&seri转载 2013-02-20 16:54:07 · 1030 阅读 · 0 评论 -
Android Framework architecture -- bluez(1)
android一词的本义指“机器人”,和robot不同的是它是有AI的,那么同时google也接android这个单词,于2007年11月5日宣布推出基于Linux平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。 对于一个软件+,硬件-的我来说,android无疑是黑暗了很久的一束阳光。有兴趣的博友们可转载 2013-03-01 11:46:07 · 818 阅读 · 0 评论 -
Bluez相关的各种tools的使用(主要用到hcidump)
在这一段折腾Bluez的时间里,越来越发现Bluez相关的许多工具做得还是挺好用的,主要在Bluez-utils/tools 目录下。只是有一点让我很遗憾,除了man以外很难找到更多的帮助文档,而man文档本身对一些功能的描述也不是很详细。其中有些选项,如果你不了解蓝牙协议栈,或者没有查阅过相关蓝牙芯片的一些文档,很难搞明白是什么意思,甚至有些选项的具体参数值的设定,如果不读源码你都无从得转载 2013-03-01 16:12:25 · 1442 阅读 · 0 评论 -
Android 蓝牙源码结构与协议简介
Android蓝牙之设置应用源码分析BluetoothDevicePreference.java顾名思义,蓝牙设备首选项,也就是蓝牙设备的配置信息,比如是否连接,是否配对,是否可见等等。该类继承了preference类,主要是提供获取蓝牙设备及通知蓝牙设备配置信息变化。 BluetoothDiscoverableEnabler.java蓝牙搜索UI逻辑处理,包括搜索暂停,搜索恢转载 2013-03-01 13:48:39 · 3116 阅读 · 1 评论 -
立体声蓝牙耳机工作原理
立体声蓝牙耳机工作原理以往蓝牙耳机的应用,大多以语音传输为主,而蓝牙立体声耳机的出现,不但打破以往只用来讲电话的范畴,更可以用来听取手机及计算机中的音乐。究竟蓝牙立体声耳机有何秘密呢?就让我来告诉你。你是否发现街上越来越多人常常在自言自语?等到走近一看就会发现,原来他们是在利用「蓝牙耳机」讲电话。而随着电视中的手机广告不停的播放,你也会发现有不少人开始带着双耳的无线耳机出没在大街小巷中,其转载 2013-03-01 11:41:32 · 4979 阅读 · 1 评论 -
Android与蓝牙耳机建立连接的分析
Android 实现了对Headset 和Handsfree 两种profile 的支持。其实现核心是BluetoothHeadsetService,在PhoneApp 创建的时候会启动它。 if (getSystemService(Context.BLUETOOTH_SERVICE) != null) { mBtHandsfree = new BluetoothHandsfre转载 2013-03-01 16:10:56 · 1757 阅读 · 0 评论 -
bluetooth相关的入门文章
http://blog.youkuaiyun.com/songjinshi/article/category/889223http://blog.youkuaiyun.com/magod/article/details/5876655http://blog.youkuaiyun.com/righthek/article/details/6868891http://www.byywee.co转载 2013-03-01 16:14:06 · 787 阅读 · 0 评论 -
Android 蓝牙状态机以及蓝牙启动状态机
Bluetooth状态转换图如下:[html] view plaincopy (BluetootOn)40 * | ^ -------------------->- | 41 * | |转载 2013-07-08 10:22:23 · 2501 阅读 · 0 评论 -
bcm4330蓝牙分析总结
对于蓝牙无论最底层的硬件驱动如何实现,都会在HCI层进行统一。也就是说,HCI在主机端的驱动主要是为上层提供统一接口,让上层协议不依赖于具体的硬件实现。HCI在硬件中的固件与HCI在主机端的驱动通信方式有多种,比如UART,USB和SDIO等。 HCI层在所有的设备面前都被抽象为一个hci_dev结构体,因此,无论实际的设备是哪种蓝牙设备、通过什么方式连接到主机,都需要向HCI转载 2013-07-08 09:24:01 · 1329 阅读 · 1 评论 -
蓝牙及蓝牙耳机工作原理
耳机原理1 蓝牙技术的特点 1.1 蓝牙协议体系结构 整个蓝牙协议体系结构可分为底层硬件模块、中间协议层和高端应用层三大部分。链路管理层(LMP)、基带层(BBP)和蓝牙无线电信道构成蓝牙的底层模块。BBP层负责跳频和蓝牙数据及信息帧的传输。LMP层负责连接的建立和拆除以及链路的安全和控制,它们为上层软件模块提供了不同的访问人口,但是两个模块接转载 2013-03-01 11:45:02 · 17377 阅读 · 0 评论 -
ANDROID的 BLUETOOTH 实现机制
从 ANDROID3.0 开始BLUETOOTH API 提供了对Bluetooth profile协议的支持。目前 ANDROID4.0 API 提供了五种蓝牙无线接口规范(Bluetooth profile)的 支持 ,用来在设备之间提供蓝牙通讯实现特定功能:包括 Headset 和 Hands-Free profile(实现蓝牙耳机功能), A2dp profile转载 2013-03-01 13:39:29 · 1251 阅读 · 0 评论 -
蓝牙驱动和Profile
net/hci_core.cHCI 在主机端的驱动主要是为上层提供一个统一的接口,让上层协议不依赖于具体硬件的实现。HCI在硬件中的固件与HCI在主机端的驱动通信方式有多种,比如像 UART、USB和PC Card等等。hci_core.c相当于一个框架,用于把各种具体通信方式胶合起来,并提供一些公共函数的实现。hci_cmd_task是负责发送CMD的任务,它从hdev->cmd_q队列转载 2013-03-01 11:51:34 · 670 阅读 · 0 评论 -
marvell mmp3 pxa2128 sd8787 bluetooth code analysis
本文单板mmp3 pxa2128 我们先看下probe过程吧,然后再一个一个展开讲解[cpp] view plaincopyprint?/** * @brief This function probe the card * * @param func A pointer to sdio_func structure. * @param转载 2013-02-21 11:00:30 · 1219 阅读 · 0 评论 -
ARM平台上蓝牙协议栈Bluez的移植使用和配置
Bluez作为当前最成熟的开源蓝牙协议栈,在Linux的各大发行版中已经得到了广泛的应用。在桌面环境下,使用Bluez应该已经没有太大的问题,本文的主要目的是介绍在嵌入式平台上,搭建和配置Bluez的各个Profile运行所需做的工作,讨论可能遇到的问题,介绍一些工具的使用和工作原理。因为本人的能力和测试时间有限,可能下文中有些理解、分析不一定准确,欢迎联系指正。 1转载 2013-02-21 17:14:23 · 979 阅读 · 0 评论 -
Android蓝牙系统
第1章 Android蓝牙系统1.1 蓝牙技术简介蓝牙(Bleuetooth)原是十世纪统一了丹麦的一个国王的名字,现取其“统一”的含义,用来意在统一无线局域网通讯的标准的蓝牙技术。蓝牙技术是爱立信,IBM,Intel等世界5家著名大公司在1998年联合推出的一项无线通讯规范。随后成立的蓝牙技术特殊兴趣组织(SIG)来负责该技术的开发和技术协议的制定,如今全世界已有1800多家公司转载 2013-02-21 17:17:24 · 1214 阅读 · 0 评论 -
Android/Bluetooth 初始化流程
=========================Kernel Space=========================1. Board power initMACHINE_START init_machine = comet_initbt_power_initbluetooth_power2. HCI device/connection manager,转载 2013-02-21 17:18:38 · 1207 阅读 · 1 评论 -
蓝牙驱动浅析
bluetooth driver in Android2.3使用高通芯片,linux2.6.35.7board-vital2.c初始化蓝牙GPIO,bt_gpio_table中配置GPIO。设置了UART1的RTS,CTS,TX,RX引脚和蓝牙模块的RESET,SHUTDOWN,WAKE,HOST_WAKE引脚,bcm_bt_lpm_device变量将被注册到platform_device转载 2013-02-21 17:19:28 · 1490 阅读 · 0 评论 -
bcm4330蓝牙分析总结
对于蓝牙无论最底层的硬件驱动如何实现,都会在HCI层进行统一。也就是说,HCI在主机端的驱动主要是为上层提供统一接口,让上层协议不依赖于具体的硬件实现。HCI在硬件中的固件与HCI在主机端的驱动通信方式有多种,比如UART,USB和SDIO等。 HCI层在所有的设备面前都被抽象为一个hci_dev结构体,因此,无论实际的设备是哪种蓝牙设备、通过什么方式连接到主机,都需要向HCI层和转载 2013-02-21 17:15:30 · 669 阅读 · 0 评论 -
android 4.0 蓝牙分析-设置面板中蓝牙工作的流程
packages/apps/Settings/src/com/android/settings/bluetooth/BluetoothSettings.javaonCreateOptionsMenu(Menu menu, MenuInflater inflater)创建菜单,里面有MENU_ID_SCAN,MENU_ID_RENAME_DEVICE,MENU_ID_VISIBILI转载 2013-03-06 15:32:02 · 1927 阅读 · 0 评论 -
tiny210针对USI_WM-BN-BM-04的bluetooth的配置过程
1.1硬件配置:USI_WM-BN-BM-04的EVB板为usb转串口模式的,在实际过程中,直接采用USI_WM-BN-BM-04的串口与cpu的串口1相连: BT端CPU端说明RTSCTS(UART1)这个四个脚都需要上拉,不然会状态不稳定(调试过程中发现)CTSRTS原创 2013-03-13 12:23:02 · 2649 阅读 · 0 评论 -
Android平台开发-Bluez function porting-蓝牙功能移植
一、Bluez编译配置支持 在BoardConfig.mk中添加: BOARD_HAVE_BLUETOOTH := true。 二、启动hciattach BlueZ核心子系统使用hciattach守护进程添加指定的硬件串口驱动。 修改init.rc来启动hciattach: service hciatt转载 2013-07-09 12:00:08 · 1077 阅读 · 0 评论