ZB 入网方式

2024-06-12 00:58
文章标签 方式 zb 入网

本文主要是介绍ZB 入网方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。

1、通过连接加入网络

                               》》  终端发送Beacon

                              《《协调器发送超帧响应

                                默认这个过程为3次。

                               》》终端发送 Association request (关联请求)//协议

                                》》终端发送data request

                                《《协调器分配终端短地址,这是通过长地址进行通信

                                 》》加入网络后,终端设备发送广播,告诉所有设备他的短地址和mac地址,

2、孤立入网,这是最快加入网络方法,加入协调器删除了关联表,终端再次入网必须通过Rejoin重新入网

                               》》终端发送孤立声明 Orphan notification

                               《《协调器发送 Coordinator realignment

                                》》加入网络后,终端设备发送广播,高速所有设备他的短地址和mac地址,  

3、重新加入网络。(Rejoin)

                     》》  终端发送孤立,协调器不理他。

                      》》终端发送beacon request(次数和时间我们可以设置)

                          《《协调器发送超帧

                          》》终端发送Rejoin request 和ack(这个ack是协调器发送的,根据帧序号判断)

                         》》终端发送 data request和ack (这个ack是协调器发送的,根据帧序号判断)

                        《《协调器发送  Rejoin Response和ack(这个ack是终端发送的,根据帧序号判断)

                        》》加入网络后,终端设备发送广播,告诉他的短地址和mac地址

注意:在有老化机制的时候,若协调器短时间掉电,终端可以通过孤立入网,若长时间掉电(协调器关联表的刷数据已删除),终端通过Rejoin加入网络;若终端短时间掉电,终端可以通过孤立入网,若长时间掉电(协调器关联表的刷数据已删除),终端通过Rejoin加入网络。

超帧:

重新入网流程由 ZED 发起信标请求开始,重新入网和潜在的父节点是否允许入网标记无关,只和潜在的父节点的容纳能力有关,即使潜在的父设备关闭了入网许可,只要它有空间容纳子节点,重新入网依然可以成功。当 ZED 收到信标应答后,它选择一个和自己有相同 PAN ID 的网络入网,并获得新的网络短地址。最后 ZED 发布一条通知,告诉网络它已经移动了,这样网络中的其他节点可以更新路由表。同时保留设备绑定信息。

这篇关于ZB 入网方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1052746

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

Mybatis的分页实现方式

《Mybatis的分页实现方式》MyBatis的分页实现方式主要有以下几种,每种方式适用于不同的场景,且在性能、灵活性和代码侵入性上有所差异,对Mybatis的分页实现方式感兴趣的朋友一起看看吧... 目录​1. 原生 SQL 分页(物理分页)​​2. RowBounds 分页(逻辑分页)​​3. Page

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

Python验证码识别方式(使用pytesseract库)

《Python验证码识别方式(使用pytesseract库)》:本文主要介绍Python验证码识别方式(使用pytesseract库),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1、安装Tesseract-OCR2、在python中使用3、本地图片识别4、结合playwrigh