详细剖析蓝牙技术

描述

公元十世纪,有一名丹麦国王出身海盗家庭,统一了四分五裂的北欧(挪威、瑞典和丹麦),成为维京王国的国王。国王的原名叫Harald Gormsson,爱吃蓝莓的他有个绰号:“Harald Blåtand”,由“斯堪的纳维亚”(北欧地区)的语言翻译成英语就是“Harold Bluetooth(蓝牙)”。

在1994年,爱立信开始着手研究一种新型的短距离无线通信技术,而为了迎接这个即将面市的新技术,爱立信用丹麦国王的外号(Harold Bluetooth)给它命名。蓝牙技术最初的构想,是用无线通信技术替代RS-232标准电缆(串口),让局部空间内的各类设备能够互联互通、协调工作。“蓝牙”国王的事迹正预示着这个短距通信技术的未来。

无线通信

2014年,V4.2版的蓝牙支持6LoWPAN(IPv6 over LR-WPAN,基于IPv6的低速无线个域网标准),使得蓝牙设备更易于接入互联网。

2016年,蓝牙5.0针对低功耗设备,进一步提升了通信速率,并且能够结合wifi对室内的设备位置进行辅助定位。

2017年7月19日,蓝牙技术全面支持Mesh网状网络。

纵观蓝牙技术的发展旅程,SIG不断地追求着无线连接的性能:传输速率(EDR-Enhanced Data Rate、AMP)、低功耗(Sniff Subrating、BLE)、网络接入(6LoWPAN、Mesh)和安全配对(SSP),以满足各种应用对近距离通信的需求。

原本,SIG主要是聚焦于“以人为中心的边缘网络”进行技术创新,而如今,蓝牙适用的范围已经逐渐拓展到所有物联网边缘场景:“蓝牙增强速率技术(BR / EDR)”的应用从无线耳机发展到鼠标键盘;“蓝牙低功耗技术”应用于手表、手环,发掘了可穿戴市场;而“蓝牙Mesh组网技术”则瞄准了整个(边缘域)物联网市场,包括消费领域和工业领域。

从最新的组网构架(Mesh组网)中,让我们逐渐地看清了蓝牙技术联盟对物联网通信的预想,以及对边缘网络的理解。

无线通信

1.应用层模型

在应用层面,SIG对蓝牙设备的功能进行了多层次的封装:节点-元素-模型-状态。

无线通信

(1)device(设备)和node(节点)

节点的角色(网络角色)

设备是指有蓝牙功能电子终端。而一个设备加入到mesh网络中后,就成为一个节点。设备加入Mesh网络,需要网内的配网节点(Provisioner)的授权。

无线通信

Relay node:中继节点

在Mesh网络中,某些设备被指定为“中继设备”,通过广播承载层来接收和转发蓝牙Mesh的消息,它承担着扩展网络覆盖范围的职责。中继节点使得数据能够通过无线信号的“接力”绕过楼道内的物理障碍物,送达到目的设备。中继节点需要充沛的供电,并具备一定的计算能力。亲友节点(Friend Node)是一种特殊的中继节点。

Proxy node:代理节点

代理节点提供了GATT接口(“Generic Attributes”,一种低功耗蓝牙设备之间的通信协议),以便于蓝牙设备在不具备蓝牙Mesh网络协议栈的情况下,能够通过代理节点接入蓝牙Mesh网络。代理节点同时支持广播承载层和GATT承载层的数据包收发。代理节点(Proxy node)是一种特殊的中继节点。

无线通信

(3) 模型(model)和状态(state)

模型代表了节点中的元素所具备的行为功能。一个元素必须至少有一个模型,既一种功能。每个模型都有唯一的标识符(32位),能够在Mesh网络中被识别出来。

模型具有一种或多种的“状态”。状态是一个或一组特定类型的值。状态的改变,就代表模型执行了某项功能。

例如,灯具有开/关的功能。其中,灯代表“元素”实体,而开/关的功能就是“模型”。开关具有两种特征:“on”、“off”,这便是灯的“状态”。

在应用层面,“节点”就是接入蓝牙Mesh网络的“设备”,它包含了一个或一组“元素”(子设备),每个元素都具有一些“模型”(功能),且每一项功能都配置有一个或一组“状态”参数,来表示此功能所对应的操作。

每当圣诞节来临,圣诞树需要灯饰装点,灯饰一般都是一串彩灯(由许多不同颜色的灯泡组成)。可以将这一串灯视为一个“节点”。为了营造圣诞气氛,可以对灯串中每一种颜色的灯作为“元素(Element)”进行单独控制。

每种颜色的灯都具有发光的功能作为它的“模型”,模型包括两种状态属性:“开/关”状态、亮度状态。这样,蓝牙Mesh网络便有了对装饰灯进行动态控制的基础。

当然,如果需要更多的动态效果,甚至可以将每一个灯泡配置成一个元素。不过,这样做可能会“浪费”掉不少蓝牙Mesh的地址资源(节点中的每个元素都会被分配一个唯一的单播地址)。如何定义和设计应用,完全由开发者根据产品要求自行决定,蓝牙Mesh技术只是提供了节点配置的框架。

无线通信

2.网络层结构

蓝牙Mesh网络是搭建在蓝牙低功耗技术(BLE)构架之上的,其网络的层次构架与OSI的7层参考模型有一点相似:BLE层-承载层-网络层-传输下层-传输上层-接入层-基础模型层-模型层。

无线通信

BLE层(Bluetooth Low Energy Layer):低功耗蓝牙连接层,实现节点之间的无线通信连接,是实现Mesh网络的基础。

承载层(Bearer Layer):定义了如何使用底层BLE协议栈传输网络PDU(协议数据单元)。实际的承载方式分为两种:广播承载(advertising bearer)和GATT承载。默认情况下,使用广播承载来封装Mesh的网络数据包。

网络层(Network Layer):定义了各种消息的地址类型、格式,完成数据的网络寻址和转发。节点的中继、代理行为是通过网络层实现的。

无线通信

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分