蓝牙物联网开发Mesh网络协议

全新的蓝牙低功耗(BILE)技术由于其极低的运行待机功耗低成本和跨厂商互操作性,3 ms 低延迟AES-128 加密等诸多特色,可以用于计步器、心律监视器、传感器物联网等众多领域,大大扩展蓝牙技术的应用范围。

尽管 BLE 已经被广泛应用于物联网领域但是仍然存在着点对点的拓扑结构的限制,以及传输距离短、组网能力差等问题。由于蓝牙 4.1规范中说明,一个 BLE设备既可以在一个网络中作为主设备又可以在另一个网络中作为从设备。因此Mesh 网络可以利用BLE的这一特性,就可以在不需要连接的情况下传输数据,同时也可以发起广播。在蓝牙 4.1 规范中还提到,v4.1 是以物联网为目标对 4.0 软件升级,硬件上没有任何改动,并且可以通过 IP6 建立网络连接解决了在无 WiFi情况下设备上网不易的问题。

1 Mesh 的网络结构特点

Mesh网络协议

无线Mesh 网络也称为“多跳(multi-hop)”网络,它是一种与传统无线网络完全不同的新型无线网络技术。传统的无线网络主要是点对点或点对多点的星型网络所有终端节点必须与中心节点交换数据。而无线 Mesh 网络采用对等式的网络拓扑每个节点与其相邻节点进行通信,并有数据转发的功能。无线 Mesh 网络的可扩展性强,如果需要向网络中新增节点,只需将新增节点安装并进行相应的配置。无线Mesh 网络的可靠性也极高如果某个节点上行有线链路出现故障,不会影响整个网络的运行,可以有效避免单点故障。多点对多点 Mesh 技术让蓝牙在组网能力上有了巨大的提升,基于 BLE 标准协议的 Mesh 网络中数据收发的过程。

BLE 逻辑链路控制和适配协议(L2CAP)主要负责节点设备两端的逻辑连接节点的新增或减少通过 BLE的 L2CAP 控制。描管理(Scan Manager)负责广播信道上的广播信息,通过发送扫描信息到 BLE 的广播监听者,从而传到节点进行节点的传播。同样地,广播管理者(Advertise Manager)负责发送节点的广播的信息到目的节点。当每个 Mesh 的节点不在广播数据的状态,就是在接受数据的状态,即在一个广播事件中 BLE 设备充当Advertiser 角色,也充当着 Scanner 角色。当Mesh 节点需要广播的时候,退出接收数据的状态,正常收发的广播的优先级要比转发数据的优先级高。

2影响 BLE Mesh 技术的关键因素

蓝牙物联网开发Mesh网络协议

2.1路由选择算法

2.1.1CSR Mesh 的洪泛式路由算法

基于蓝牙4.0的CSR Mesh 组网技术采用的是最简单最可靠的洪泛式路由算法。洪泛式路由算法又称为扩散法,其基本思想是每个节点都是用广播转发收到的数据分组,其节点和节点之间的距离为 50 m,通过节点的不断一级一级广播,最终到达目的节点。这种广播式的洪泛路由算法对于动态的节点,进出网络频繁的场景下非常有效,但是,洪泛式的广播会导致网络中充斥着大量重复的数据,占用网络资源,使得节点严重地消耗能量,整个网络的生命周期也会受影响。

针对传统的广播式洪泛算法缺陷,需要作出改进来避免无用的重复转发,提高带宽的用率。例如:将路由区域限定在指定区域内,在指定区域内再选择下一节点的路由区域。这种方法可以有效降低网络中节点的无用消耗,同时也可能出现在指定区域内找不到的节点的问题,所以需要更进一步去探讨如何有效地限定区城。

2.1.2 机会路由算法

机会路由算法的基本思想是每次数据包转发给一组节点,从这一组节点中选出最优节点,再从这一最优节点转发到下一组节点中,如此重复到目的节点接收到数据包,可以大大提高数据分组传输成功率。机会路由算法的优劣取决于多个方面的因素,一是后备转发节点集,若后备转发节点过多,会导致数据重复发送的问题,若后备转发节点过少,则不利于提高数据分组的转发率。二是节点组中最优节点的选择,确定最优节点的关键是能够反映节点发送能力的度量参数。度量参数主要包括空时变量、期望传输时间、期望传输次数、跳数、地理距离等。三是后备转发节点间的协调,正确接收到数据包的后备转发节点根据其优先级回复 ACK 应答帧,最先发送 ACK 的节点成为实际转发节点1路由算法设计的优劣直接决定了数据转发的效率不管是传统的洪泛式路由算法,还是机会路由算法,在节点运动剧烈的情况下,往往得不到较优的网络性能。

