当前位置: 首页 > 科技观察

网?无线协议的选择

时间:2023-03-18 15:56:41 科技观察

智能家居、智能建筑等产品的开发者可以使用大量的无线协议。Zigbee、Z-Wave和专有无线协议主导着这些市场,新进入者包括Thread和蓝牙网状网络。虽然传统的BLE和Wi-Fi在这些市场也很流行,但它们不支持网状网络。无论底层协议如何,IoT部署网络都必须稳健,并且可以通过测量吞吐量、延迟和可靠性来量化这种稳健性。这些测量取决于部署的规模和其他系统级要求。用Mesh协议来说,“没有一种协议可以适用于任何情况”。每种无线协议都具有独特的特性和优势,具体取决于应用场景和最终应用。了解Mesh技术的内部机制,胜过具体技术的一系列关键特性。更重要的是,开发人员需要了解这些网络协议在功耗、吞吐量、延迟、可扩展性、安全性和互联网连接等关键领域的表现。Zigbee、Thread和蓝牙mesh的设计根本不同,每个mesh的实现都会对系统性能和稳健性产生影响。用于无线连接的网状技术无线芯片上的SoC已经具有足够的成本效益,可以添加到物联网中,为我们的日常生活提供便利、安全和舒适。添加无线连接后,单个事物就变成了物联网设备。许多物联网设备以前没有无线互联网连接。不断变化的法规和消费者期望迫使产品制造商为无数产品和系统添加无线连接,以保持竞争力或开辟新的收入来源。当开发人员选择构建IoT设备时,他们必须考虑最终产品的使用方式以及这些产品将在什么样的生态系统中运行。无线网络的类型许多IoT无线技术有两种基本拓扑结构:Mesh和Star(图1)。在家庭和智能建筑中,网状网络通常比星型网络更受青睐,因为它能够扩展到无数节点并覆盖很远的距离。星际网络依赖于终端节点和中央设备之间的点对点连接。如果网络安装后环境发生变化,星型网络可能会失败。图1两种基本拓扑在点对点或星形网络中,信号范围是输出功率的函数。为确保设备可以使用电池运行足够长的时间或提高能源效率,降低功耗和输出功率是理想的选择。然而,尽管功耗降低了,设备仍然需要能够与其他设备进行通信和交互。Mesh网络中的每个设备传输的距离更短,以降低其功耗。当在网状网络上的设备之间传输通信时,可以提高系统的整体通信范围。网状网络还提供额外的通信优势,例如动态自我修复的能力。例如,如果网状网络中的某个节点发生故障,可以重新路由以提高可靠性。网状网络的另一个重要好处是设备可以直接相互通信。哪种网络最适合家庭和智能建筑?网状网络提供了一种理想的技术来启用和增强应用程序,例如楼宇和家庭自动化、照明系统和零售信标系统,如上所述。网状网络允许系统降低功耗、延长电池寿命、增加通信范围并提高整体系统可靠性。每个网状网络标准都为不同的设备类型和应用程序提供基于标准的支持。有一个成熟的应用层支持家庭自动化、照明和计量,而第一个蓝牙Mesh规范侧重于照明和一些家庭自动化支持。Thread是三种mesh技术中唯一基于IPv6的mesh技术。这提供了一些独特的优势,例如同一网络或跨网络的端到端路由和寻址,而无需实施额外的转换层。Zigbee通常用于楼宇和家用电器的自动化。最近,Thread和蓝牙Mesh也被考虑用于这些应用。Z-wave是另一种在智能家居安全应用中也很流行的网状技术。表13种协议的比较大多数连接设备都受益于连接到云的使用场景,例如数据聚合。支持低功耗蓝牙的蓝牙网状网络设备可以提供从智能手机或平板电脑到云端的连接。当然,这是临时连接,因为如果没有手机或平板电脑,这些设备将无法连接到云来发送或接收信息。需要云连接网关,而IP连接Thread不需要网状网络之间的完整网关。借助Thread,路由器以轻量级方式促进了通过IP的直接设备到云通信。智能家居和智能建筑包括能量收集设备、电池供电设备和有线设备的组合。照明和恒温器通常是有线的,因为它们是基础设施的一部分,但这并不意味着可以忽略功耗。因此,有必要仔细管理作为基础设施和交流电源设备的设备组成。电池通常为远程传感器和控制元件供电。这意味着Mesh必须从功耗的角度理解两种根本不同的应用场景。应用场景在智能家居和智能楼宇中存在许多潜在的网状网络应用场景。借助Mesh网络,可以显着改善整体系统性能和最终用户体验。通过楼宇和家庭自动化,设备可以直接相互通信。电灯开关上的动作可以立即发送到本地网状网络上的灯,而无需通过网关与云进行通信。这种即时响应可以改善消费者体验。此外,对于某些用例,例如在发生火警时关闭空调的HVAC系统,网状网络上的本地通信可以确保系统在不依赖云连接的情况下正常运行。照明系统的舒适度可以简化部署和管理。网状网络提供的扩展连接范围意味着连接的灯可以部署在更远的地方。集线器或网关可以放置在一个位置,并与连接的灯共同部署。随着每个节点的部署,通信范围增加,允许单个网关有效覆盖更大的区域。例如,考虑剧院或博物馆的照明和环境控制。这些安装通常有成百上千个节点。灯、窗帘和百叶窗的电机需要精确且设计良好的控制。应同时调暗所有灯光,控制窗帘的电机应协调工作。细微的差异是显而易见的,并且会影响观众的体验。家里也有类似的需求。如果在一个有灯光和窗帘的场景中,用户期待一种无缝的、精心设计的体验,也许所有的灯光同时变暗,所有的窗帘同时移动。安全仓库等工业环境的照明需求可能不同于剧院。通常,一个区域的灯会同时打开。但是,如果所有灯同时亮起,或者只需要几秒钟就可以全部点亮,都没有关系。用户体验和期望是不同的。另一方面,如果由于停电而需要快速打开某些灯,时间突然变得很重要。方便在部署期间,是否每盏灯都始终亮着可能无关紧要。但是,如果开发人员想要添加额外的服务,网络的稳健性可能会成为一个问题。网格部署中越来越流行的服务是资产跟踪。在这种情况下,设计人员依靠控制网络来传输有关已安装设备的数据,从而跟踪资产。在此示例中,吞吐量和延迟问题取决于资产信息在网络中传输的速度。图2网络连接带来的增值服务此外,用于零售营销或资产跟踪的Beacon可能不需要每一个都在手机范围内进行管理。也可以结合这些域和设备类型的功能。例如,灯不仅可以自动化,还可以充当信标。这种方法可以通过添加定位服务和广告等功能来增加灯的功能和价值。应用层协议支持协议的全部功能也依赖于相应的应用层。尽管Thread协议不包括应用层,但可以使用任何基于IP的应用层,例如dotdot或OCF。Bluetooth包括一个称为Mesh模型的原生应用层,这是一个支持不同设备类型的新应用层,但比Zigbee或Thread更受限制。BluetoothMesh对照明和一般控制(例如开/关、传感器、滑块、电源和电池状态)都有很好的支持,但缺乏针对许多家居配件(例如门锁、HVAC或窗帘)的专用模型特定功能定义了互操作性。表2该协议原生支持应用层的哪些Mesh协议***?不能一概而论。Zigbee、Thread和蓝牙网状网络之间存在根本的架构差异。ZigBee和Thread在使用时可能会使用泛洪,但通常使用路由网格来最大限度地减少干扰消息传递的网络开销。BluetoothMesh允许将设备配置为路由器以减少泛洪的影响。蓝牙特别兴趣小组(SIG)将此称为“受管理的泛洪处理”。ZigBee和Thread网络包括路由节点和终端节点。路由节点通常由线路供电,可以作为Mesh的主干。终端节点通常由电池供电,在网格周边运行,并使用路由器传递信息。创建网格时,将构建路由表。路由表是一个目录,告诉每个设备如何与网格中的其他设备通信。通过这种方式,节点可以通过网格在精确的路径上发送消息,从而与另一个节点进行有效通信。这对网格的吞吐量有积极影响,并且可以随着网格的增长减少延迟。路由网格在历史上一直是首选,因为它们提供更高效的通信和可预测的性能。另一方面,路由协议栈的开发人员更难实现。对于已部署的系统,产品必须具有互操作性是一个重要的考虑因素。以住宅为例,其中一些设备可能会使用Zigbee或Thread形成Mesh网络。网关或集线器和网关的组合可能已经将这些设备连接到云以提供其他服务。手机还可以与云通信并返回到设备。为支持电话与设备的直接通信,或支持Apple的HomeKit等生态系统,需要蓝牙连接。如果所有设备都支持该协议,蓝牙可以与另一个Mesh网络结合使用,或者用作单个Mesh网络。在设备中添加对多种协议的支持也可以提供好处,例如使用手机安装或使用没有Zigbee或Thread网络的设备。连接需求应考虑整个生态系统,从终端设备到任何网关或集线器,再到应用层和服务提供商。Zigbee、BluetoothMesh等网络技术本身无法支持IP,必须先适配网关的IP。此过程涉及将网络级有效载荷映射到IP数据报并重新打包网络级有效载荷。相比之下,本地支持IP的本地网络(例如Thread)可以在没有干预的情况下推进和路由应用程序有效负载。本地网络中的加密数据包保持端到端安全。ZigBee和Thread的数据包结构Zigbee和Thread均采用IEEE802.15.4中的127字节数据包,基本数据速率为250kbps。虽然相同,但数据包结构不同,导致有效负载的大小略有不同。图2显示了Zigbee数据包格式,产生68字节的有效负载。对于超过68字节的有效负载,Zigbee将片段拆分为多个数据包。Thread数据包格式如图3所示,产生63字节的有效负载。对于63字节以上的有效负载,线程协议栈使用6LoWPAN。这些都是构建应用程序时要重点关注的设计参数。图3ZigBee的数据包格式图4Thread的数据包格式它们都是将较大的信息分解成较小的信息。对于Zigbee,分段处理发生在应用层,并从源到目的地端到端执行。对于线程,分段是在6LoWPAN层完成的。通过这些网络中的单播转发,一旦设备准备好发送消息就会被转发。对于组播转发,有一些网络要求:对于Zigbee设备,设备只有在64毫秒的抖动后才发送组播报文。但是,在重新传输初始消息之前,发起设备有500毫秒的间隔。Thread设备使用RFC7731MPL转发多播消息。涓流定时器设置为64毫秒,以便设备可以在重新发送之前随机返回。BLE数据包结构BLE具有以下数据包结构,以减少无线传输时间和功耗。BluetoothMesh进一步改进了这种数据包结构,增加了网状网络和安全功能。图5.蓝牙网状网络的数据包结构这意味着蓝牙网状网络只有12或16个字节可用于有效载荷,除此之外,数据包被拆分为单独的数据包,然后在目的地重新组装。这个分片数据包带有一个标头,用于标识应用程序中有效载荷的分片和12个字节,但最后一个片段除外,它可以更短。但是,蓝牙网状网络规范空间需要对这些碎片化数据包进行额外处理,从而增加延迟并降低吞吐量。由于所有吞吐量和延迟分析都基于应用程序负载,因此可以看出蓝牙Mesh将需要比Zigbee或Thread更多的数据包。路由与泛洪Zigbee、Thread和蓝牙网络专为智能家居和智能建筑而设计。Zigbee支持多种路由技术,包括用于路由发现的泛洪或组消息;网格中控制消息的下一跳路由;和多对一路由到网关,然后使用源路由到设备。Zigbee网络同时使用所有这些方法也是正常的。Thread还支持下一跳路由和泛洪。但是,作为正常网络维护的一部分,Thread网络会维护到所有路由器的下一跳路由,而不是作为执行路由发现的设备。Thread还最大限度地减少了活动路由器的数量以处理可伸缩性。以前,这被视为嵌入式802.15.4网络的局限性,因为存在大量路由器的网络泛洪限制了多播通信的频率和可靠性。需要注意的是,Thread网络管理活动路由器的数量和间距,不需要用户干预或管理。蓝牙网状网络支持管理泛洪。这是对Mesh的微调,用户可以指定哪些设备参与泛洪。这将减少泛洪的影响,但需要用户确定其网络中路由器的适当密度和拓扑结构,这可能会变得困难。随着网络条件的变化,哪些设备参与泛洪也可能需要改变,这也需要用户干预。蓝牙也有类似Zigbee或Thread的终端设备,称为“邻里”设备。邻居设备耦合到相邻的有线节点,并且邻居的数据包由有线节点存储。邻居设备会定期唤醒并询问邻居是否有任何数据包。有线节点仅在一定时间内保存数据包,因此Neighbors需要使用其配对的中继节点进行登记。图6.BluetoothMesh示例研究mesh拓扑结构可以分析网络规模。这些网络的行为非常不同,在考虑10节点网络或200节点网络时,路由和管理技术通常需要更改。通常,在小型网络中,设备可以适应一两跳和非常简单的路由或泛洪。随着网络规模的增加,复杂性也随之增加,例如设备之间的跳数增加;设备的密度,这可能会干扰相互发送消息;更多关于延迟和可靠性的担忧。如果使用泛洪类型信息打开100个灯,只打开98个或99个开关通常是不能接受的。此类问题在10节点网络中很少见,但在100节点网络中可能会变得普遍。SiliconLabs测试的结论为了最大限度地减少设备测试中的可变性,可以在固定拓扑中执行测试,其中RF路径与分离器和衰减器连接在一起,以确保拓扑不会随时间和测试而变化。SiliconLabs使用七跳测试来确保网络拓扑。当然也可以通过MAC地址过滤来实现网络拓扑。关注指标在之前的应用场景中,设计者希望为应用构建一个健壮的网络。在评估网络的稳健性时,要查看的指标包括吞吐量、延迟和可靠性。这三种度量可以准确地预测给定网络的鲁棒性。吞吐量:定义网络的可扩展性(有多少设备可以发送正常流量),以及高级数据操作的行为,例如将固件更新推送到设备延迟:描述一个动作发生需要多长时间。当涉及到最终用户交互(而不是机器对机器通信)时,这是一个关键参数,因为许多人都经历过超过100毫秒的操作。对于需要同时操作的过程,例如打开多个灯,时间必须低于100毫秒,以便最终用户不会抱怨连续打开灯时出现“爆米花”效果。可靠性:但是当用户与电灯和开关等日常设备交互时,用户期望100%的可靠性。事实上,硅谷实验室测试的可靠性高达99.999%。无论使用何种无线技术,这些都是网状网络测量的关键因素,并且与设备和无线系统的设计目标密切相关。基准测试SiliconLabs使用无线GeckoSoC平台进行测试,该平台可以运行蓝牙网状网络、Thread、Zigbee和专有协议,同时使用SiliconLabs的蓝牙、Thread和Zigbee软件堆栈。测试环境是一个商业办公楼,有活跃的Wi-Fi和Zigbee网络。无线测试集群部署在走廊、会议室、办公室和开放区域。100字节负载的吞吐量图7吞吐量与多跳的比较一个典型的网络由两到三跳组成。吞吐量根据跳数而变化。随着跳数的增加,协议性能变得相似。BluetoothMesh小数据包有效负载导致吞吐量降低。四跳的延迟图8四跳网络的延迟所有协议在较小的有效载荷下提供相似的延迟Thread(6LowPAN)在有效载荷大小增加时实现最佳效率和延迟性能。Zigbee具有良好的效率,但由于存在一些应用层碎片,由于数据包大小和由此产生的碎片,BluetoothMesh的延迟随有效负载大小而显着降低。图9小负载小网络组播时延三个协议的峰值均低于50毫秒,网络扩容后均扩大到90毫秒,远低于200毫秒的市场目标。此外,所有协议的多播提供了非常高的可靠性。中等负载小型网络的多播延迟图10中等负载小型网络的多播延迟Thread在延迟高达100毫秒(ms)时表现最佳。大多数Zigbee实现的数据包都有80ms的延迟,逐渐扩展到130ms。BluetoothMesh延迟为60ms,延长至250ms。192个节点均为BluetoothNesh中继节点,没有优化任何中继节点。Figure11MulticastLatencyforLargeNetworkwithSmallPayload图11.当延迟扩展到100ms时,线程性能最佳。大多数Zigbee实现的数据包都有80ms的延迟,逐渐扩展到130ms。BluetoothMesh延迟为60ms,扩展到250ms所有192个节点都是BluetoothMesh中继,没有中继优化测试结果Thread、Zigbee和BluetoothMesh在小型网络中以较小的有效载荷运行类似Thread和Zigbee在有效载荷和吞吐量方面比BluetoothMesh表现更好要求增加随着网络规模的增长,这三者的延迟都会增加,但蓝牙网状网络也在增长***选择物联网无线连接解决方??案应包括其他标准,例如预期的生态系统和功率要求对于大型蓝牙网状网络,可以利用中继节点优化来优化性能当短消息(11B)用于多播消息时,蓝牙Mesh的效果***结论基于所用解决方案的理论网络大小不能准确反映网络在实际实施中需要的节点数量。实际限制基于网络拓扑、数据包大小和性能要求(如吞吐量和延迟)等因素。例如,一个Zigbee设备子网有100个设备的实际限制,尽管可以部署非常大的商业系统,例如拉斯维加斯的AriaHotel,它有超过80,000个Zigbee网络和多个子网。设备。1.1协议针对每个网络约250个节点进行了优化,但由于线程是基于IP的,因此边界路由器使网络更易于扩展和分布。网状网络的选择取决于最终应用或生态系统。有许多成熟的生态系统,例如PhilipsHue、AmazonEchoPlus和ComcastXfinity。如果设备制造商想要与这些生态系统互操作,Zigbee是最佳选择。如果没有为应用程序指定生态系统,则还有许多其他协议选择。Thread和蓝牙Mesh都是可行的选择,并且是Zigbee之外最常见的选择。IC供应商提供的开发工具对Mesh网络的开发速度影响很大。数据包跟踪和多节点能量分析等工具可以确保所选网状网络得到很好的支持。最终,网络的规模、所需的延迟、预期的吞吐量和整体可靠性将推动网状协议的选择。本文由以下3篇文章整理而成:http://www.embedded-computing.com/iot/how-zigbee-thread-and-bluetooth-mesh-stack-up-in-performance-benchmarkinghttps://www.silabs。com/products/wireless/learning-center/mesh-performancehttps://www.silabs.com/whitepapers/selecting-the-appropriate-wireless-mesh-network-technology【本文来自专栏作者《老Cao》,作者微信公众号:哦家ArchiSelf,id:wrieless-com】点此阅读作者更多好文