要学习蓝牙先认识
一RFCOMM通道:
RFCOMM协议
一个基于欧洲电信标准协会ETSI07.10规程的串行线性仿真协议。此协议提供RS232控制和状态信号,如基带上的损坏,CTS以及数据信号等,为上层业务(如传统的串行线缆应用)提供了传送能力。
RFCOMM是一个简单传输协议,其目的是针对如何在两个不同设备上的应用之间保证一条完整的通信路径,并在它们之间保持一通信段。
RFCOMM协议概述
RFCOMM通信段
RFCOMM是为了兼容传统的串口应用,同时取代有线的通信方式,蓝牙协议栈需要提供与有线串口一致的通信接口而开发出的协议。RFCOMM协议提供对基于L2CAP协议的串口仿真,基于ETSI07.10。可支持在两个BT设备之间同时保持高达60路的通信连接。
目的:
在两个不同设备(通信设备的两端)上的应用之间保证一条完整的通信路径,并在他们之间保持一通信段。下图是一条完整的通信路径。
RFCOMM只针对直接互连设备之间的连接,或者是设备与网络接入设备之间的互连。通信两端设备必须兼容于RFCOMM协议,有两类设备:DTE (Data Terminal Endpoint,通信终端,如PC,PRINTER)和DCE (Data Circuit Endpoint,通信段的一部分,如Modem)。此两类设备不作区分。
RFCOMM服务
RFCOMM仿真RS232串口,仿真过程包括非数据通路状态的传输,RFCOMM内置空Modem仿真标准框架。
RFCOMM中的仿真RS-232通路
多串口仿真
两个采用RFCOMM通信的BT设备有可能同时打开多个串口,RFCOMM支持同时打开60个端口。
认识二:MAC硬件地址
MAC(Medium/MediaAccess Control, 介质访问控制)MAC地址是烧录在NetworkInterfaceCard(网卡,NIC)里的.MAC地址,也叫硬件地址,是由48比特长(6字节),16进制的数字组成.0-23位叫做组织唯一标志符(organizationally unique,是识别LAN(局域网)节点的标识.24-47位是由厂家自己分配。其中第40位是组播地址标志位。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(除了管这个外还管别的)(IEEE)(IEEE:电气和电子工程师协会)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。
形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。
步骤一:Setting Up Bluetooth
通过BluetoothAdapter得到蓝牙的Activity
发送蓝牙连接意图
通过e onActivityResult()得到蓝牙连接意图
步骤二: Finding Devices
通过得到开启蓝牙用户名和MAC地址
配对蓝牙
步骤三:连接蓝牙
就像java的聊天系统一样用一个蓝牙手机当服务器,一个当客户端,在用一个类当做连接的管理类就行了
分享到:
相关推荐
这个"android蓝牙学习"项目显然是为了帮助开发者了解如何在Android应用程序中集成蓝牙功能。下面,我们将深入探讨Android蓝牙的相关知识点。 首先,我们要理解Android Bluetooth API的基本概念。Android提供了`...
总的来说,Android蓝牙学习涵盖了从基础概念到实际编程的多个方面。通过实践,你可以掌握蓝牙设备的搜索、连接、数据传输等核心技能,为开发蓝牙相关应用打下坚实基础。在本资料中,你可以找到更多具体示例和代码,...
这份"android蓝牙源码及学习相关资源"压缩包包含了开发者进行蓝牙编程所需的关键资料,帮助你深入理解和掌握Android蓝牙技术。 首先,我们来探讨一下Android蓝牙的基础知识。Android系统支持两种蓝牙通信方式:经典...
开发者可以通过查看和运行这个示例来深入理解和学习Android蓝牙打印的整个流程。 总之,Android蓝牙开发需要理解蓝牙API、设备连接、数据传输和权限管理等概念,而蓝牙连打印机则涉及到特定的打印机协议和指令集。...
这个"Android蓝牙连接设备demo"是一个学习和实践BLE通信的宝贵资源,它涵盖了从设备扫描、连接到数据传输的所有基本步骤,同时展示了如何处理多设备连接的挑战。开发者可以根据这个示例,结合自己的需求,构建出满足...
在Android平台上,蓝牙...总之,Android蓝牙SPP传输Demo是学习和理解如何在Android应用中实现蓝牙通信的一个重要实践案例,通过这个Demo,开发者可以掌握蓝牙连接、数据交换的基本流程,并将其应用于自己的项目中。
这个"android蓝牙聊天源代码"项目对于初学者来说是一个很好的学习资源,通过它,你可以深入理解Android蓝牙通信的各个环节,并能够动手实现一个完整的蓝牙聊天应用。实际开发时,可以在此基础上进行扩展,比如添加...
"android蓝牙间传输demo"是一个示例项目,它展示了如何在Android设备之间通过蓝牙进行数据交换。这个项目的重点在于理解和实现Android Bluetooth API,这将涵盖蓝牙的配对、连接、数据发送与接收等关键步骤。 首先...
在Android平台上进行蓝牙开发是一项常见的任务,特别是在物联网(IoT)和设备通信中。这个"android开发-Android蓝牙开发入门demo.zip"文件很...这个入门示例应该会涵盖这些基础内容,是学习Android蓝牙开发的良好起点。
本文将深入探讨Android蓝牙HID协议开发的相关知识点,并提供实现手机连接蓝牙外设的基础步骤。 首先,理解蓝牙HID协议至关重要。蓝牙HID是Bluetooth SIG(蓝牙特别兴趣小组)定义的一种标准,主要用于无线连接输入...
这个Demo项目是学习和理解Android蓝牙功能的好起点,开发者可以在此基础上进行功能扩展,如支持BLE设备、处理多设备连接,或者优化通信性能等。通过深入研究源代码,可以更好地掌握Android Bluetooth API的使用方法...
总的来说,"android studio 蓝牙开发demo"涵盖了Android Bluetooth LE开发的基本流程,从设备搜索、连接、服务发现到数据交换,是学习和实践Android蓝牙编程的好素材。通过学习这个示例,开发者可以构建自己的蓝牙...
通过对该项目源码的分析和学习,开发者可以更深入地理解和掌握Android蓝牙的使用。 总之,理解Android平台上的蓝牙4.0和蓝牙2.0技术,包括它们的工作原理、API的使用以及实际开发中的注意事项,对于开发涉及蓝牙...
通过阅读和理解这个项目中的源码,开发者可以深入学习Android蓝牙通信的实现,并将其应用于自己的物联网项目中。对于希望扩展或定制蓝牙功能的Android开发者来说,这是一个宝贵的资源。同时,通过`README.md`文件,...
本文将深入探讨如何在Android中实现蓝牙通信,基于提供的"android蓝牙通信实例",我们将详细解析这一过程。 首先,我们要了解Android蓝牙通信的基础。Android支持两种蓝牙模式:经典蓝牙(Classic Bluetooth)和低...
要学习此书籍,必须知道通信协议基础知识,如OSI七层协议/信道/协议,当然看不懂的部分可以到网上查询。通过此文档可以从仅了解通信基础知识的小白提升到对蓝牙技术有一定了解的半专业人士。
通过这个“Basic4Android蓝牙例程”,你可以学习如何使用B4A构建蓝牙应用,包括设备发现、连接建立、数据传输等核心功能。实践中,你可以结合示例代码,逐步调试和理解每个部分的作用,从而提升你在B4A蓝牙编程方面...
本项目"android蓝牙鼠标软件源码"提供了完整的源代码,帮助开发者深入理解如何构建这样的应用,同时也是一个学习和实践Android蓝牙编程的好材料。 首先,我们需要了解Android蓝牙API。Android系统提供了...
总结起来,Android蓝牙打印涉及PDF文档的生成与编辑,以及通过蓝牙进行数据传输。通过使用如iText的库生成PDF,结合Android的蓝牙API连接和通信,可以实现从Android设备直接发送PDF到蓝牙打印机进行打印。在实际项目...