深入了解Android蓝牙Bluetooth【基础+进阶】

这篇具有很好参考价值的文章主要介绍了深入了解Android蓝牙Bluetooth【基础+进阶】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基础篇

什么是蓝牙?

也可以说是蓝牙技术。所谓蓝牙(Bluetooth)技术,实际上是一种短距离无线电技术,是由爱立信公司公司发明的。利用“蓝牙”技术,能够有效地简化掌上电脑、笔记本电脑和移动电话手机等移动通信终端设备之间的通信,也能够成功地简化以上这些设备与因特网Internet之间的通信,从而使这些现代通信设备与因特网之间的数据传输变得更加迅速高效,为[无线通信拓宽道路。

蓝牙版本的介绍

蓝牙发展至今经历了8个版本的更新。1.1、1.2、2.0、2.1、3.0、4.0、4.1、4.2、5.0。当然5.0的蓝牙模块目前Google虽已发布,但是市场上还未见到5.0的蓝牙设备。那么我们就尽请期待5.0蓝牙设备的到来!

那么在1.x~3.0之间的我们称之为传统蓝牙,4.x开始的蓝牙我们称之为低功耗蓝牙也就是蓝牙ble,当然4.x版本的蓝牙也是向下兼容的。android手机必须系统版本4.3及以上才支持BLE API。

蓝牙2.0标准:

  • 蓝牙2.0标准2.0 是 1.2 的改良提升版,传输率约在
    1.8M/s~2.1M/s,
  • 开始支持双工模式——即一面作语音通讯,同时亦可以传输档案/高质素图片
  • 2.0 版本当然也支持 Stereo 运作。
  • 应用最为广泛的是Bluetooth 2.0+EDR标准,该标准在2004年已经推出,支持Bluetooth 2.0+EDR标准的产品也于2006年大量出现。
  • 虽然Bluetooth 2.0+EDR标准在技术上作了大量的改进,但从1.X标准延续下来的配置流程复杂和设备功耗较大的问题依然存在。
优点:
  • 数据量可以大一些、手机不需要蓝牙4.0
缺点:
  • 需要MFI认证,认证后可以购买苹果指定的解密芯片,方可使用蓝牙传输数据。MFI认证约9.9万美元/款产品,认证周期约半年。
  • 蓝牙2.1+MFI认证芯片,可以支持苹果iPhone4、iPhone4S、iPhone5等具有蓝牙2.1以上功能的苹果IOS设备

蓝牙V2.1+EDR:

相比于2.0版本速度要更快,2.1+EDR 版本的理论传输速率能达到2.1Mbps。并且加入了“Sniff Subrating”技术。这个技术是透过设定在2个装置之间互相确认讯号的发送间隔来节省功耗。对于需要持续传输数据流的硬件设备而言,比如键盘、鼠标等,该技术可以将电池续航能力延长最多5倍。

蓝牙3.0标准:

  • 2009年4月21日,蓝牙技术联盟(Bluetooth SIG)正式颁布了新一代标准规范”Bluetooth Core Specification Version 3.0 High Speed”(蓝牙核心规范3.0版 )
  • 蓝牙3.0的核心是”Generic Alternate MAC/PHY”(AMP),这是一种全新的交替射频技术,允许蓝牙协议栈针对任一任务动态地选择正确射频。
  • 蓝牙3.0的数据传输率提高到了大约24Mbps(即可在需要的时候调用802.11 WI-FI用于实现高速数据传输)。
  • 在传输速度上,蓝牙3.0是蓝牙2.0的八倍,可以轻松用于录像机至高清电视、PC至PMP、UMPC至打印机之间的资料传输,但是需要双方都达到此标准才能实现功能。
优点
  • 在应用方面相比于V2.1+EDR版本,V3.0的数据传输速率理论已达24Mbps,可以用于高清电视、笔记本电脑、平板电脑和打印机之间的资料传输,
  • 同时相对于2.1+EDR,3.0又引入了增强电源控制机制,使空闲时功耗明显降低。

蓝牙4.0标准:

  • 蓝牙4.0规范于2010年7月7日正式发布,新版本的最大意义在于低功耗
  • 同时加强不同OEM厂商之间的设备兼容性,并且降低延迟,理论最高传输速度依然为24Mbps(即3MB/s),有效覆盖范围扩大到100米(之前的版本为10米)。
  • 该标准芯片被大量的手机、平板所采用,如苹果The New iPad平板电脑,以及苹果iPhone 5、魅族MX4、HTC One X等手机上带有蓝牙4.0功能。
优点:
  • 不需做苹果解密芯片,不需MFI苹果认证。
缺点:
  • 数据量不能太大、手机必须是蓝牙4.0的;(蓝牙4.0可以支持苹果
  • iPhone4S、iPhone5等具有蓝牙4.0功能的苹果IOS设备)
优点主要体现在:
  • 1、它拥有高出3.0蓝牙版本30%以上的续航时间。即是在同等电量下,当蓝牙3.0版本的用电量已经到达100%时,杰克的用电仅70%,甚至不到。
  • 2、高出3.0蓝牙版本4倍以上的降噪技术。其CVC6.0消噪技术,比3.0版本的CVC4.0消噪技术更上一层楼,更深度的降噪,让你的每一次通话、每一首歌曲都可以近在咫尺。
  • 3、4.0以上版本的真智能—80HZCPU,高出3.0蓝牙版本5倍以上的无线传输速率。更为快捷的传输速度,让你无论听歌、通话,或者是游戏都可以拥有更加顺畅的体验。
  • 目前4.0的蓝牙最好,传输率最大,距离也较远,待机时间最长,节约电池。
兼容性:

蓝牙4.0有几种模式,如果是蓝牙4.0低功耗模式单模的设备(常称为BLE模式),是不向下兼容的。

现在主流 4.0BLE蓝牙

BLE(4.x)低功耗蓝牙
    1. 低功耗蓝牙比传统蓝牙,传输速度更快,覆盖范围更广,安全性更高,延迟更短,耗电极低等等优点
    1. 传统的一般通过socket方式,而低功耗蓝牙是通过Gatt协议来实现。
  • ps: 若是之前没做过传统蓝牙开发,也是可以直接上手低功耗蓝牙开发的。因为它们在通信协议上都有所改变,关联不大。当然有兴趣的可以去下载些传统蓝牙开发的demo看看

现在我们所处在一个蓝牙4.x的时代。在此之前如我们经常使用的蓝牙耳机就已经跨越了好多的版本 蓝牙耳机有v1.1 v1.2 v2.0 v2.1…等诸多版本,究竟有什么样的优势呢?当然是版本越高信号越好,2.0以上支持蓝牙立体声。

那么我们现在所处的4.x的设备大多是属于主从模式的。

什么是主从模式

一个主设备比如手机,一个从设备(这里也成为子设备或从机)主动搜索从机 可以发送 也可以接收, 从机也可以发送和接收 但只能被搜索
主动搜索从机 可以发送 也可以接收 从机也可以发送和接收 但只能被搜索。

常见的蓝牙模块BLE工作模式

对于BLE单设备来讲常见的蓝牙模块的工作模有四种:

  • 主设备模式
  • 从设备模式
  • 广播模式
  • Mesh组网模式

那么这四个模式分别是什么样的情况呢,那么我们继续开车

1. 主设备模式

USR-BLE100支持主设备模式,可以与一个从设备进行连接。在此模式下可以对周围设备进行搜索并选择需要连接的从设备进行连接。同时可以设置默认连接从设备的MAC地址,这样模块上电之后就可以查找此模块并进行连接。并且支持白名单功能,用户只需要把需要连接的设备的MAC写入白名单中,模块搜索到符合白名单的设备时进行连接。

用户不需要关注串口数据与无线数据包之间的数据转换过程,只需通过简单的参数设置,即可实现主设备串口与从设备串口之间的数据透明通信。

主机连接从设备可以分为3种方式:

第一种采用搜索的方式,使用前需要设置如下参数:
  • (1)设置工作模式为主设备模式 AT+MODE=M

  • (2)开启搜索模式 AT+SCAN

  • (3)如果搜索到从设备,如果序号是1,可以使用快速连接命令进行连接。 AT+CONN=1

  • (4)完成设置后,等待指示灯常亮即可代表连接成功,此时两个串口可以进行数据的透明传输。

    第二种方式

    如果你知道要连接的从设备的MAC地址也可以采用下面的方式进行连接:

  • (1)使用 MAC 绑定AT指令设置模块上电默认连接从设备MAC地址 AT+CONNADD=FFFFFFFFFF11

  • (2)设置完成之后使用重启指令重启模块,模块重启之后连接设置的从设备的地址。
    AT+Z

    2. 从设备模式

    BLE支持从设备模式,在此模式下完全符合BLE4.1协议,用户可以根据协议自己开发APP。此模式下包含一个串口收发的Service,用户可以通过UUID找到它,里面有两个通道,分别是读和写。用户可以操作这两个通道进行数据的传输。

    如果用户使用USR-BLE100的主设备与该从设备相连接,那么就无需关注里面的协议,两个设备的串口直接就可以进行数据的透明传输,为用户建立一个简单的无线传输通道。

    在此模式下,用户需要将模块的工作模式设置为从设备模式。用户如果自己开发APP需要我们模块的UUID进行连接,UUID为:0x31,0x01,0x9b,0x5f,0x80,0x00,0x00,0x80,0x00,0x10,0x00,0x00,0xd0,0xcd,0x03,0x00我们提供连接的示例程序。

    • (1)设置模块工作模式为从设备,指令为 AT+MODE=S
    • (2)用户可以通过下面指令查询模块的连接情况 AT+LINK
    • (3)用户也可以使用下面指令将现在连接断开 AT+DISCONN
    • (4)用户如果不想模块被发现和连接,可以使用下面指令关闭广播数据 AT+ADP=OFF

3. 广播模式

比如说USR-BLE100支持广播模式,在这种模式下模块可以一对多进行广播。用户可以通过AT指令设置模块广播的数据,模块可以在低功耗的模式下持续的进行广播&#文章来源地址https://www.toymoban.com/news/detail-450031.html

到了这里,关于深入了解Android蓝牙Bluetooth【基础+进阶】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android Bluetooth(一)——蓝牙的开启和搜索

    Android 平台包含蓝牙网络堆栈支持,此支持能让设备以无线方式与其他蓝牙设备交换数据。应用框架提供通过 Android Bluetooth API 访问蓝牙功能的权限。这些 API 允许应用以无线方式连接到其他蓝牙设备,从而实现点到点和多点无线功能。 Android 应用可通过 Bluetooth API 执行以下操

    2024年01月16日
    浏览(34)
  • Android Studio 简要实现蓝牙(Bluetooth)通信(附加作业)

    1.两台设备可以通过蓝牙进行通信 2.模拟Client 和Server端实现简单的通信。 如果想让应用启动设备发现或操纵蓝牙设置,则除了 BLUETOOTH 权限以外,还必须声明 BLUETOOTH_ADMIN 权限。大多数应用只是需利用此权限发现本地蓝牙设备。除非应用是根据用户请求修改蓝牙设置的“超级

    2024年02月03日
    浏览(41)
  • Android蓝牙使能流程图(Android Bluetooth enable) -- java & jni层

    在介绍Android enable流程之前,我们首先来看下Android的流程图 以上图示是android8以上的,主要跟Android8之前的架构在于Bluetooth stack跟vendor层之间增加一层HIDL,主要是抽象硬件层的作用 OK,回归主题,我们来看下Android的enable流程,首先上一张架构图 另外声明下:我们做了一些列

    2024年02月09日
    浏览(36)
  • RK3288 Android11 RTL8723DS WiFi 和 蓝牙Bluetooth 适配

      瑞芯微RK系列对“REALTEK瑞昱公司”的wifi、蓝牙双模的模组都有内置适配的,因此HAL层、Framework层、协议栈及库文件都不需要移植适配,只需修改设备树和一些配置文件即可。 补充: RTL8723DS时钟输入源讲解   RTL8723DS模组的第24号引脚是模组的时钟输入源,需要给此提供

    2024年02月07日
    浏览(61)
  • android设置打开蓝牙时报错:java.lang.SecurityException: Need android.permission.BLUETOOTH_CONNECT permission

    我的手机是三星s10,Android12,遇到的这个问题,供参考 问题出现场景,我是最近在研究一下蓝牙相关的,找了文档学习但是触动mBluetoothAdapter.enable();开启或者打开蓝牙的时候就报了下面这个错: 开始解错: 表面提示就是需要许可证/就是权限之类的缺少, 然后我就顺着这个错误去网上

    2024年02月13日
    浏览(38)
  • Android Studio制作手机App:通过手机蓝牙(Bluetooth)与STM32上的低功耗蓝牙(HC-42)连接通信,实现手机端对单片机的控制。

    背景: 本文的内容是针对单片机蓝牙模块(HC-42)开发的手机App。在这之前,我想先声明一点,手机与手机间的蓝牙连接方式”与“手机与HC间的蓝牙连接方式”是不一样的。原因就是手机搭配的是“经典蓝牙”模块,HC等蓝牙属于“低功耗蓝牙”模块。(二者的区别想了解的

    2024年02月04日
    浏览(43)
  • 【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程

    我的圈子: 高级工程师聚集地 我是董哥,高级嵌入式软件开发工程师,从事嵌入式Linux驱动开发和系统开发,曾就职于世界500强企业! 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 大家好,我是董哥! 随着物联网技术的快速发展, WiFi 、蓝牙成了物联网通信主

    2024年01月18日
    浏览(26)
  • 蓝牙 - 什么是Bluetooth Adapter或Dongle,以及Microsoft Bluetooth Enumerator

    一般笔记本是都有蓝牙模块的,台式机可能会没有,这时就需要一个蓝牙Dongle,或者叫做蓝牙Adapter,下面统称为蓝牙适配器。这是一种基于USB的设备,可发射和接收蓝牙无线信号。它插入USB端口,然后就可以使用蓝牙功能,去连接蓝牙鼠标、键盘和其他蓝牙设备。蓝牙适配器

    2024年02月05日
    浏览(39)
  • 蓝牙调试工具 Bluetooth LE Explorer

    电脑左下角“开始”——\\\"Microsoft Store”微软商店 商店搜索“Bluetooth LE Explorer”,进入软件页面下载

    2024年02月12日
    浏览(35)
  • Docker进阶:深入了解容器数据卷

    💖The Begin💖点点关注,收藏不迷路💖 在Docker中,容器数据卷是一个非常有用的功能,它可以用于实现容器与主机之间的数据共享和持久化存储。 容器数据卷的概念: 容器数据卷是Docker中用于实现数据持久化的一种机制。 它可以将容器内部的数据目录或文件与主机上的目录

    2024年03月14日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包