Z-Wave Networking Basics

qq:380939960

Z-Wave的网络层定义了一个由最多可以容纳231个设备组成的网络,适合大多数住宅和轻型商业应用。他们定义一个网状网络拓扑(mesh network),其中线路供电(main-powered)设备被用作双向信号中继器。这个网状网络提供了一个扩展通信区域同时保持低发射功率,提高覆盖范围,冗余和容错链路,并使电池供电的设备在尽可能大的范围内进行通讯。 为了获得尽可能低的延迟,Z-Wave网格使用一些发现和路由机制,如果需要的话,源节点会启动一种称为Explorer Frame的点对点按需路由机制(ad hoc on-demand routing mechanism),通过这些措施可以保证即便是在动态网络中消息也可以被传递。 Explorer Frame是新设备入网就可以被发现即插即用的关键,同时在环境条件变化而破坏网络链路时,使网络链路可以动态自愈。 不像其他流行的网状网络,Z-Wave的网状网络不需要“协调器”或主设备来创建路由和直接通讯。这消除了在大多数其他流行的网状网络技术可能会出现的单点故障。

在Z-Wave协议中称呼添加和删除设备为inclusion/exclusion.

如上图所示,Z-Wave网关发出添加设备命令;被添加的设备发送NIF(Node Information Frame节点信息)给网关,通报网关自己支持的功能等信息。网关分配HomeID和NodeID给被添加设备。 NodeID在该Z-Wave网络中用来唯一识别该设备,整个Z-Wave网络有一个共同的HomeID;负责添加和删除的节点称为Primary Controller,一个ZWAVE网络只能有一个Primary Controller;在智能家居应用场景中,通常ZWAVE网关就是Primary Controller。

无线链路可能受到信号衰减,无线电波反射,干扰,湿度和其他物理现象不同程度上的影响。

如上图中,网关发出的无线电信号在天线的各个方向上传播,它可能会因为墙壁的反射而被衰减,也可能因为穿透墙壁而被衰减,也可能被工作在同一个频率上的其他设备的无线电波干扰。

天气变化,人在室内走动,或者打开冰箱的门等都可能会影响这种现象。另外一个需要注意的是,建筑材料中的金属存在,所以可能一个节点仅仅移动了很小一段距离,但是无线链路却很可能就会收到影响。

ZWAVE的每个数据帧都携带有校验和,因此接收节点可以通过此校验和来验证接收到的数据帧的完整性。 如果发现校验和不对,则认为该帧是无效的,丢弃它。

接收节点通常会返回Ack消息以便确认已经接收到帧, 如果发送节点没有接收到Ack,则它必须假设传输失败。 然后发送节点将重传相同的消息,直到它从接收节点获得反馈。 如果尝试三次传输都不成功的话,发送节点就将认为链路失效,被关掉了。

发送ACK确认消息是用来确认帧的完整性,但是它不意味着接收节点已经理解或执行该命令。

在ZWAVE协议中可能会有一些节点作为repeater,用来将消息路由到目的地,在ZWAVE协议中称为routing。

在加入网络时,Primary Controller会要求新加入的节点去发现它周边的邻居节点,借助于邻居节点信息,Primary Controller可以建立一张网络地图,并据此来知道到达某个节点的所有可能路线。当使用中继器(repeater)时,发送节点会在发送的数据帧中包括路由信息, 每个中继器解析路由信息并相应地转发帧。

例如上图中,5号节点需要发送一个消息给远处的是11号节点灯泡。当需要中继时,5号节点会在数据帧中包含路由信息,告诉到达11号节点需要经过3->4->8这几个节点的中继。

如果在添加设备时候节点无法直接连上Primary Controller的话,也可以使用路由。当链路失败时,发送节点会使用网络地图信息来选择另外一个路径尝试发送数据。当所有已知的路径都失效后,发送节点最后会发送一个Explorer Frame来尝试找到新的路由。Explorer Frame会被附近的其他节点中继,并且纪录所经过的路由,直到它到达目的节点。目的节点会利用Explorer Frame中纪录的路由信息,反向路由回复Controller发出的Explorer Frame。通过这种方法,重新找到新的路由。如下图所示:

不同的节点会有具有不同的能力,在添加设备的过程中,被添加的设备会发送它的NIF。被添加设备通过NIF描述它的具有的网络能力和以及它可以完成的应用功能(例如锁)等;

一个设备可能会有包含有多个sensor或者控制其他设备的功能(例如温度计联动控制风扇等),即便是这样,这个设备也只能有一个NodeID,但是它的多个sensor或者控制器通过End Point来区分和识别。类似于互联网上的应用,一台PC有一个IP地址,但是一台电脑上可以用多个不同的应用,这些应用通过port来区分彼此。

Primary Controller可以通过设备发来的Association Group Information (AGI)信息来知道这个设备可以上报哪些事件。AGI告诉哪些事情会触发事件上报,典型的有:按键被按下,sensor数据读取,或者一个告警被触发。AGI同时也给出了sensor的类型,通过AGI信息Primary Controller可以知道这个设备包含有哪些类型的sensor。

