热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

蓝牙模块各种工作模式

摘要:本文主要归纳总结蓝牙模块的不同工作模式

摘要:本文主要归纳总结蓝牙模块的不同工作模式,通过蓝牙模块不同的工作模式了解其扮演不同角色时工作的一个基本原理,为更深入的研究蓝牙模块底层的工作机制和技术方案进行铺垫。

1、主设备工作模式

        主设备是能够搜索别人并主动建立连接的一方,从扫描状态转化而来的。其可以和一个或多个从设备进行连接通信,它会定期的扫描周围的广播状态设备发送的广播信息,可以对周围设备进行搜索并选择所需要连接的从设备进行配对连接,建立通信链路成功后,主从双方就可以发送接收数据。例如智能手机,数据传输中做主机的蓝牙模块。

        一个蓝牙设备以主模式发起连接时,需要知道从设备的mac地址,配对密码等信息,配对完成后,可直接连接。同时主设备可以设置默认连接从设备的mac地址,这样主设备模块上电会自动搜索该mac地址的从设备并且进行连接。并且支持白名单功能,用户只需要把需要连接的设备的mac写入白名单中,模块搜索到符合白名单的设备时就进行连接。主从透传协议相同时,用户不需要关注串口数据与无线数据包之间的数据转换过程,只需通过简单的参数设置,即可实现主设备串口与从设备串口之间的数据透传。

        为保证连接的稳定性,预防断电、信号等异常问题导致模块之间断开连接,可以开启断线重连功能,当异常干扰问题消失,模块工作环境恢复正常,主设备会自动搜索刚刚断连的从设备,尽可能减少数据的丢失,提高系统稳定性。

2、从设备工作模式

        从设备模式是从广播者模式转化而来的,未被连接的从设备首先进入广播状态,等待被主机搜索,当主机扫描到从设备建立连接后,就可以和主机设备进行数据的收发,其不能主动的建立连接,只能等别人来连接自己。和广播模式有区别的地方在于,从设备模式的蓝牙模块是可以被连接的,定期的和主机进行连接和数据传输,在数据传输过程中作从机。例如蓝牙手表手环,蓝牙鼠标等工作在从设备模式。

        一对一应用中从设备可以设为两种类型,一是静默状态,即只能与指定的主设备通信,不被别的蓝牙设备查找;二是开发状态,既可被指定主设备查找,也可以被别的蓝牙设备查找后建立连接。

        从设备模式下,用户可以根据协议自己开发APP。此模式下包含一个串口收发的Service,用户可以通过UUID找到它,里面有两个通道,分别是读和写。用户可以操作这两个通道进行数据的传输。如果用户使用的主设备和从设备是同一个厂家生成的蓝牙模块,那么主设备和从设备相连接可以无需关注里面的协议,蓝牙设备在出厂前预先设置了两个蓝牙设备之间的配对信息,两端设备接通电源后自动构建链路,不需要外围电路的介入,两个设备的串口直接就可以进行数据的透明传输,为用户建立一个简单的无线传输通道。

        通过上述对蓝牙模块主设备模式和从设备模式的分别阐述,可以将基本的主从建立连接的过程总结如下:蓝牙主设备发起连接,首先是查找,找出周围处于可被查找的蓝牙设备。主设备找到从设备后,与从设备进行配对,此时需要输入从设备的PIN码,也有设备不需要输入PIN码。

        配对完成后,从端蓝牙设备会记录主端设备的信任信息,此时主设备即可向从设备发起连接,已配对的设备在下次连接时不再需要重新配对。已配对的设备,作为从端蓝牙设备也可以发起建立链路的请求,但作数据通信的蓝牙模块一般不启动调用。一旦建立了链接,主机和从机之间就可以进行双向的数据或语音通信。在通信状态下,主设备和从设备都可以发起断链,即断开蓝牙链路。

