- 博客(22)
- 资源 (27)
- 收藏
- 关注
原创 dbus调试方法
近期研究了android bluetooth,发现bluez消息都是通过dbus进行传输,但是在java层和bluez通信的过程中,有些会被block住,这样就需要dbus进行调试,下面讲述dbus进行调试的方法。 dbus提供2个tool,一个是dbus-send, 一个是dbus-monitor。dbus-send可以像调用API那样进行消息传递,而dbus-moni
2013-08-31 23:16:27 2018
原创 BlueZ源代码阅读:Bluetoothd启动分析
Initialize structure main_opts, set its pagable and connectable, also set its default name;Parse the command line options;Check if single instance, otherwise exit;Create and bind HCI socket server;Loa
2013-08-30 23:51:38 4488
原创 bluez plugins
When Bluetoothd initializing, it will load plugins in /usr/lib/bluetooth/plugins by default. Actually, most of bluetooth profiles are implemented as plugins in BlueZ.In plugin.h, it defines:
2013-08-30 23:48:20 1775
原创 linux HID驱动分析
最近研究蓝牙的键盘鼠标,所以粗略看了一下Linux的HID框架。HID 总线HID的总线在hid-core.c的hid-init中初始化:bus_register(&hid_bus_type);hid_bus_type的定义:static struct bus_type hid_bus_type = { .name = "hid",
2013-08-30 23:34:20 1079
原创 Bluez SPP实现代码分析
本文分析蓝牙协议栈中蓝牙转串口(SPP)部分的实现。1. 基本概念Bluez提供了蓝牙转串口的功能,应用程序可以通过dbus接口控制bluez的串口功能。1.1 启动SPP服务等待远端设备连接的过程:org.bluez.SerialProxyManager->CreateProxy // 得到一个serial proxyorg.bluez.SerialProx
2013-08-30 23:28:03 1593 1
原创 Bluez HID分析(二)
本文分析了蓝牙bluez协议栈中HID协议的实现。1. 基本概念HID协议用于人机输入设备。Bluez中关于HID的实现代码在其根目录下的input目录。蓝牙规范中包含关于HID的profile,里面重用了USB中关于HID的一些协议规范。Bluez协议栈与上层应用之间使用dbus接口。Bluez与kernel之间使用AF_BLUETOOTH协议族的socket通信,
2013-08-30 23:25:35 1162
原创 Bluez HID分析(一)--Linux kernel部分
本文介绍蓝牙协议栈Bluez在linux中实现HID功能的kernel部分。在linux kernel中,Bluez对HID的实现代码在/net/bluetooth/hidp文件夹中,主要包括sock.c,core.c和hidp.h三个文件。Bluez提供了一个socket接口,用户空间程序通过使用该socket控制HID。该socket使用的协议编号为BTPROTO_HIDP。1
2013-08-30 23:22:44 2070
原创 在 precise 发行版中 i386 硬件架构下的 bluez 软件包文件清单
/etc/bluetooth/audio.conf/etc/bluetooth/input.conf/etc/bluetooth/main.conf/etc/bluetooth/network.conf/etc/bluetooth/proximity.conf/etc/bluetooth/rfcomm.conf/etc/bluetooth/serial.conf/etc/dbus-1
2013-08-30 14:00:39 1512
转载 大量的机器学习相关资源(开源软件包、基础数据集,论文集)
http://m.sciencemag.org/site/feature/data/compsci/machine_learning.xhtml
2013-08-29 22:41:20 1079
原创 /sys目录下各个子目录的具体说明
/sys下的子目录内容 /sys/devices该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备。一般来说,所有的物理设备都按其在总线上的拓扑结构来显示,但有两个例外,即platform devices和system devices。platform devices一般是挂在芯片内部的高速或者低速总线上的各种控制器和外设,它们能被CPU直接
2013-08-29 17:31:54 638
原创 bluetooth 目录
john@john-virtual-machine:~/bluez-auto/bluez-5.2$ sudo find / -name bluetooth|more/usr/src/linux-headers-3.2.0-39/net/bluetooth/usr/src/linux-headers-3.2.0-39/drivers/bluetooth/usr/src/linux-he
2013-08-29 16:58:25 1036
原创 linux /usr /var 目录详解
/usr文件系统 /usr 文件系统经常很大,因为所有程序安装在这里. /usr 里的所有文件一般来自Linux distribution;本地安装的程序和其他东西在/usr/local 下.这样可能在升级新版系统或新distribution时无须重新安装全部程序. /usr/X11R6 X Window系统的所有文件.为简化X的开发和安装,X的文件没有集成到系统中.
2013-08-29 16:44:07 791
原创 Authentication vs. Authorization 验证与授权
It is important to clarify the difference between authentication and authorization, and how these terms are used within this paper. The differences are fairly obvious, but understanding the implicat
2013-08-19 10:57:50 907
转载 linux下的C语言开发(gdb调试)
编写代码过程中少不了调试。在windows下面,我们有visual studio工具。在linux下面呢,实际上除了gdb工具之外,你没有别的选择。那么,怎么用gdb进行调试呢?我们可以一步一步来试试看。[cpp] view plaincopy#include int iterate(int value) {
2013-08-17 21:59:43 684
原创 C51编写菜单的示例程序
*/#include #include#define SIZE_OF_KEYBD_MENU 20 //菜单长度uchar KeyFuncIndex=0;//uchar KeyFuncIndexNew=0;void (*KeyFuncPtr)(); //按键功能指针typedef struct{uchar KeyStateIndex; //当前状态索引号u
2013-08-15 16:43:38 2128
转载 Google 公司采用的三大语言
C/C++,Java,Python,据说,Google把它们定为公司采用的三大语言。 当然,和Java处于一个层次的有C#,和Python处于一个层次的有Perl等,但是既然Google这么认定,我也把它们定为自己要掌握的三大语言。 这三种语言,从运行方式方面来看,处于不同的层次,C/C++比较底层,有人称为低级语言,需要编译为机器码才能运行;Java则重视逻辑应用层面
2013-08-15 09:21:12 11857 2
转载 谷歌开源Gumbo:纯C语言实现的HTML5解析库
在探讨完Google背后的开源力量后,今天向大家介绍Google开源的一款用C语言实现的HTML5解析库Gumbo,作为一款纯C99库,Gumbo解析时无需任何外部依赖。它主要是用来成为其他工具或库的一个构建块,如linters、验证器、模板语言、重构和分析工具。目标及特征:完全符合HTML5规范强大,并且对于一些有问题的代码,能够灵活、有弹性地处理简单的API,可以很
2013-08-14 21:57:13 2113
原创 开发者必备的6款源码搜索引擎
在推动技术变革上,开源运动发挥了非常显著的作用。而Linux成功地将开源转换成商务模式,给广大开源工作者带来了更大的信心和勇气。目前,开源已成为主流,在未来的几年内,它的足迹将会遍布前沿教育、航空航天(如无人驾驶飞机)等许多领域。借鉴现有的开源项目或开源代码,对于初级开发者来说,不失为一种很好的编程手段,但千万不要单纯地“用”,更多地是理解与提升,这样才会进步。下面为大家介绍6
2013-08-13 21:11:21 668
原创 Bluetooth in Android 4.2 and 4.3(一):综述
Bluetooth in Android 4.2 and 4.3(一):综述 从Android 4.2开始,Bluetooth stack发生了重大改变:从Bluez换成了由Google和Broadcom联合开发的Bluedroid(当然,核心的部分还是Broadcom的,Google主要是做了和上层Framework相关的部分)。通过http://source.android.co
2013-08-11 17:19:16 1342
原创 理解和使用蓝牙BlueZ中的FTP与PBAP协议
在蓝牙Bluetooth协议栈中,文件传输协议FTP(File Transfer Profile)和电话号码簿访问协议PBAP(Phonebook Access Profile)都是构建在对象交换协议OBEX的基础上(此外还有OPP和Synchronization),而在BlueZ的具体实现中,FTP和PBAP都是基于类似的底层API接口和调用路径实现的,两者在内部实现中有很大的相似之处。因为在最
2013-08-11 16:58:11 1557
转载 Android 上成功实现了蓝牙的一些Profile
前段时间做蓝牙方面的开发,Google的Android只实现了Handset/Handfree和A2DP/AVRCP等Profile,而其 它常用的Profile如HID/DUN/SPP/OPP/FTP/PAN等却没有实现,并且Google方面关于何时实现也没有一个时间表。前段时间我实现了HID/DUN/SPP三个Profile,下一步实现OPP/FTP等Profile。具体的开发其实
2013-08-11 16:33:57 2379
dialog 最新SDK
2015-05-17
Win8 蓝牙4.0 驱动/组件包
2013-06-06
Aheadlib+2.2.150+ 源码
2013-05-15
AS31 8051 Assembler
2013-01-31
IrDA Object Exchange Protocol
2012-02-06
蓝牙 OBEX profile
2012-02-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人