Android蓝牙开发入门:RFCOMM协议和MAC硬件地址
需积分: 0 128 浏览量
更新于2024-07-26
收藏 397KB DOC 举报
Android 蓝牙开发
Android 蓝牙开发学习之前,需要了解两个基本概念:RFCOMM 协议和 MAC 硬件地址。
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 硬件地址是烧录在 Network Interface Card(网卡,NIC)里的。MAC 地址,也叫硬件地址,是由 48 比特长(6 字节),16 进制的数字组成。0-23 位叫做组织唯一标志符(organizationally unique,是识别 LAN(局域网)节点的标识。24-47 位是由厂家自己分配。其中第 40 位是组播地址标志位。网卡的物理地址通常是由网卡生产厂家烧入网卡的 EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
在 Android 平台上,蓝牙 API 提供了蓝牙设备之间的通信,包括了四个步骤:设置蓝牙设备、寻找局域网内可能或者匹配的设备、连接设备和设备之间的数据传输。以下是建立蓝牙连接的一些基本类:
* BluetoothAdapter 类:代表了一个本地的蓝牙适配器。它是所有蓝牙交互的入口点。利用它你可以发现其他蓝牙设备,查询绑定了的设备,使用已知的 MAC 地址实例化一个蓝牙设备和建立一个蓝牙连接。
Android 蓝牙开发中,蓝牙 API 提供了多种方式来实现蓝牙设备之间的通信,包括蓝牙设备的扫描、蓝牙设备的连接、蓝牙设备的数据传输等。蓝牙 API 还提供了蓝牙设备的状态监控、蓝牙设备的电源管理等功能。
在 Android 平台上,蓝牙设备的扫描可以通过 BluetoothAdapter 类的 startDiscovery() 方法来实现。蓝牙设备的连接可以通过 BluetoothDevice 类的 connect() 方法来实现。蓝牙设备的数据传输可以通过 BluetoothSocket 类来实现。
Android 蓝牙开发中,还需要注意蓝牙设备的电源管理。蓝牙设备的电源管理可以通过 BluetoothAdapter 类的 disable() 方法和 enable() 方法来实现。蓝牙设备的电源管理还可以通过 Android 系统的电源管理机制来实现。
Android 蓝牙开发需要了解 RFCOMM 协议和 MAC 硬件地址这两个基本概念,并且需要熟悉 Android 蓝牙 API 的使用。 Android 蓝牙 API 提供了多种方式来实现蓝牙设备之间的通信,并且提供了蓝牙设备的状态监控、蓝牙设备的电源管理等功能。
2021-09-27 上传
204 浏览量
2021-03-06 上传
2013-11-27 上传
2012-06-16 上传
118 浏览量
2015-10-15 上传
2023-09-18 上传
ybc_1
- 粉丝: 0
- 资源: 6
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常