android 蓝牙开发指南, RFCOMM协议 一个基于欧洲电信标准协会ETSI07.10规程的串行线性仿真协议。此协议提供RS232 控制和状态信号,如基带上的损坏,CTS以及数据信号等,为上层业务(如传统的串行线缆 应用)提供了传送能力。 RFCOMM是一个简单传输协议,其目的是针对如何在两个不同设备上的应用之间保证一 条完整的通信路径,并在它们之间保持一通信段。 。。。。。。。。。。。。。。。 ### Android蓝牙开发技术详解——基于RFCOMM协议的串口通信 #### 一、RFCOMM通道概述 ##### 1. RFCOMM协议定义 RFCOMM协议是一种基于欧洲电信标准协会(ETSI) 07.10规程的串行线路仿真协议。该协议的主要目标是提供与传统串行线路应用兼容的通信能力,特别是对于那些依赖于RS232控制和状态信号的应用。这些信号包括但不限于基带上的损坏、CTS(清除发送)以及其他数据信号,从而确保上层业务能够正常运行。 ##### 2. 协议特点 - **简单传输协议**:RFCOMM是一种简单传输协议,旨在确保两个不同设备上的应用程序之间有一条完整的通信路径,并维持这段通信连接。 - **仿真RS232**:RFCOMM通过模拟RS232串行接口,提供了一种替代有线通信的方式。这使得传统的串行线缆应用可以在无线环境中运行。 - **多连接支持**:RFCOMM支持在同一时间维持高达60个通信连接,这对于需要同时处理多个串行通信任务的应用非常有用。 ##### 3. 通信段 RFCOMM协议的目的是确保两个通信设备之间的完整通信路径。这种通信路径通常包括以下组件: - **通信设备两端**:通常包括Data Terminal Endpoint (DTE) 和 Data Circuit Endpoint (DCE)。DTE通常是最终用户设备,如计算机或打印机;DCE则是通信链路的一部分,如调制解调器。 - **仿真RS-232通路**:RFCOMM通过仿真RS-232串行接口,使两个设备能够像通过有线串行线路那样进行通信。 #### 二、MAC硬件地址理解 MAC地址是介质访问控制地址,是网卡的物理地址,由48比特长的16进制数字组成。前24位是组织唯一标志符(OUI),用于唯一标识厂商;后24位由制造商自己分配。 - **唯一性**:MAC地址在全球范围内是唯一的,如同人的身份证号,用来唯一标识网络中的每一台设备。 - **生产与分配**:制造商购买IEEE分配的一组MAC地址范围,并在其生产的每个网卡上分配一个唯一的MAC地址。 #### 三、Android蓝牙开发步骤 ##### 1. Setting Up Bluetooth - **初始化**:首先通过`BluetoothAdapter`获取本地蓝牙适配器的状态和功能。 - **连接意图**:发送蓝牙连接意图,以便在活动生命周期中处理蓝牙连接。 ##### 2. Finding Devices - **发现设备**:使用`BluetoothAdapter`发现附近可用的蓝牙设备。 - **配对**:对发现的设备进行配对操作。 ##### 3. Connecting to Devices - **服务器端与客户端**:可以将一个蓝牙设备设置为服务器端,另一个设置为客户端,通过创建一个连接管理类来管理这两个设备之间的通信。 - **类实现**:使用`BluetoothAdapter`, `BluetoothDevice`, `BluetoothSocket` 和 `BluetoothServerSocket` 类来实现蓝牙连接和数据传输。 #### 四、Android平台蓝牙编程 Android平台提供了丰富的API来支持蓝牙通信,主要包括以下几个步骤: - **设置蓝牙设备**:初始化蓝牙适配器并检查蓝牙是否可用。 - **寻找设备**:使用`BluetoothAdapter`来扫描附近的蓝牙设备。 - **连接设备**:通过`BluetoothDevice`对象建立到远程设备的连接。 - **数据传输**:通过`BluetoothSocket`实现与远程设备的数据交换。 通过以上步骤,开发者可以轻松地在Android平台上实现蓝牙通信功能,无论是简单的数据交换还是复杂的设备间通信场景。
剩余9页未读,继续阅读
- oayzw2012-06-30学术性质,无法指导开发
- 喝喝茶2013-07-08技术文档,对实际开发无多少参考价值。
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip