物联网及低功耗蓝牙5.x高级开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5 ZigBee、Thread、CHIP、Matter和CSA简介

互联网快速发展的关键之一是解决了“最后一公里”的问题,物联网快速发展的关键之一是解决了“最后一百米”的问题。“最后一百米”范围内的设备密度远远超过了“最后一公里”范围内的设备密度,特别是在智能家居、智慧城市、工业物联等应用领域。围绕着物联网“最后一百米”连接技术的解决方案,业界提出了多种中短距离无线技术。随着这些技术的不断进步,这些技术也在不断地实用落地。其中,低功耗蓝牙技术围绕智能化和物联网的需求不断升级迭代,成为令人瞩目的一抹亮色。

在可穿戴设备领域,低功耗蓝牙是应用最广泛的技术标准,在消费物联网领域大获成功。将目光放到整个物联网领域,低功耗蓝牙也是众多产品的选择之一。没有人能预测哪种技术标准能够在这个不断发展变化的市场统一天下,因此很多产品都支持多种连接标准,以适应更多的应用场景。

没有一种无线技术能够适合所有的物联网(IoT)应用场景。为了使物联网产品的设计更为灵活,在不同的应用场景发挥各种协议的优势,Nordic的全新SoC芯片为多协议平台,即在低功耗蓝牙的基础上,还支持如蓝牙Mesh、ZigBee、Thread、IEEE 802.15.4、ANT、NFC、2.4GHz特性、CSA、CHIP和Matter等,这使得采用Nordic的SoC芯片开发的产品具有极大的灵活性和通用性。对于物联网开发人员,选择一个好的平台十分重要,这将使得产品具有更大的灵活性,并为创新应用提供基础与支撑条件。Nordic的多协议SoC芯片,不仅支持当前主流的无线协议,同时还面向未来,具有极好的开放性,为物联网应用的开发提供了有力的架构支撑。

本节主要介绍几种以解决物联网“最后一百米”为目标的无线协议(见图1-8)及其最新演进。

图1-8

1.5.1 ZigBee简介

ZigBee是基于IEEE 802.15.4标准的协议,工业物联网和智能家居是其主要的应用场景。ZigBee以低功耗和高稳定性著称,从设计之初就支持了高可靠、自恢复的Mesh组网功能,使用ZigBee的设备可以通过中继方式传输数据,即使在较大范围内也能保证较低的延时。ZigBee的示意如图1-9所示。

针对不同的应用场景,ZigBee的早期版本(以ZigBee1.2为代表)为每个不同的品类设计了独立、互不兼容的ZigBee协议,因而早期的ZigBee协议有非常多的类别,这意味着不同品类的设备将无法进行Mesh组网。

由于绝大多数厂商都专注于特定的应用领域,更“专用”的协议一开始没有引发过多的问题。随着全屋智能家居概念的兴起,部分智能家居厂商的产品已经横跨多个品类,不同的ZigBee协议对应不同的应用场景,但这些ZigBee协议是无法互相通信的。例如,采用ZigBee HA协议的开关,无法控制采用ZigBee LL协议的灯泡,不仅提高了用户使用ZigBee智能家居系统的门槛,也无法组成一个完整的全屋智能家居。因此,各厂商不得不对ZigBee HA协议进行扩展,以适配更多类型的设备。然而这种“私有扩展”大大破坏了ZigBee协议的兼容性,导致ZigBee跨品牌生态名不副实。尤其是ZigBee协议还允许了“品牌壁垒”这一原则,即使协议兼容,各厂商仍然可以控制是否允许第三方品牌的设备入网,同时也可以限制自家的硬件产品接入第三方的设备网络。这种所谓的“开放性”造成了另外一种混乱:智能家居硬件厂商几乎不愿意让第三方设备接入自己的ZigBee网络,各厂商的ZigBee设备都需要自己的网关,采用多个智能家居品牌的用户家中可能有多个独立且覆盖范围重合的ZigBee网络,这就造成了不必要的浪费,也影响了用户的体验。

图1-9

在现实面前,ZigBee联盟也意识到了这一点,所以ZigBee3.0应运而生。

ZigBee联盟在设计ZigBee3.0时,有着十分理想的初衷:只要统一了所有设备的协议,就能大大提高ZigBee协议的实用性,将更多不同的设备互联起来。但实际上,ZigBee3.0最大的问题可能在于它继续允许“品牌壁垒”这一原则的存在。为了解决各厂商“圈地”的问题,ZigBee联盟推出了号称完全开放跨品牌连接的ZigBee认证,目前已有近4000款产品通过了ZigBee认证。通过ZigBee认证的产品,既可以连接同品牌、已获认证的桥接器,也可以直接连接已获认证的智能音箱或者未获认证的合作品牌家庭网关,但无法连接已获认证的其他品牌网关。

ZigBee认证不但没有改善跨品牌的互通环境,反而让情况变得更糟糕。ZigBee认证只是检查设备是否采用标准协议,以及是否能控制使用标准协议的设备,并不会测试或强制要求各厂商向消费者提供完整的跨品牌联动能力。即使两款设备均通过了ZigBee认证,仍然需要通过如HomeKit这个更高级的协议进行联动,这不仅会增加延时,还会额外增加用户的成本。这使得ZigBee认证形同虚设,甚至是“营销大于实用”。希望获得ZigBee认证的厂商还需要先加入ZigBee联盟并缴纳高额的费用,对于众多中小企业及小品牌来说,这也是一笔不小的负担和支出。这些问题的存在都影响并阻碍了ZigBee的发展与推广。

1.5.2 Thread简介

鉴于ZigBee的种种弊端,来自应用场景的需求也在不断推动相关标准的发展。从某种程度来说,Thread是ZigBee的“半个事实继任者”。

Thread是谷歌Nest实验室主导开发的协议,更确切地说,Thread是由独立的Thread工作组主导的,但ZigBee联盟(连接标准联盟)也在Thread工作组官方合作伙伴之中。Thread的示意如图1-10所示。

图1-10

可以说,Thread是为接下来要介绍的CHIP(即后来的Matter)量身打造的。Thread同样基于IEEE 802.15.4,但在传输层实现了IPv6,彻底解放了设备互联的限制,允许低功耗设备直接接入互联网。与ZigBee相比,Thread支持更强的安全标准,但Thread没有定义顶层的应用协议,需要承载其他的顶层协议,如HAP(HomeKit Accessory Protocol)、Matter等公开协议,或者由厂商自行设计的私有协议。这意味着Thread无法直接替代ZigBee之类的完整解决方案。Thread的架构示意如图1-11所示。

图1-11

为了适配不同类型的产品,Thread同样推出了认证,该认证同样只面向工作组成员开放。但无论产品是否通过了Thread推出的认证,都不存在“品牌壁垒”问题。在智能家居中,所有Thread设备都处于同一个局域网中,并且只要有一个网关设备就能让所有的Thread设备连接互联网。这样的设计避免了ZigBee3.0的遗憾,可以在传输层面完美替代ZigBee,Thread发展的日益成熟可能也是连接标准联盟(CSA)选择“放下”ZigBee的重要原因之一。

1.5.3 CHIP简介

基于IP的互联家居(Connected Home over IP,CHIP)项目始于2019年12月,是由亚马逊、苹果、谷歌和ZigBee联盟共同发起的基于IPv6的智能家居互联协议。CHIP致力于打造一个基于开源生态的全新智能家居协议,它是一个高层协议,工作在OSI七层模型中的传输层以上,且仅仅依赖传输层中的IPv6协议,从而兼容了不同的物理媒介和数据链路标准。

CHIP获得如此高的关注,并不是因为它在概念和标准上的先进性,而是源于三家智能家居巨头的承诺。在CHIP项目立项之初,亚马逊、苹果和谷歌就承诺使用CHIP协议的设备,将兼容Alexa、Google Home和HomeKit生态,给业界注入了一针“强心剂”,并让无数智能家居业内人士发出了“这就是未来”的感叹。

顾名思义,CHIP是基于IP的,旨在支持智能家居设备、移动应用程序和云服务之间的通信,并为设备认证定义了一组特定的基于IP的网络技术。CHIP旨在建立一个新的、统一的连接协议,该协议将使用来自亚马逊、苹果、谷歌、ZigBee联盟等的智能家居技术。

对于初学者来说,可以将CHIP理解为支持三种技术的网络标准。第一个CHIP规范发布的目标是通过IP协议实现Wi-Fi(包括IEEE 802.11ax,也就是Wi-Fi 6)、Thread(包括IEEE 802.15.4-2006、2.4GHz)和低功耗蓝牙。

在现实中没有一种网络协议可以适合所有的设备和用例。如Wi-Fi的传输速率高,但功耗高,适合插电式的设备;Thread和低功耗蓝牙的传输速率较低,但功耗极低,一个纽扣电池可以工作数月乃至数年,适合电池供电的设备。CHIP项目的工作组希望兼容的设备必须至少实现一项CHIP支持的技术,而不一定实现所有的CHIP支持技术。因此,各厂商将选择最合适的技术,而网关则需要支持三种技术。

1.5.4 Matter简介

2021年5月11日CHIP更名为Matter。同一时间,ZigBee联盟更名为连接标准联盟(Connectivity Standards Alliance,CSA)。Matter的目标是简化各厂商的开发,并提高产品的兼容性。Matter建立在一个共同的信念之上,即智能家居设备应该是安全、可靠和无缝使用的。Matter以IP协议为基础,并为设备定义一组基于IP的网络技术。

1.5.4.1 Matter的架构

Matter的架构如图1-12所示。Matter定义了部署在设备上的基于IPv6网络的应用层,以实现互操作性的架构为目标。Matter支持Wi-Fi、Thread和BLE作为底层通信的核心。

图1-12

1.5.4.2 Matter的应用层

Matter的应用层可以进一步细分为7个模块,如图1-13所示。

(1)应用(Application):设备的高阶商业逻辑,例如专注于照明的应用程序可能包含打开或关闭灯泡,以及控制灯泡颜色的逻辑。

图1-13

(2)数据模型结构(Data Model Structure):描述设备各种功能的数据模型结构,当应用程序与设备交互时,应用程序对这些数据模型结构进行操作。

(3)交互模型动作(Interaction Model Actions):表示可以在设备上执行的与设备进行交互的一组动作。例如,在设备上读取或写入属性相当于和设备进行交互。交互模型动作可对数据模型结构进行操作。

(4)动作架构(Action Framing):一旦使用交互模型动作,就会构造成一个方便在连接上表示的、规范的二进制格式数据包。

(5)安全(Security):包括加密和签名(Encryption&Signing):对交互的数据进行加密和签名,以确保发射端和接收端都对数据进行加密和验证。

(6)消息构架和路由(Message Framing&Routing):与加密和签名进行交互,通过可选的或必需的包头创建需要的数据构造,指定消息的属性以及一些路由信息。

(7)IP成帧和传输管理(IP Framing&Transport Management):将交互的数据进行IP封包后发送到底层,通过传输协议进行数据的IP管理。

Matter支持多种协议,可以让采用不同协议的智能家居设备进行通信。此外,Matter还统一采用了低功耗蓝牙(BLE)作为配对方式,Matter设备的基本入网流程是:

(1)通过扫码方式连接低功耗蓝牙进行配对。

(2)通过低功耗蓝牙交换入网信息,将新设备接入Wi-Fi网络或Thread网络。

(3)在局域网内使用Matter和IPv6进行通信。

这个流程与苹果HomeKit添加设备的步骤非常类似,不过后续使用的不再是HAP协议,而是三大智能家居巨头通用的Matter协议,甚至有望一次性接入全部支持Matter的智能家居平台。这就意味着智能家居中的Matter设备都处于同一个、统一管理的设备池中,各个智能家居平台都可以通过智能音箱之类的网关获得访问权限,可以从设备池中筛选并控制兼容的设备,而不是像之前那样每个平台都维护一个设备池,再通过云端接入或者私有协议相互授权。

1.5.4.3 Matter的网络拓扑结构

典型的Matter应用的网络拓扑结构如图1-14所示。在典型的Matter应用中,设备通过低功耗蓝牙加入Matter网络,通过Wi-Fi或Thread相互连接;Thread设备通过边界路由器(Border Routers)连接到其他的基于IP的网络;网桥可以连接其他协议的设备,如ZigBee和Z-Wave。

图1-14

1.5.5 CSA简介

基于发展的需要,2021年5月11日,ZigBee联盟宣布改名为连接标准联盟(CSA,见图1-15),由亚马逊、苹果、谷歌联合推出的可互操作的智能家居连接标准——Matter也于当天发布。CSA希望成为物联网(IoT)行业中具有更大影响力和责任感的组织,从而实现整个行业的协作和创新。

图1-15

ZigBee联盟更名为CSA后,Matter成为CSA发展和推广的重点。

1.5.5.1 Nordic加入CSA

Nordic宣布加入CSA中国成员组(CSA Member Group China,CMGC)。CMGC是CSA的一个重要分支,旨在通过推进联盟技术标准的落地和认证,促进和实现中国智能家居设备的互操作性。Nordic自CHIP早期就起着主导作用,加入CMGC后可加速Matter的推广工作。

Matter是用于智能家居的统一且安全的IP连接协议,在全球范围内得到了180多家企业的支持,CSA以此确保来自不同生态系统(如苹果、谷歌和亚马逊)的Matter认证设备和家庭集线器之间能够实现无缝连接。Matter的目标是在成熟的传输控制协议(TCP)和用户数据报协议(UDP)之上创建通用应用协议,非常适合在无线设备和另一个设备、应用程序或服务之间提供无缝的、保护端到端安全和隐私的连接或云连接,从而确保设备、平台和生态系统之间的互操作性。CMGC将在中国市场推动Matter,Nordic也将发挥主导作用以帮助实现此愿景。

1.5.5.2 Nordic的SoC芯片对Matter的支持

Nordic的多协议SoC芯片架构如图1-16所示。Nordic的SoC芯片底层提供了对低功耗蓝牙、Thread和IEEE 802.15.4的完全支持,在应用层上有Matter的应用层协议,使得采用多协议SoC芯片的产品可以无缝接入Matter生态。

图1-16

本书重点介绍Nordic的多协议SoC芯片nRF5340,虽然本书以介绍低功耗蓝牙的开发为主,但在此基础上进行Matter应用的开发是一脉相承的,因为采用的都是Nordic的NCS平台,不同的协议在同一个平台上是很容易切换的。一个平台支持多种协议,对于开发者来说,是最理想的开发方式,可以避免不同协议在不同平台上切换时的痛苦与低效。