您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 蓝牙mesh网络基础
毕健iHealth中国研发中心蓝牙高级工程师邮箱:bi_jian@qq.com译文版本:V1.0完成时间:2017.11.11备注:1蓝牙mesh基础致开发者:2017夏,蓝牙低功耗技术引入了一种新的网络拓扑类型--Mesh。mesh的引入使得蓝牙在低功耗无线通信技术领域更具优势,在许多新兴领域如智能家居,工业物联网,楼宇自动化等势必会得到更好的应用。蓝牙BluetoothMeshNetworking/AnIntroductionforDevelopersContributorsMartinWoolleyAuthorSarahSchmidtGraphicDesigner目录©2017BluetoothSIGProprietary.21.0介绍...............................................42.0执掌生活.......................................62.1智能建筑获得真正的智能73.0蓝牙mesh基础......................................83.1概念和术语93.2mesh与点对点93.3设备与节点93.4元素103.5消息103.6地址103.7发布/订阅113.8状态和属性113.9消息,状态及属性123.10状态转变123.11绑定状态123.12模型133.13通用性133.14情景133.15开通配置143.16特性14BluetoothMeshNetworking/AnIntroductionforDevelopers3.0蓝牙mesh基础(续)17.中继节点18.低功耗节点与友节点19.代理节点20.节点配置©2017BluetoothSIGProprietary.3151515164.0Mesh系统架构..................................174.1概述184.2承载层184.3网络层184.4底层传输层194.5上层传输层194.6接入层194.7基础模型194.8模型195.0安全性........................................201.Mesh网络安全特性具有强制性2.Mesh网络安全性基本原则3.关注点分离与mesh安全密钥4.节点移除,密钥刷新及垃圾桶攻击5.隐私6.重放攻击2121212222236.0蓝牙mesh在行动....................................241.消息发布与传递2.多路径传递3.管理型网络泛洪4.协议栈中消息的传递252525257.0蓝牙Mesh—正待勇士开拓的疆场..............277.1参考资料28backtocontentsBluetoothMeshNetworking/AnIntroductionforDevelopers1.0介绍©2017BluetoothSIGProprietary.4backtocontentsBluetoothMeshNetworking/AnIntroductionforDevelopers1.0介绍2000年,蓝牙技术面世,用以替代线缆进行无线通信。此后的十几年间,蓝牙得到了快速的发展,很快在无线音频及计算机周边产品如无线鼠标,键盘等领域占据了统治地位。2010年,蓝牙低功耗技术(BLE)面世,推动蓝牙技术向前迈进了重要一步。其影响深远,主要体现在智能手机,平板,以及医疗健康,智能家居,可穿戴产品等领域。基于网状拓扑类型的无线通信系统可以覆盖更大的范围,使得通信距离变长,同时系统的鲁棒性得到加强。但是他们仍然是一种小众技术,主要是因为与现有的大多数计算机,智能手机等设备不兼容,因而没有得到大范围的推广和应用。为了将mesh技术应用到蓝牙中,120个蓝牙SIG成员公司先后参与到这项工作中。与以往情况不同,此次规模之大,涉及范围之广,充分表明了业界对蓝牙mesh技术标准制定的迫切需求。蓝牙mesh技术的添加代表了一种技术类型的变化,这种变化如此巨大,我们甚至可以认为这对蓝牙技术标准来说是一次整体模式的转变。(译者注:蓝牙特别兴趣小组TheBluetoothSpecialInterestGroup(SIG),是一个非盈利性组织,致力于蓝牙技术标准的开发,和蓝牙技术应用及商标的授权。公司成立于1998年,总部位于美国华盛顿。)©2017BluetoothSIGProprietary.5backtocontentsBluetoothMeshNetworking/AnIntroductionforDevelopers2.0执掌生活©2017BluetoothSIGProprietary.6backtocontentsBluetoothMeshNetworking/AnIntroductionforDevelopers2.0执掌生活智能建筑将获得真正的智能想象一下,在一个天色昏暗的冬日的早晨,你驱车前往公司。公司的安全系统识别了你的车,让你进入公司,同时分配给你一个停车位。此时,你的停车位上的灯亮起,指引你快速停到那个位置。之后,这个车位分配系统将自动进行更新,显示该车位已使用。进入公司大楼后,相应的传感器注意到有人进入,并从你身上的可穿戴设备如手表等识别到你。你乘坐电梯到达二楼,像往常一样,你是第一个到达的。当电梯门打开时,从电梯室到办公室及开水间的灯自动打开。咖啡在你们公司是非常重要的,所以开水室的灯才会自动打开,其它区域的灯关闭,从而节省能量。你走进办公室,屋顶灯和台灯已经打开了,并且是你最喜欢的亮度等级。你注意到办公室温度比其它区域温度略高,这正是你之前设置的。你靠近办公电脑,此时电脑自动登陆你的账户。现在你可以开始办公了,并且整个办公环境考虑到了个人偏好,充分满足了你的需求。很显然这种这种系统是十分高效的,那么它是如何实现的呢?你们公司几个月前使用了蓝牙mesh技术,最开始安装在照明系统上,随后添加到Occupancysensor,环境传感器,无线暖气控制系统,停车管理系统等网络中。这样,公司可以在电力和热力系统上省上不少费用,而且工作环境更加人性化,从而使员工的工作效率更高。整个系统的维护成本也在下降,例如加入电灯开关不再需要布置昂贵且麻烦的电线了。系统采集的数据可以供大楼管理人员分析,从而了解这栋建筑,以及它所提供的服务和人们对这些服务做出的反应,进而对整个系统进行优化。我们可以控制某栋建筑提供的服务,与其进行无线交互,使其行为更加自动化,而蓝牙mesh正使这一切更加方便且低成本。你甚至会感到惊讶之前没有这些技术是怎么生活的。(译者注:Occupancysensor,一种室内运动检测设备,检测到人体时会自动打开灯,温度调节装置及通风系统。这种传感器多使用红外,超声,微波等技术,主要用来节省能量,提供自动控制。)图1-蓝牙mesh可以分布于办公室和停车处©2017BluetoothSIGProprietary.7backtocontentsBluetoothMeshNetworking/AnIntroductionforDevelopers3.0蓝牙mesh基础©2017BluetoothSIGProprietary8backtocontentsBluetoothMeshNetworking/AnIntroductionforDevelopers3.0蓝牙mesh基础概念及术语要认识蓝牙mesh技术,需要读者了解一些新的技术概念与术语,这些在之前蓝牙低功耗(BLE)的世界里是没有的。本章我们将带你认识一些最基本的概念及术语。meshvs点对点我们所见到的大多数BLE设备都是进行一对一的数据通信的。这是一种点对点的网络拓扑类型,在蓝牙核心规范中被称为“微微网”(piconet)。假设一个智能手机与一个心率检测器建立了一个点对点的连接,这样它们之间就可以传输数据了。蓝牙的一个优点就是可以让设备建立多个连接,所以这台智能手机可以再与另一个运动追踪设备建立连接。此时,手机可以同另外两台设备进行通信,而这两台设备之间无法直接进行沟通。与以上情况相反的是,mesh拥有多对多的网络拓扑类型。每一台设备都可以与网络中的其它设备进行通信(我们会在第6章进行更深入的讨论)。设备间的通信以消息的形式传递,一台设备可以将某一台设备发来的消息中继到另一台设备,这样就可以扩展端到端的通信范围,这个范围远超过一个单独设备蓝牙无线电所覆盖的范围。设备和节点mesh网络中的单台设备称做节点(node),网络外的设备称为“未开通配置设备”(unprovisioneddevices)。将某个“未开通配置设备”转化为网络节点的过程称为“开通配置”(provisioning)。例如,你买了一个带有mesh功能的蓝牙灯,你需要把它带回家并进行简单的配置,从而将其加入到家中原有的mesh网络中,这样你就可以通过家里的电灯开关与调光器对其进行控制了。这一过程即为“开通配置”(provisioning)。“开通配置”过程是每一台新设备都要经历的,在这个过程中,新设备会获取一系列的密钥,同时告知“启动配置设备”(provisionerdevice,通常是智能手机或者平板电脑)有新设备加入到网络中。其中有一个密钥叫做网络密钥,即NetKey。在后续章节我们会再对mesh的安全性进行深入讨论。Mesh网络中的每个节点都拥有至少一个NetKey,正是这个NetKey让其成为相应网络的一员。节点的正常工作需要满足许多条件,而NetKey则是最基本的第一步工作。随后我们会对“开通配置”的过程展开深入的讨论,在此不再赘述。图2-一种具有消息中继功能的多对多网络拓扑类型©2017BluetoothSIGProprietary.9backtocontentsBluetoothMeshNetworking/AnIntroductionforDevelopers元素有些节点由多个独立的部分组成,每一个部分都可以进行单独的控制。在蓝牙mesh中,这些独立的部分称为元素(element)。图3即为网络中的一个灯节点,它有3个元素,每个LED灯泡有一个元素。每个节点至少拥有一个元素,称为主元素(PrimaryElement)。节点中的每个元素都有一个唯一确定的地址,称为单播地址(unicastaddress),这样每个元素都可以独立寻址。条响应信息。这条响应信息有两个作用:1.告知消息发送方,消息已接收;2.返回消息接收方需要告知发送方的某些数据。需要应答的消息如果没有得到响应,则可能会被发送多次,所以这种消息必需具有幂等性。幂等性意味着这种消息不论到达接收节点多少次,与其到达接收节点一次产生的效果都是相同的。否则如果因为某些意外,消息多次到达接收节点,则有可能使接收节点的状态变得不确定。不需要应答的消息不要求接收者发送响应信息。地址消息必须从一个地址发送到另一个地址。蓝牙mesh协议中定义了3种地址(还有一种未分配地址在此不做讨论)。单播地址用于唯一确定单个元素。在“开通配置”过程中,会将单播地址赋给设备。群组地址是一种多播地址,它可以代表一个或多个元素。群组地址要么是动态分配的,要么是蓝牙技术联盟预先定义的(SIG固定群组地址)。蓝牙技术联盟已经定义了4个固定群组地址,即All-proxies,All-friends,All-relays及All-nodes。在后续章节中我们会详细解释什么是Proxy(代理),Friend(朋友)及Relay(中继)。我们可以通过配置应用程序来建立动态群组地址,这些地址反映了一栋建筑的某种实体分配,例如为大楼里的每一个房间定义一个群组地址。虚拟地址可以赋给一个或多个元素,横跨一个或多个节点。虚拟地址与128位UUID的形式类似,任何元素都可以与其相关联,它更像一个标签。虚拟地址可以在出厂前就进行预先配置,然后用于某些特定场景,例如使某个厂商制作的投影仪的寻址更加方便。图3-三个元素组成一个灯节点©2017BluetoothSIGProprieta
本文标题:蓝牙mesh网络基础
链接地址:https://www.777doc.com/doc-5151237 .html