Silicon Labs(芯科科技)做为Zigbee联盟和ThreadGroup的重要,近年不遗馀力研发并优化动态多协议无线技术,期能早日促进各种无线技术能沟通无阻。随著Zigbee联盟和ThreadGroup正式发布基于Thread IP网络全新的Dotdot规范,做为智能设备在任意网络上进行通信的通用标准应用语言,开发人员首次可以放心地在IP网络上使用成熟、、且可互操作的物联网语言,将有助于整合碎片化的智能连接设备行业,开拓新市场。
为了帮助工程师更容易了解Dotdot的基础知识与设计应用,Silicon Labs软件系统工程经理兼Zigbee联盟Mesh IP技术小组委员会Ezra Hale先生撰写了一篇技术文章-“Dotdot:IoT语言”,以宏观的角度介绍了Dotdot规范和应用层面,以及为IoT设备开发带来的诸多优势,欢迎点击“阅读原文”观看完整文章。
2013年三名工程师(分别来自一家协议栈供应商和两家彼此竞争的门锁制造商)坐在一间没有窗户的会议室里,在那里就构建他们的IoT设备达成协议。两家制造商的门锁设计各具特色,都希望能融入Zigbee生态系统,并且以相同的方式进行产品通信。这次思想的碰撞产生一些有争议的地方,但是几天后这些工程师就达成了协议,它成为了Zigbee簇库(ZigbeeCluster Library,ZCL)中的门锁簇(Door Lock Cluster)。
在应用层,Zigbee通过称为“簇(Cluster)”的实体提供标准化的通信协议。簇定义了设备能发送或接收什么命令以及设备注意哪些数据或属性。门锁簇定义了包括依照预计时间表的上锁及解锁时间以及密码锁等所有功能。因此在Zigbee协议栈的绝对顶层,门锁有非常明确和标准化的方式,可以用来与Zigbee网络的其余设备和外部世界进行通信。
这听起来平淡无奇,但是重要的是这些工程师进行的工作已经在Zigbee中重现了数百次。在过去的十年中,Zigbee公司已经构建了Zigbee簇库(ZCL),涵盖范围从照明到窗户传感器,从恒温器到智能电表等各种应用功能。这是ZCL的核心,当被移植到其他网络传输上时,它是Zigbee带来的真正价值。
在物联网中,每个智能设备都必须在应用层中理解和使用相同语言。人们期望智能集中器知道如何与现成的门锁或恒温器进行通信和控制。没有通用应用层,网络层性能如何其实不重要。通用应用层是IoT网络标准需求的一个关键要素,是将Zigbee簇库移植为通用、应用语言的核心价值,也是Zigbee已经命名为Dotdot所取得的成就。
Thread网络协议使用6LoWPAN,一种IPv6的精简形式。这使得Thread设备能够直接与其他IP设备进行交互,从而无需像在Zigbee3.0中那样通过网关。Thread网络上的边界由器充当了从IPv6数据到云端的通道,反之亦然。因此,Thread网络上的设备可以直接与其他IP设备进行交互。
Dotdot使用互联网工程任务组(IETF)定义的通用、IP友好的协议规范,例如受的应用层协议(CoAP)和简明二进制对象表示(CBOR)。因此,式库可用于开发应用,大大加快了设备开发进程。
Dotdot over Thread(详见图1)需要使用数据报传输层安全性或DTLS。这使得Thread网络上的设备能够确保它们不仅与受信任的设备通信,还确保它们的通信安全。除了使用DTLS之外,Dotdot还需要在约束(ACE)上使用的认证和授权,通常称为访问控制。访问控制允许部署设备准确的指定一个设备上哪些资源是可用的,甚至即使恒温器与门锁共享DTLS连接,它也不能直接控制锁,除非它具有适当的访问权限。
迄今为止,产品开发人员不得不在以下技术中进行选择:a)支持可靠的、本地的、设备到设备的互操作性,但通常其产品(和他们的数据)在第三方网关上遇到困难,或b)将这些产品直接连接到互联网,但是为了采用有效的方式连接设备在一起,不得不面对可靠性、互操作性和用户体验带来的挑战。
Zigbee簇库是针对低功耗和网络上设备到设备通信以及电池供电设备而构建和优化的。这意味着信息被压缩成紧凑的、最适合于单个127字节802.15.4数据包之内。另外,消息模式是基于最小化设备之间的通信,减少不必要的交流。并且电池供电的设备发起它们通信的大部分,这是因为它们在睡眠时不能可靠的接收。Dotdot的开发保持了ZCL中的这些基本原则和经验,以确保它也适用于这些低功耗和网络的同时,切换到大众所知的IP友好协议。
使用Thread可以消除在网状网络上通常所需的网关,它直接了解如何与每个设备通信。通过使用通用Thread边界由器,去创建一个DTLS连接是有可能的,从Internet上的任何到本地网状网络上的一个设备,并且与该设备进行安全通信。这允许IoT系统“大脑”处于云端,并直接与网络上的设备进行通信,而无需担心网关上的固件版本。Thread边界由器充当一个通道,因此当网状网络的组成会发生变化并且新设备将被添加或升级时,它不需要固件升级。这意味着可以做一些复杂的事情,例如在安全通信通道上从云端直接更新网状网络上设备的固件,大大简化了网状网络设备的管理。
由于Dotdot是从ZCL派生出来的,因此使用网关在两者之间进行转换很简单。这是至关重要的,因为这意味着新的Dotdot设备可以无缝桥接到现有的Zigbee设备,确保顺畅的用户体验和互操作性。这也意味着现有的Zigbee设备可以使用Dotdot和IP友好的协议桥接到云端,简化远程设备控制和管理。
Zigbee已经认证了近十年的应用层功能(Zigbee簇库)。Zigbee联盟也在为Dotdot开发一个自动测试。该测试确保Zigbee及其能够认证Dotdot设备及其他们的应用层功能,并确保来自不同供应商的设备能够在同一网状网络上进行互操作。当您选择Dotdot作为你的IoT设备的应用层时,你就拥有了可靠的、通过认证项目所带来的益处。
虽然最初的焦点是Dotdot over Thread,但是扩展到其他IP网络也相对简单。Dotdot基于IP友好协议和IPv6,因此用法可以很容易的将其扩展到Wi-Fi或Ethernet。对于本质上不支持IPv6或IP协议的蓝牙传输技术等,需要一些适配。
关于组网,退网的问题,请问该如何操作才能删除nv-restore存储的信息,又不影响二次入网?
一个终端节点加入网络中,该如何实现? 在成功组网之前,协调器可以得到终端节点的MAC地址吗 ?
两个ZigBee模块进行了地址交互并存到了NV中并进行点对点通讯 ,请问重新上电不能正常通讯是怎么回事? |