3、主从一体工作模式

        主从一体工作模式是指蓝牙模块可以同时作为主设备和从设备。其可以在两个角色间切换,工作在从模式时,等待其它主设备来连接,需要时,转换为主模式,向其它设备发起连接调用。主从一体提供了扩展蓝牙模块的能力,在蓝牙4.1协议规范后,添加了“链路层拓扑”的功能,就可以允许蓝牙模块同时作为主设备和从设备,在任何角色组合中操作。例如蓝牙HUB终端。

        当具备主从一体的蓝牙模块工作时,该蓝牙模块可以作为主设备搜集其它外围从节点设备的信息,同时作为一个从设备将搜集到信息上报给主控终端如手机。这样的好处就是外围的从节点设备信息可以不局限在本地保存,通过主从一体的蓝牙模块发挥中继器的作用,搜集后上传给云端或集中控制器保存或显示。

        主从一体额外增加了蓝牙模块的功能,成本优化和易用性。 如果蓝牙模块以前在封闭系统中作为主设备工作,那现在还可以同时作为从机连接到智能手机,从而实现新的连接维度。在主从一体工作模式下,一个蓝牙模块就可以扮演两种角色,从而可以优化系统架构。

4、广播者工作模式

        蓝牙广播是蓝牙4.0以上设备必须支持的功能。它不涉及到更上层的连接层和协议层。因此,利用蓝牙广播的数据包来传递的信息,在蓝牙设备上具有更好的实时性和兼容性。在广播模式下,蓝牙模块定期持续的向周围发送一定长度广播的数据包,该数据可以被扫描者搜索到,模块可以在低功耗的模式下持续的进行广播,应用于极低功耗,小数据量,单向传输的应用场合。蓝牙广播通道的重要功能就是是用于发现设备,发起连接和发放数据。

        广播模式主要有两种使用场景:(1)单一方向的、无连接的数据通信,数据发送者在广播信道上广播数据,数据接收者扫描、接收数据;广播者”将用作服务器。其目的是定期将数据传输到设备,但不支持任何连接。如信标、广告牌、室内定位、物料跟踪等。(2)面向连接的建立,如蓝牙从设备广播消息后由主设备搜索到后进行连接,广播者和从设备模式的唯一区别是不能被主机连接,只能广播数据。

        蓝牙的广播一般是向外广播自己的mac地址、名称以及支持的特性,广播主要是用于被其它的设备发现,而不是进行数据发送的。广播包长度是固定的字节,虽然可以有厂商自定义的数据,但是数据也是有限的。

        广播数据包有两种:广播包(Advertising Data)和响应包(Scan Response),其中广播包是每个设备必须广播的,而响应包是可选的,每个包长度都是固定字节N,数据包的长度N随着蓝牙协议的标准提高而扩容,例如蓝牙5.0的数据包从蓝牙4.2的31字节升级成为255字节,数据包中分为有效数据和无效数据两部分。每个广播包的长度必须是N个字节,如果不到N个字节 ,则剩下的全用0填充补全,这部分的数据是无效的。

5、观察者工作模式

         观察者模式,该模式下模块为非连接,相对广播者模式的一对多发送广播,观察者可以一对多接收数据。在该模式中,设备可以仅监听和读取空中的广播数据。和主机唯一的区别是不能发起连接,只能持续扫描从机。

        观察者工作模式可应用于数据采集集中器的应用场合,如传感器集中器采集等功能;另一个典型的例子是蓝牙网关,蓝牙模块处于观察者模式,无广播,它可以扫描周围的广播设备,但不能要求与广播设备连接。

