![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝牙
newnewman80
这个作者很懒,什么都没留下…
展开
-
蓝牙鼠标调试过程
现象: 连上鼠标后,能够出现鼠标图标,并且可以移动一下,然后再怎么移动鼠标都没反应了,在蓝牙的驱动层(btusb.c),加打印信息,发现这个时候即使移动蓝牙鼠标,bulk端点也没有数据上报上来了,但设置界面还可以执行扫描,能够扫描到其他的蓝牙设备,说明蓝牙usb驱动包括蓝牙的usb dongle这个时候还能工作,而为什么不上报鼠标数据,很可能是这个时候蓝牙鼠标的内部出问题了。 注意的问题:转载 2013-11-07 16:19:19 · 4163 阅读 · 0 评论 -
实战Linux Bluetooth编程(二) BlueZ简介
作者: Sam(甄峰) sam_code@hotmail.com Linux下Bluetooth协议栈的实现.Linux下开放的蓝牙协议栈主要包括IBM公司的BlueDrekar,Nokia公司的Affix,Axis公司的OpenBT和官方协议栈BlueZ。我们主要面对Bluez来探讨。 BlueZ基础代码均是由MaximKrasnyansky完成的。包括:HCI,L2CAP,R转载 2013-11-07 15:04:39 · 1735 阅读 · 0 评论 -
实战Linux Bluetooth编程(一) 协议栈概述
实战Linux Bluetooth编程(一) 协议栈概述作者:Sam (甄峰) sam_code@hotmail.com Sam一年前在Linux下写了一个类似Windows下BTW的库--BTX。现在需要添加新功能时发现很多知识点都忘记了。所以决定在这次学习中,把一些bluezAPI记录下来。这几天又想,这样还不够,不如把Linux下的Bluetooth编程基础给记录下来转载 2013-11-07 15:02:16 · 1246 阅读 · 0 评论 -
实战Linux Bluetooth编程(三) HCI层编程
作者:Sam (甄峰) sam_code@hotmail.com(HCI协议简介,HCI在BlueZ中的实现以及HCI编程接口) 1. HCI层协议概述:HCI提供一套统一的方法来访问Bluetooth底层。如图所示: Bluetooth编程(三) HCI层编程" title="实战Linux Bluetooth编程(三) HCI层编程"> 从图上可以看出,Host转载 2013-11-07 15:05:29 · 8252 阅读 · 1 评论 -
实战Linux Bluetooth编程(六) L2CAP编程实例
作者:Sam (甄峰) sam_code@hotmail.com 例一:发送Signaling Packet:Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得SignalingCommand使用CID 0x0001.多个Command可以在一个C-frame(control frame)中发送。Bluetooth编程(六) L2C转载 2013-11-07 15:13:04 · 1244 阅读 · 0 评论 -
实战Linux Bluetooth编程 (八) Class of Device
作者:Sam (甄峰) sam_code@hotmail.com 在设备被发现阶段,设备的Class of device被提供出来。指出此设备是何种类型,以及支持哪些服务。 回想前面HCI章节所说,Inquiry时,会返回找到的设备信息,其中包括BDADDR等。其中dev_class字段就是Classof Device. typedef struct { b转载 2013-11-07 15:15:58 · 2488 阅读 · 0 评论 -
实战Linux Bluetooth编程(九) SDP层编程
作者:Sam(甄峰) sam_code@hotmail.com 先前的章节谈过SDP协议。但没有具体讲如何编程。BlueZ提供的SDP API,常见的如下: 1.sdp_session_t *sdp_create(int sk, uint32_tflags)参数1:sk: socket参数2:SDP flags. 取值如下:#define SDP_RETRY_转载 2013-11-07 15:22:03 · 1035 阅读 · 0 评论 -
实战Linux Bluetooth编程 (七) SDP协议
作者:Sam (甄峰) sam_code@hotmail.com Service DiscoveryProtocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。服务发现协议(SDP或BluetoothSDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetoothclient发现可用b转载 2013-11-07 15:14:54 · 1205 阅读 · 0 评论 -
实战Linux Bluetooth编程(五) Socket与Bluetooth
作者: Sam (甄峰) sam_code@hotmail.com Linux下Bluetooth编程,借用了Socket体制。也就是说,BlueZKernel部分将Bluetooth协议栈以网络协议的形式添加进网络协议栈,这样极大的方便了用户编程。下面Sam就结合Socket概念将LinuxBluetooth做个研究。 1957年10月4日,星期五,苏联发射了人类历史上第一颗人造转载 2013-11-07 15:09:34 · 1425 阅读 · 0 评论 -
实战Linux Bluetooth编程(四) L2CAP层编程
作者:Sam (甄峰) sam_code@hotmail.com(L2CAP协议简介,L2CAP在BlueZ中的实现以及L2CAP编程接口) 一:L2CAP协议简介:Logical Link Control and AdaptationProtocol(L2CAP) 逻辑连接控制和适配协议 (L2CAP)为上层协议提供面向连接和无连接的数据服务,并提供多协议功能和分割重组操转载 2013-11-07 15:06:29 · 1398 阅读 · 0 评论