Android蓝牙开发小结(转)
学习之前先了解两个基本概念:
一、RFCOMM协议:
一个基于欧洲电信标准协会ETSI07.10规程的串行线性仿真协议。此协议提供RS232控制和状态信号,如基带上的损坏,CTS以及数据信号等,为上层业务(如传统的串行线缆应用)提供了传送能力。
RFCOMM是一个简单传输协议,其目的是针对如何在两个不同设备上的应用之间保证一条完整的通信路径,并在它们之间保持一通信段。
RFCOMM是为了兼容传统的串口应用,同时取代有线的通信方式,蓝牙协议栈需要提供与有线串口一致的通信接口而开发出的协议。RFCOMM协议提供对基于L2CAP协议的串口仿真,基于ETSI07.10。可支持在两个BT设备之间同时保持高达60路的通信连接。
RFCOMM只针对直接互连设备之间的连接,或者是设备与网络接入设备之间的互连。通信两端设备必须兼容于RFCOMM协议,有两类设备:DTE (Data Terminal Endpoint,通信终端,如PC,PRINTER)和DCE (Data Circuit Endpoint,通信段的一部分,如Modem)。此两类设备不作区分。
二、MAC硬件地址
MAC(Medium/MediaAccess Control, 介质访问控制)MAC地址是烧录在
NetworkInterfaceCard(网卡,NIC)里的.MAC地址,也叫硬件地址,是由48比特长(6字节),16进制的数字组成.0-23位叫做组织唯一标志符(organizationally unique,是识别LAN(局域网)节点的标识.24-47位是由厂家自己分配。其中第40位是组播地址标志位。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
Android平台提供的蓝牙API去实现蓝牙设备之间的通信,蓝牙设备之间的通信主要包括了四个步骤:设置蓝牙设备、寻找局域网内可能或者匹配的设备、连接设备和设备之间的数据传输。以下是建立蓝牙连接的所需要的一些基本类:
BluetoothAdapter类:代表了一个本地的蓝牙适配器。它是所有蓝牙交互的的入口点。利用它你可以发现其他蓝牙设备,查询绑定了的设备,使用已知的MAC地址实例化一个蓝牙设备和建立一个BluetoothServerSocket(作为服务器端)来监听来自其他设备的连接。
BluetoothDevice类:代表了一个远端的蓝牙设备,使用它请求远端蓝牙设备连接或者获取远端蓝牙设备的名称、地址、种类和绑定状态。(其信息是封装在bluetoothsocket中)。
Bluetoothsocket类:代表了一个蓝牙套接字的接口(类似于tcp中的套接字),它是应用程序通过输入、输出流与其他蓝牙设备通信的连接点。
Blueboothserversocket类:代表打开服务连接来监听可能到来的连接请求(属于server端),为了连接两个蓝牙设备必须有一个设备作为服务器打开一个服务套接字。当远端设备发起连接连接请求的时候,并且已经连接到了的时候,Blueboothserversocket类将会返回一个bluetoothsocket。
Bluetoothclass类:描述了一个蓝牙设备的一般特点和能力。它的只读属性集定义了设备的主、次设备类和一些相关服务。然而,它并没有准确地描述所有该设备所支持的蓝牙文件和服务,而是作为对设备种类来说的一个小小暗示。
你可能喜欢
- 蓝牙标准
- 蓝牙简介
- 蓝牙技术应用
- 蓝牙应用
- android蓝牙
- Android程序开发
- Android开发教程
- Java笔记
- 蓝牙标准4页
- 蓝牙标准2页
- 蓝牙耳机判定标准3页
- 蓝牙规范的标准数据包4页
- 移动支付2.4 GHz频段Zigaee、蓝牙及WiFi三标准比较5页
- 蓝牙技术新标准 Bluetooth 2.1+EDR标准解读1页
- 蓝牙技术的应用及发展前景3页
- 基于HCI协议层的蓝牙技术应用开发5页
- 蓝牙技术原理及应用5页
- 蓝牙技术和应用3页
- 应用蓝牙技术组建无线局域网118页
- 蓝牙技术及其主要应用研究2页
- 蓝牙技术的应用及发展前景3页
- 蓝牙技术和应用3页
- 蓝牙应用9页
- 什么是头戴式蓝牙耳机技术应用在音响这个领域的拦路虎2页
- 蓝牙技术的应用21页
- 2009年蓝牙技术应用与发展的前景2页
- android蓝牙通信3页
- android_蓝牙开发指南10页
- android蓝牙开发简介12页
- 基于android的蓝牙信息传输系统的设计与实现7页
- android 蓝牙开发3页
- android蓝牙接收平台2页
- Android程序开发初级教程221页
- Android程序开发:选择效率,还是选择质量2页
- 基于Flex与Android手机应用程序开发比较研究12页
- Windows下Android应用程序开发环境的搭建3页
- 用IntelliJ IDEA开发Android程序15页
- Android程序开发技巧速查6页
- Android软件开发初级教程11页
- Android开发教程&笔记(从零基础到快速开发)16页
- Android开发环境搭建教程(图文)5页
- Android 3D 游戏开发教程39页
- 怎样在eclipse下搭建Android开发环境教程19页
- Android开发之OpenGL+ES教程145页
- Java学习笔记26页
- Java工作笔记(必看经典)30页
- Java学习笔记8页
- Java基础学习笔记整理42页
- Java反射学习笔记整理16页
- 简明Java笔记29页