6、iBeacon工作模式   

        iBeacon 是苹果公司2013年9月推出的一项室内低耗能蓝牙技术。其工作方式是:iBeacon是一个低功耗的蓝牙信标,使用的是BLE技术,工作在广播模式,利用的是BLE中名为“通告帧”(Advertising)的广播帧。通告帧是定期发送的帧,只要是支持BLE的设备就可以接收到。广播的发射功率可以调整,不停的广播蓝牙设备的mac地址、UUID等固定字节的字符串等信息,接收到该字符串应用软件会根据该字符串采取一些措施。

        iBeacon是基于2010年发布的蓝牙4.0技术规范的基础上发展而来的微定位技术。它是建立在低功耗蓝牙协议基础上的一种广播协议,同时它也是拥有这个协议的一款低功耗蓝牙设备(从机),但是它不能和任何低功耗蓝牙主机进行连接,通常是放在室内的某个固定位置,借此向周围进行连续性广播,所有广播数据在特定规则下进行排列。

        与WIFI定位相比,iBeacon定位具有低成本和高安全性,其应用场景多种多样。常见的应用是精确营销,比如博物馆、展厅的信息推送或者购物中心服务商向顾客发送折扣卷及进店积分等。如果把它放在室内固定的位置,可以作为一个定位器,手机打开蓝牙连接之后通过APP就可以获取其位置,同时会推送一些设置好的信息到我们手机上。

        微信摇一摇也加入了iBeacon功能,例如住酒店,用户在酒店大堂摇一摇,就可以获取房间信息。很简单,你的手机加入装了一个支持iBeacon的APP或者你用微信摇一摇周边,刚好你又在这个iBeacon设备旁边,手机就会收到一段蓝牙信号,然后手机带着这个信号,去服务器问,这个信号是啥意思,服务器看到这个信号,又看到是你的手机带着这个信号过来的,那就给你发信息。

        蓝牙iBeacon是一种非常新颖的交互方式,它是一种低功耗协议,也是一种低功耗蓝牙设备。在智能领域有非常广泛的前景

7、Mesh组网工作模式

        蓝牙Mesh组网技术在2017年得到SIG批准,这是一种独立的网络技术,兼容4及5系列蓝牙协议。它把蓝牙设备作为信号中继站,利用低功耗蓝牙广播的方式进行信息收发,蓝牙Mesh技术拓展了蓝牙的通讯关系,打破了以往蓝牙设备只能够主从一对一、广播一对多通信的限制,使网络内的蓝牙设备可以实现“多对多”的设备通信,这将大大增加蓝牙的通讯距离和应用场景,填补了蓝牙在大规模组网,大面积覆盖应用领域的空白。

        Mesh网络也称为"多跳网络",或者“网状网络”。Mesh网络的每一个节点都可以作为AP和路由器,通信时,当某个节点损坏或者堵塞时,可以自动绕过该节点,重新选择路径达到目的地,可以让网络更高效可靠。

        工作在Mesh组网模式的BLE蓝牙模块可以简单的将多个模块加入到网络中来,一个加入到蓝牙Mesh网络中的设备称为节点利用星型网络和中继技术,每个网络可以连接理论最大65536个节点,每个节点都可以发送、接收、转发消息。消息可以在Mesh网络中被转发从而到达更远的距离。网络和网络还可以互连,最终可将无数蓝牙模块通过手机、平板电脑或 PC 进行互联或直接操控。并且不需要网关,即使某一个设备出现故障也会跳过并选择最近的设备进行传输。整个联网过程只需要设备上电并设置通信密码就可以自动组网,真正实现简单互联。

        由于目前几乎所有的智能手机都具备蓝牙功能,所以可以使用手机对蓝牙Mesh设备进行直接控制。蓝牙Mesh是一种可以像ZigBee一样实现大规模组网,同时又不必依赖网关,可以使用手机进行直接控制的方案。

        总而言之,蓝牙Mesh组网有着广阔的发展前景,这种技术可组节点成百上千,无需网关可以直接与智能终端通信,满足物联网的连接需求,这是任何其它短距离无线技术都不具备的条件,在智能家居、智能建筑等众多领域具有应用优势,蓝牙Mesh技术将成为物联网短距离规模组网的最优方案。

总结

        可以看出,不同类型的蓝牙模块根据使用场景的不同,可以有不同的工作模式,并不仅仅是简单的点对点通信,随着蓝牙协议标准的升级,蓝牙技术也跟着不断提高,工作模式的不同使得蓝牙模块可以扮演不同的角色,适配不同的技术应用,发挥其所需要的功能,最后通过一张思维导图来对本文进行概述性总结。