Z-Wave Networking Basics ZWAVE网络基础相关推荐

  1. Z-WAVE TIME AND DATE BASICS ZWAVE网络中的时间管理

    Z-WAVE TIME ANDDATE BASICS  qq:380939960 在Z-Wave网络中,如果设备需要显示时间或者做一些基于时间的控制操作时,它需要知道当前时间.此时设备可以通过Time ...

  2. 网络基础四 DNS DHCP 路由 FTP

    第1章 网络基础 1.1 IP地址分类 IP地址的类别-按IP地址数值范围划分 IP地址的类别-按IP地址用途分类 IP地址的类别-按网络通信方式划分 1.2 局域网上网原理过程 DHCP原理过程详情 ...

  3. 网络基础(2)---子网划分、TCP/IP、DNS、DHCP

    网络基础(2) IP的分类: A,B,C,D,E A,B,C三类为单播地址 (既可以作为源IP,也可以作为目标IP使用) D ---- 组播地址 只能作为目标IP使用 E ---- 保留地址 ​ 单播 ...

  4. Linux运维网络基础

    网络基础第一部分 其他优质文档 文章目录 网络基础第一部分 课程概述介绍说明 1. 网络学习概念介绍 2.网络实现通讯条件 3. 网络重要设备介绍 3.1交换机 3.2 路由器 4. 网络路由配置方法 ...

  5. k8s网络基础学习-Calico网络插件

    第十课 k8s网络基础学习-Calico网络插件 tags: k8s网络 calico proxy arp bgp full mesh bgp RR 文章目录 第十课 k8s网络基础学习-Calico ...

  6. 通信网络基础 ——RIP、OSPF、BGP等协议及模拟实验

    通信网络基础 1. 常用设备及参数说明 1.1 路由器 1.2 交换机 1.2.1 主要知识点区别 1.2.2 三层交换机配置 1.3 物理介质 2. 常用命令解释 2.1 路由器常用基本命令 2.2 ...

  7. Linux 网络基础学习

    Linux 网络基础知识 网络的基础知识包括: TCP/IP , Network IP, Netmask IP , Broadcast IP,Gateway, DNS IP等等 OSI的网络七层协议 ...

  8. 敖丙思维导图-网络基础

    敖丙思维导图系列目录 这些知识整理都是自己查阅帅丙资料(当然还有其他渠道)加以总结滴~ 每周都会更新知识进去. 如有不全或错误还请大家在评论中指出~ 敖丙思维导图-集合 敖丙思维导图-多线程之sync ...

  9. 网络基础笔记--看一眼睡意盎然

    网络基础 晚上睡不着必备文章 计算机网络的概念/定义 通过通信线路和网络设备将地理位置不同.具有自主处理能力的多台计算机互连起来,以功能完善的网络通信协议和其它网络软件实现资源共享和信息传递的系统集合 ...

最新文章

  1. Selenium之定位浏览器弹窗方法汇总
  2. 机器视觉与深度神经网络—洗去浮华,一窥珠玑
  3. 《统计学》学习笔记之分类数据分析
  4. 使用工具Source Monitor测量您Java代码的环复杂度
  5. 【转发】未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。...
  6. php mysql索引最左原则_MySQL 索引使用策略及优化
  7. 创建log文件的代码
  8. Java—图书管理系统
  9. 台达b3伺服参数设置方法_台达伺服基本参数设置
  10. 引入静态资源出现net:ERR_ABORTED
  11. 解除windows10多账户远程桌面连接限制
  12. 案例:Java用面向对象的思想设计游戏中的角色
  13. 解决调用接口时的OPTIONS请求
  14. Python 爬虫自动访问点击刷CSDN博客文章阅读量
  15. 【途牛旅游项目】项目环境搭建,实现登陆功能
  16. linux主分区和逻辑分区
  17. 未解Bug-邮箱字母莫名变成大写,导致修改密码时密码不一致
  18. SAP官网学习教程(1)申请个人学习环境
  19. jquery 中 $(document).ready() 与window.onload 的区别
  20. 苹果开发者续费以及查看账号到期时间

热门文章

  1. 小家电快充芯片,小家电type-C快充方案芯片 LDR6328S PD取电芯片
  2. 《C++ Primer》引用和指针
  3. 为什么大家都用C语言开发单片机,原因都在这啦
  4. 【报告回顾】精、稳、敏、融,步入人民金融时代
  5. 设计模式之责任链模式学习
  6. 基于Metronic的Bootstrap开发框架经验总结
  7. html跳转微信app,微信开放标签:微信网页H5跳转微信小程序、APP
  8. 热电偶转4-20ma/NTC转0-5v信号转换模块,温度变送器
  9. 邓俊辉老师数据结构课程笔记
  10. ffmpeg播放器快进快退(七)