2.2广播信道的局限

蓝牙工作在免许可的2.4 GHz 的ISM 射频频段。其物理信道分为两组:一组是广播(Advertiser)信道,一组是数据(Data)信道。在连接建立之前,设备之间是通过广播(Advertiser)信道交互数据的,当广播者发送一个广播包之后,它在同一信道上监听连接请求包或者扫描请求包当正确接收到连接请求包之后,连接开始建立。在连接成功建立之后,数据之间的交互使用的是数据(Data)信道。传统蓝牙中,使用 32 个广播信道和 79 个数据信道每1MHz一个频道;

而在 BLE 中,只用了3个广播信道和 37 个数据信道,每2MHz一个频道。广播信道的急剧减少是为了实现更低功耗,这意味着 BLE 扫描其他设备开启的时间远远低于传统蓝牙的开启时间。BLE 技术设计的3个广播信道是为了在鲁棒性和低功耗之间取得平衡在 BLE 中,如果只设1个广播信道,假设该信道被其他设备阻塞,则设备无法配对或者广播数据整个系统将无法工作。如果信道设定的过多,该设备将需要花费大量的时间进行广播数据的传输,将与低功耗的初衷背道而驰。BLE的3个广播信道用于 Mesh 网络中,则需重新考虑鲁棒性的问题。随着 Mesh 网络的节点不断增加,所有节点都只能共用3个广播信道,此时,出现信号冲突的概率就大大增加。

2.3睡眠模式的关闭

BLE 有三种工作模式:

一是关闭模式,此时没有任何时钟在运行,芯片完全断电,没有任何设备能够进行连接。

二是睡眠模式,此时仅有 low_powerclk 在运行这种情况下只有达到预定的睡眠时间或者有 wake_up 唤醒请求,睡眠模式才能转换为正常工作的模式。

三是正常工作模式,在这种模式下,可以进行广播、扫描、连接以及实时数据包的处理。主时钟 hclk 打开若数据需要进行加密加密时钟 crypt_clk 也会打开。BLE设计采用睡眠模式来替代传统蓝牙的空闲状态,在睡眠模式下,主机长时间处于超低的负载循环状态,只需要在运行的时候由控制器来启动,因为主机比控制器消耗更多的能量。而且在睡眠模式下的数据发送间隔加大,由此,BLE的待机功耗大减小。但是在 BLE的 Mesh 网络中,一次事件中不仅是单一的广播或者单一的连接,若进人到睡眠模式之后,睡眠时间过短导致射频来不及关闭又必须打开,睡眠时间无效。

出处 电子技术应用

原标题 BLEMesh网络协议综述

作者 徐春燕   肖扬文   蔡 敏

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS蓝牙Mesh开发是指在iOS系统中使用蓝牙Mesh技术进行开发蓝牙Mesh是一种用于无线网络通信的技术,它基于蓝牙低功耗(Bluetooth Low Energy,BLE)标准,并支持多对多的网络连接。通过使用蓝牙Mesh,可以实现设备间的直接通信,而无需通过传统的中心设备来中转数据。 在iOS蓝牙Mesh开发中,开发者可以利用iOS系统提供的CoreBluetooth框架来实现蓝牙Mesh的功能。CoreBluetooth框架提供了一系列API,可以用于扫描、连接和通信等操作。开发者可以使用这些API与蓝牙Mesh设备进行通信,并实现各种功能,如设备发现、数据传输、网络配置等。 在进行iOS蓝牙Mesh开发时,需要特别注意以下几点: 1. 版本要求:要使用蓝牙Mesh功能,需要iOS 11及以上的版本。 2. 硬件支持:要使用蓝牙Mesh功能,需要确保设备支持蓝牙4.0及以上版本。 3. 学习Mesh协议:蓝牙Mesh开发需要了解蓝牙Mesh协议的相关知识,如网络拓扑结构、节点之间的通信方式等。 4. 设备兼容性:不同厂商的设备对蓝牙Mesh的支持程度可能有所不同,需要考虑设备的兼容性。 总体来说,iOS蓝牙Mesh开发可以用于构建无线传感器网络、智能家居和物联网等应用。开发者可以根据具体需求,利用iOS系统提供的CoreBluetooth框架实现各种功能,并通过蓝牙Mesh技术实现设备间的直接通信。这将为用户带来更好的体验和更广泛的应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值