推荐阅读
  • 探究WiFi项目部署对运营商转型挑战的影响与解决方案
    长期以来,运营商的转型问题一直是业界关注的焦点。随着传统商业模式的增长乏力,外部环境的变化加剧了行业的下行压力。为了应对这些挑战,本文深入探讨了WiFi项目部署对运营商转型的影响,并提出了切实可行的解决方案,旨在帮助运营商在新的市场环境中实现可持续发展。 ... [详细]
  • 双因子安全机制与WiFi万能钥匙的较量:解析其背后的对抗策略
    几乎所有智能手机用户都熟悉类似“WiFi万能钥匙”的应用程序。这款应用凭借庞大的下载量,不仅在各大应用商店中占据显著位置,还长期稳居下载排行榜前列。然而,随着双因子认证等高级安全机制的普及,这类应用面临着前所未有的挑战。本文将深入探讨双因子安全机制与WiFi万能钥匙之间的对抗策略,分析其背后的技术原理和安全风险。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
  • 在拉斯维加斯举行的Interop 2011大会上,Bitcurrent的Alistair Croll发表了一场主题为“如何以云计算的视角进行思考”的演讲。该演讲深入探讨了传统IT思维与云计算思维之间的差异,并提出了在云计算环境下应具备的新思维方式。Croll强调了灵活性、可扩展性和成本效益等关键要素,以及如何通过这些要素来优化企业IT架构和运营。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • 在Java分层设计模式中,典型的三层架构(3-tier application)将业务应用细分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层结构不仅有助于提高代码的可维护性和可扩展性,还能有效分离关注点,使各层职责更加明确。通过合理的设计和实现,三层架构能够显著提升系统的整体性能和稳定性。 ... [详细]
  • SSAS入门指南:基础知识与核心概念解析
    ### SSAS入门指南:基础知识与核心概念解析Analysis Services 是一种专为决策支持和商业智能(BI)解决方案设计的数据引擎。该引擎能够为报告和客户端应用提供高效的分析数据,并支持在多维数据模型中构建高性能的分析应用。通过其强大的数据处理能力和灵活的数据建模功能,Analysis Services 成为了现代 BI 系统的重要组成部分。 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 大家好,全新的技术专栏《从零开始掌握容器云网络实战》正式上线。该专栏将系统地介绍容器云网络的基础知识、核心技术和实际应用案例,帮助读者全面理解和掌握容器云网络的关键技术与实践方法。 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • 网络通信基础:互联网协议(IP)详解
    互联网协议(IP)作为TCP/IP协议栈的核心组成部分,主要负责提供一种无连接且不可靠的数据包传输服务。这意味着IP并不确保数据包能够成功抵达目标地址,而是尽力而为地进行传输。此外,IP协议在数据传输过程中不维护任何连接状态,每个数据包独立处理,确保了网络的高效性和灵活性。 ... [详细]
  • 在计算机系统中,核心组件与架构是其稳定运行的基石。本文深入解析了R1路由器如何通过子网掩码与目的IP地址(如145.13.3.10)进行逐位逻辑“与”操作,以确定目标子网的网络地址。如果计算结果与路由表中的某一行的目的网络地址匹配,数据包将直接或间接地被传输至指定目的地。此外,文章还探讨了这一过程在现代网络通信中的重要性及其对数据传输效率的影响。 ... [详细]
  • 从用户转型为开发者:一场思维升级的旅程 | 专访 StarRocks Committer 周威
    从用户转变为开发者,不仅是一次角色的转换,更是一场深刻的思维升级之旅。本次专访中,StarRocks Committer 周威分享了他如何在这一过程中逐步提升技术能力与思维方式,为开源社区贡献自己的力量。 ... [详细]
  • 如何创建和使用快捷链接:掌握打开链接的快捷方式技巧 ... [详细]
author-avatar
手机用户2602923801
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有