linux 蓝牙编程 bluez 收藏 从别的地方转了一篇蓝牙编程的,感觉比较详细,接下来自己慢慢验证一下。 实战Linux Bluetooth 编程 实战Linux Bluetooth 编程(一) 协议栈概述 前言:随着嵌入式系统的飞速发展,很多嵌入式平台上需要Bluetooth 设备和应用。但在Linux下如何对 Bluetooth 编程,一直没有一份很好的中文文档。Sam 结合自己的工作,一步一步将一些有用的东西记录下来 ,希望对其它Linux 下Bluetooth 编程的朋友有点帮助。 一:Bluetooth 基本概念: Bluetooth 是爱立信、诺基亚、东芝、IBM 和Intel 5 家公司在1998 年联合推出的一项无线网络技术。其宗旨 是提供一种短距离、低成本的无线传输应用技术。在行业协会筹备阶段,需要一个极具有表现力的名字来命 名这项高新技术。行业组织人员,在经过一夜关于欧洲历史和未来无限技术发展的讨论后,有些人认为用 Blatand 国王的名字命名再合适不过了。Blatand 国王将现在的挪威,瑞典和丹麦统一起来;就如同这项即将 面世的技术,将标准不一的短距离无线传输技术统一起来。 Intel 负责半导体芯片和传输软件的开发,爱立信负责无线射频和移动电话软件的开发,IBM和东芝负责笔记 本电脑接口规格的开发。 蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备、计算机及其终端设备、各种数字数据系统、 甚至家用电器采用无线方式联接起来。它的传输距离为 10cm~10m,如果增加功率或是加上某些外设便可达 到 100m 的传输距离。它采用2.4GHz ISM 频段和调频、跳频技术,使用权向纠错编码、ARQ、TDD 和基带协议。 TDMA 每时隙为0.625μs,基带符合速率为1Mb/s。蓝牙支持 64kb/s 实时语音传输和数据传输,语音编码为 CVSD,发射功率分别为1mW、2.5mW 和 100mW,并使用全球统一的 48 比特的设备识别码。由于蓝牙采用无线接 口来代替有线电缆连接,具有很强的移植性,并且适用于多种场合,加上该技术功耗低、对人体危害小,而 且应用简单、容易实现,所以易于推广。 蓝牙技术的系统结构分为三大部分:底层硬件模块、中间协议层和高层应用。底层硬件部分包括无线跳频( RF)、基带(BB)和链路管理(LM)。无线跳频层通过 2.4GHz 无需授权的 ISM 频段的微波,实现数据位流的 过滤和传输,本层协议主要定义了蓝牙收发器在此频带正常工作所需要满足的条件。基带负责跳频以及蓝牙 数据和信息帧的传输。链路管理负责连接、建立和拆除链...