bluetooth
文章平均质量分 79
believe209
这个作者很懒,什么都没留下…
展开
-
Android中bluetooth的架构
既然我们想要系统地进行分析一下Android的bluetooth,那么就有必要首先来从总体架构上看一下bluetooth在Android中是处于哪些层次,做到手中有枪,心里不慌。Bluetooth从总体来看,基本的架构图如下: 这张图是我拷贝的网上的一份介绍bluetooth的ppt上,他应该也是出于某一份大牛之手,可惜的是我并没有能够找到具体的出处,若有人看到可以告诉我一转载 2015-10-17 16:19:40 · 1978 阅读 · 0 评论 -
用C写蓝牙通讯程序:扫描、读取、发送
在Linux下,通过bluez 蓝牙库可以用C语言轻松实现蓝牙通信。在ubuntu下可以用 apt-get install libbluetooth-dev 安装该库。下面是几个简单示例。一个简单的扫描程序,得到周边的蓝牙从机设备名和地址:#include stdio.h>#include stdlib.h>#include unistd.h>#转载 2015-12-10 15:25:26 · 20791 阅读 · 12 评论 -
linux下bluetooth编程(二)blueZ协议栈
Linux下开放的蓝牙协议栈主要包括IBM公司的BlueDrekar,Nokia公司的Affix, Axis公司的OpenBT和官方协议栈BlueZ。我们主要对Bluez进行探讨。 BlueZ基础代码均是由Maxim Krasnyansky完成的。包括:HCI,L2CAP,RFCOMM和基本socket的实现。他就职于Qualcomm(高通)。Marcel Holtmann开发层的转载 2015-11-26 17:42:12 · 3840 阅读 · 0 评论 -
linux下bluetooth编程(三)HCI层编程
1. HCI层协议概述:HCI提供一套统一的方法来访问Bluetooth底层。如图所示: 从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。转载 2015-11-26 17:43:18 · 7897 阅读 · 2 评论 -
linux下bluetooth编程(六)L2CAP层编程实例
例一:发送Signaling Packet:Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.多个Command可以在一个C-frame(control frame)中发送。 如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2转载 2015-11-26 17:47:57 · 2890 阅读 · 1 评论 -
linux下bluetooth编程(一)基础概念
一:Bluetooth基本概念: Bluetooth是爱立信、诺基亚、东芝、IBM和Intel 5家公司在1998年联合推出的一项无线网络技术。其宗旨是提供一种短距离、低成本的无线传输应用技术。在行业协会筹备阶段,需要一个极具有表现力的名字来命名这项高新技术。行业组织人员,在经过一夜关于欧洲历史和未来无限技术发展的讨论后,有些人认为用Blatand国王的名字命名再合适不过了。Bla转载 2015-11-26 17:41:00 · 6249 阅读 · 0 评论 -
linux下bluetooth编程(四)L2CAP层编程
一:L2CAP协议简介:Logical Link Control and Adaptation Protocol(L2CAP) 逻辑连接控制和适配协议(L2CAP) 为上层协议提供面向连接和无连接的数据服务,并提供多协议功能和分割重组操作。L2CAP充许上层协议和应用软件传输和接收最大长度为64K的 L2CAP数据包。 L2CAP基于 通道(channel)的概念转载 2015-11-26 17:44:45 · 2666 阅读 · 0 评论 -
linux下bluetooth编程(五)bluetooth与socket
一:理解Socket:在使用手机与女朋友联系时,必须用手机拨她的号码,然后心情坎坷的等待她的应答。当双方通话时,就建立了一个具有两个端点的通信线路。Linux中的Socket与电话非常相似。具体问题,稍后再分析。 二:Socket域(domain),类型(type),协议(protoclo)以及Bluetooth中的具体使用:Berkeley小组在构思BSD转载 2015-11-26 17:46:24 · 8303 阅读 · 0 评论 -
linux下bluetooth编程(七)SDP协议
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。这个协议定转载 2015-11-26 17:51:51 · 2480 阅读 · 0 评论 -
蓝牙核心技术概述(五):蓝牙协议规范(irOBEX、BNEP、AVDTP、AVCTP)
一、IrDA互操作协议IrOBEX 红外对象交互协议,简称OBEX,使高层协议同时运作在蓝牙和红外的无线链路之上。主要操作指令有:连接操作、断开操作、Put操作、Get操作。1、连接操作 ,操作码0x80字节0字节1、2字节3字节4字节5、6字节7~n0x80转载 2015-12-10 15:15:21 · 1680 阅读 · 0 评论 -
蓝牙编程-l2cap协议层的c/s程序
昨天晚上完成了使用BlueZ协议栈中的lib实现rfcomm层连接的程序,并且移植到了arm-linux上运行通过.程序实现了客户端发送字符串在服务端控制台显示.但是在输入大量的字符时会出现没有响应的情况.看了下书估计和socket中的MTU(Max Transportion Unit)有关系,但也没有继续去试验了,应为在我的应用中一般不会直接使用rfcomm作为连接协议,而是使用l2cap协议.转载 2015-12-10 16:46:17 · 3246 阅读 · 0 评论 -
蓝牙核心技术概述(四):蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)
一、主机控制接口协议 HCI蓝牙主机-主机控模型蓝牙软件协议栈堆的数据传输过程:1、蓝牙控制器接口数据分组:指令分组、事件分组、数据分组(1)、指令分组如:Accpet Connection RequestOpcode为:0x0409参数长度为: 07 参数中蓝牙地址为:00:0d:fd:5f:16:9f角色为:从设备 0x0转载 2015-12-10 15:13:12 · 2381 阅读 · 0 评论 -
Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信例子_Android支持蓝牙4.0版本_BLE开发
[+]一、Android Bluetooth现状在android官网可以了解到android4.2新增了部分新功能,但是对于BT熟悉的人或许开始头疼了,那就是Android4.2引入了一个新的蓝牙协议栈针。谷歌和Broadcom之间的合作,开发新的蓝牙协议栈,取代了基于堆栈的Bluez。因此市场上出现了老设备的兼容问题,很多蓝牙设备在android4.2手机上不转载 2015-10-17 16:17:39 · 5120 阅读 · 0 评论 -
蓝牙协议的命令和事件
命令下表列出蓝牙协议中从L2CAP到物理层的命令和事件映射。希望这个列表可以帮助你分析蓝牙协议中从协议高层发给较低层次的控制命令和消息命令。我们还会通过讲解一个示例来具体地说明协议高层收到连接请求时的情况。L2CAPHCILMP/BASEBAND连接和不连接L2CAP_ConnectReqL2CAP_C转载 2015-10-19 17:39:09 · 3362 阅读 · 0 评论 -
蓝牙协议中HCI层的研究与开发
一、HCI在蓝牙软件协议模型位置的分析蓝牙系统的协议模型如图1所示。从图中可以看出,HCI是位于蓝牙系统的L2CAP(逻辑链路控制与适配协议)层和LMP(链路管理协议)层之间的一层协议。HCI为上层协议提供了进入LM的统一接口和进入基带的统一方式。在HCI的主机(Host)和HCI主机控制器(Host Controller)之间会存在若干传输层,这些传输层是透明的,只需完成传输转载 2015-10-19 17:43:06 · 3136 阅读 · 0 评论 -
bluetooth基础知识
蓝牙技术是一项新兴的技术。它的主要目的就是要在全世界范围内建立一个短距离的无线通信标准。它使用 2.4-2.5 GHz的 ISM(Industrion ScientifcMedical ) 频段来传送话音和数据。运用成熟、实用、先进的无线技术来代替电缆,它提供了低成本,低功耗的无线接口,使所有的固定和移动设备诸如:计算机系统、家庭影院系统、无绳电话系统、通信设备等,通过微微网(PAN, Perso转载 2015-10-19 17:47:08 · 3917 阅读 · 0 评论 -
BlueTooth: 蓝牙协议栈实现模式分析
蓝牙技术是一项新兴的技术。它的主要目的就是要在全世界范围内建立一个短距离的无线通信标准 。它使用 2.4-2.5 GHz 的 ISM( Industrion Scientifc Medical ) 频段来传送话音和数据。运用成熟、实用、先进的无线技术来代替电缆,它提供了低成本,低功耗的线接口,使所有的固定和移动设备诸如:计算机系统、家庭影院系统、无绳电话系统、通信设备等,通过微微网(PAN,Per转载 2015-12-10 16:51:24 · 4419 阅读 · 0 评论 -
蓝牙核心技术概述(一):蓝牙概述
下载连接:Bluetooth PROFILE SPECIFICATIONS (基本涵盖所有蓝牙协议)、buletooth core 2.1-4.0 SPECIFICATION(三蓝牙版本的核心协议v2.1\v3.0\v4.0)、蓝牙核心技术与应用 马建仓 版(蓝牙协议相关初学者必读,开发者参考)一、名称由来蓝牙这个名称来自于第十世纪的一位丹麦国王哈拉尔蓝牙王,哈拉尔转载 2015-12-10 15:05:07 · 1268 阅读 · 0 评论 -
蓝牙核心技术概述(二):蓝牙使用场景
蓝牙应用的过程中,不同的场合、功能及相关协议。这篇将做详细的介绍说明。1、ADVANCED AUDIO DISTRIBUTION PROFILE高级音频分发配置文件A2DP描述了立体声音频如何从媒体输出(source)传输至输入(sink)。使用情景: 简单说来,这是一个蓝牙音乐播放器(如MP3播放器、随身听、立体声等)音频输出是音乐播放器,而音转载 2015-12-10 15:07:41 · 2862 阅读 · 0 评论 -
蓝牙核心技术概述(三): 蓝牙协议规范(射频、基带链路控制、链路管理)
蓝牙协议是蓝牙设备间交换信息所应该遵守的规则。与开放系统互联(OSI)模型一样,蓝牙技术的协议体系也采用了分层结构,从底层到高层形成了蓝牙协议栈,各层协议定义了所完成的功能和使用数据分组格式,以保证蓝牙产品间的互操作性。一、射频协议射频位置如上图红色部分。1、工作频率蓝牙工作在2.4GHz ISM频段上,蓝牙采用跳频扩谱技术主动的避免工作频段受干扰(微波炉的工作频率也是2.4GHz转载 2015-12-10 15:11:47 · 1361 阅读 · 0 评论 -
linux下bluetooth编程(八)SDP层编程
BlueZ提供的SDP API,常见的如下: 1.sdp_session_t *sdp_create(int sk, uint32_t flags)参数1:sk: socket参数2:SDP flags. 取值如下:#define SDP_RETRY_IF_BUSY 0x01#define SDP_WAIT_ON_CLOSE 0x02#def转载 2015-11-26 17:54:27 · 2294 阅读 · 0 评论