Zigbee—基于Z-STACK组网

news2025/1/9 16:26:58

                                                     🎬慕斯主页修仙—别有洞天

                                                       ♈️今日夜电波:チノカテ—ヨルシカ

                                                                0:46━━━━━━️💟──────── 4:08
                                                                    🔄   ◀️   ⏸   ▶️    ☰ 

                                      💗关注👍点赞🙌收藏您的每一次鼓励都是对我莫大的支持😍


目录

一、组网的介绍 

二、基于Z-STACK组网 

        前言 

        星状

        树状

        网状  

         根据原理修改Z-STACK源码

1、修改panid

2、修改拓扑

3、增加一些定义

4、一些额外定义

         星状网组网成功后的演示视频


一、组网的介绍 

        Zigbee是一种基于IEEE 802.15.4标准的低功耗、短距离无线通信技术。它采用星型、树型和网状等多种组网方式。
星型组网方式:所有设备都连接到一个中心节点,所有的数据都由中心节点转发,这种组网方式适用于只需要一个中心节点的系统,例如家庭自动化系统或工业控制系统。
树型组网方式:每个设备都可以既是父节点又是子节点,形成一棵树形结构,这种组网方式适用于需要多个节点之间互相通讯的系统,例如传感器网络或智能家居系统。
网状组网方式:每个设备都可以作为任何其他设备的直接或间接邻居,形成一张网格状结构,这种组网方式可以实现设备间的全双工通信和高可靠性,适用于大规模的物联网系统。 

二、基于Z-STACK组网 

        前言 

        Zigbee组网至少需要三个Zigbee设备!其中一个为协调器!!! 

        星状

        Zigbee星状组网是一种基于中心节点的通信模式,在这种模式下,所有的设备都连接到一个中心节点,所有的通信都需要经过这个中心节点进行转发。星形组网的优点是结构简单、易于管理,而且可以实现快速的数据传输,因为所有的数据都只需要经过一次转发就可以到达目的地。
        在Zigbee星状组网中,中心节点通常是具有较高处理能力和存储容量的设备,它负责管理和控制整个网络。所有的设备都连接到中心节点上,并且只能与中心节点直接通信,而不能相互之间直接通信。
Zigbee星状组网的主要优点包括:

  * 结构简单:所有的设备都连接到一个中心节点,所有的通信都需要经过这个中心节点进行转发,因此网络的结构非常简单。
  * 管理和控制方便:中心节点负责管理和控制整个网络,因此可以通过中心节点轻松地管理和控制所有的设备。
  * 快速的数据传输:所有的数据都只需要经过一次转发就可以到达目的地,因此数据传输的速度非常快。

        但是,Zigbee星状组网也有一些缺点,比如网络的扩展性较差,如果需要增加新的设备,就必须增加中心节点的数量;此外,由于所有数据都必须经过中心节点进行转发,因此在网络拥塞的情况下,数据传输的速度可能会下降。如下为一个星状组网:

        由以上的组网示意图可见,Zigbee在组成星形网时,一定需要一个协调器节点!然后其它节点为路由器或者终端节点都可。

        通信规则:每一个路由器或终端节点都必须经过中央的协调器才能进行传输。

         

        树状

        Zigbee树状组网是一种类似于星状组网的通信模式,但是在这个模式下,每个设备都有一个唯一的父节点,设备之间的关系形成了一个层次结构,就像一棵树一样。在树状组网中,根节点是最高级别的设备,所有的其他设备都是它的子节点,它们都可以与根节点直接通信。
        在Zigbee树状组网中,每个设备都可以选择自己的子节点,但是只有根节点才能选择自己的父节点。这就意味着,每个设备都知道自己在树中的位置,以及自己的上级和下级设备。
Zigbee树状组网的主要优点包括:

  * 易于扩展:由于每个设备都有一个唯一的父节点,因此在增加新的设备时,只需要添加一个新的设备作为父节点的子节点即可,无需改变整个网络的结构。
  * 简化了管理:由于每个设备都知道自己在树中的位置,以及自己的上级和下级设备,因此网络的管理和控制变得相对容易。
  * 可以自适应变化:由于每个设备都有一个唯一的父节点,因此在网络发生变化时,例如某个设备出现故障或离线,网络可以通过重新选择父节点来保持稳定。

        然而,Zigbee树状组网也有一些缺点,比如当网络规模较大时,树状结构可能难以管理;此外,由于设备之间的关系是固定的,因此在网络发生变化时,如某个设备出现故障或离线,可能会导致网络不稳定。如下为一个树状组网:

         由以上的组网示意图可见,Zigbee在组成树状网时,也是一定需要一个协调器节点!然后其它节点为路由器或者终端节点都可。

        通信规则:但是需要注意的是:每一个路由节点都只能和他的父节点和子节点之间进行通信。如果需要从节点与节点之间需要发送数据,那信息就会沿着树的路由往上上传递到最近的一个祖先节点后,再往下传递到目标节点。

 

        网状  

        Zigbee网状组网是一种多对多的通信模式,在这种模式下,每个设备都可以既是发送者又是接收者,从而形成一个复杂的网络拓扑结构。相比于传统的星形组网,网状组网具有更高的可靠性和更强的覆盖能力。
        在Zigbee网状组网中,每个设备都可以选择多个邻居设备进行通信,并且可以通过这些邻居设备进一步扩大自己的通信范围。这意味着即使某些设备发生故障或者通信中断,也可以通过其他的邻居设备进行通信,从而保证了网络的稳定性和可靠性。
Zigbee网状组网的主要优点包括:

  * 高可靠性:即使某些设备发生故障,也可以通过其他的邻居设备进行通信,从而保证了网络的稳定性和可靠性。
  * 强大的覆盖能力:由于每个设备都可以选择多个邻居设备进行通信,并且可以通过这些邻居设备进一步扩大自己的通信范围,因此网络的覆盖能力非常强。
  * 节能:由于数据可以经过多个设备进行转发,因此可以大大降低数据传输的能量消耗。

        但是,Zigbee网状组网也有一些缺点,比如网络的复杂度较高,管理和维护起来比较困难;此外,由于数据需要经过多个设备进行转发,因此网络的延迟可能会比星形组网更高。如下为一个网状组网:

        由以上的组网示意图可见,Zigbee在组成网状网时,也是一定需要一个协调器节点!然后他包括多个路由节点和终端节点。

        通信规则:对于网状网络而言,他同树状网络其实通信规则差不多,但是相较于树状网络,他更具灵活性!在可能的情况下,路由节点之间是可以进行直接通信的。这也意味着其中一个通信路由路劲出了问题,信息仍然可以从其它的路劲传输过来。大家可以在组网成功后试着将一个路由器断电,看看信息是否能够传递。

         根据原理修改Z-STACK源码

 1、修改panid

        修改panid的原因是防止连错其它的Z-STACK网络,也是防止同环境受到其它网络的干扰,确保网络通信的安全可靠。如下图所示:(作者将panid改为了0x7777,但是也需要注意panid的范围,从0x0000到0xFFFF)

2、修改拓扑

        这里往下主要演示组星状网的操作。

        注意:在组网方面:星状、树状、网状,都是​​​​​​​改变相同的地方进行切换组网的!例如:以下也是通过改变以下109、110、111横的注释以达到切换组网方式的切换!

 3、增加一些定义

         分别在以下位置增加如下的三段代码,同样的这三段代码和上面一样,对应的相应的网络拓扑结构,要使用哪种进行切换即可。

    #define NWK_MODE            NWK_MODE_STAR
    #define NWK_MODE            NWK_MODE_TREE
    #define NWK_MODE            NWK_MODE_MESH

4、一些额外定义

         通过以上的三小点设置其实已经将网络拓扑设置成功了!当然Z-STACK中还是包括有OLED显示的,如果需要在OLED上显示相应的信息,可以修改以下信息:(根据自己的实际情况来修改!!!作者的修改仅仅作为参考!)分别根据自己设备对应的引脚修改相应的CS和DC相关。

         星状网组网成功后的演示视频

                


                         感谢你耐心的看到这里ღ( ´・ᴗ・` )比心,如有哪里有错误请踢一脚作者o(╥﹏╥)o! 

                                       

                                                                         给个三连再走嘛~  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1275196.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nginx配置反向代理及负载均衡

目录 1.前端发送的请求,是如何请求到后端服务的1.nginx 反向代理的好处:2.nginx 反向代理的配置方式:3. nginx 负载均衡的配置方式 1.前端发送的请求,是如何请求到后端服务的 1.nginx 反向代理的好处: 提高访问速度 因…

如何使用 NFTScan NFT API 在 Starknet 网络上开发 Web3 应用

Starknet 是由以色列软件公司 StarkWare 开发的免许可的第 2 层网络。Starknet 作为以太坊上的 ZK Rollup 运行,帮助 dApp 使用 STARK 证明以更低的交易成本实现更大的计算规模。该网络允许智能合约与区块链上部署的其他合约进行交互,从而提高协议之间的…

大数据Doris(三十一):Doris简单查询

文章目录 Doris简单查询 一、简单查询 二、​​​​​​​Join

基于Springboot的在线问卷调查系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的在线问卷调查系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring…

golang WaitGroup的使用与底层实现

使用的go版本为 go1.21.2 首先我们写一个简单的WaitGroup的使用代码 package mainimport ("fmt""sync" )func main() {var wg sync.WaitGroupwg.Add(1)go func() {defer wg.Done()fmt.Println("xiaochuan")}()wg.Wait() }WaitGroup的基本使用场…

Peter算法小课堂—差分与前缀和

差分 Codeforces802 D2C C代码详解 差分_哔哩哔哩_bilibili 一维差分 差分与前缀和可以说成减法和加法的关系、除法和乘法的关系、积分和微分的关系(听不懂吧) 给定数组A,S为A的前缀和数组,则A为S的差分数组 差分数组构造 现…

Unittest(1):unittest单元测试框架简介setup前置初始化和teardown后置操作

unittest单元测试框架简介 unittest是python内置的单元测试框架,具备编写用例、组 织用例、执行用例、功能,可以结合selenium进行UI自动化测 试,也可以结合appium、requests等模块做其它自动化测试 官方文档:https://docs.pytho…

opencv 图像边框

cv.copyMakeBorder() 图像设置边框或者填充

HarmonyOs 4 (一) 认识HarmonyOs

目录 一 HarmonyOs 背景1.1 发展时间线1.2 背景分析1.2.1 新场景1.2.2 新挑战1.2.3 鸿蒙生态迎接挑战 二 HarmonyOS简介2.1 OpenHarmony2.2 HarmonyOS Connect2.3 HarmonyOS Next**2.4 ArkTS (重点掌握)****2.5 ArkUI** 三 鸿蒙生态应用核心技术理念**3.…

c/c++概念辨析-指针常量常量指针、指针函数函数指针、指针数组数组指针

概念澄清: 统一规则: 不管是XX指针,还是指针XX,后者是本体,前者只是个定语,前者也可以替换为其他同类(例如字符串),帮助理解。 XX指针: 可简单理解为&#…

骨传导耳机是智商税吗?骨传导耳机是利用什么原理听歌?

骨传导耳机并非智商税,而是一种新兴的技术产品。作为是一种新型的听音设备,它采用了与传统耳机不同的工作原理,通过将声音通过骨骼传导到内耳,实现了不用堵塞耳道就能听到声音的效果。相比传统耳机,骨传导耳机具有一些…

mac本地部署stable-diffusion

下载Homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" ①输入“1”选择中科大版本,然后输入Y(YES),直接输入开机密码(不显示)然后回车确认,开始下载 ②…

matlab 基于卡尔曼滤波的GPS-INS的数据融合的导航

1、内容简介 略 25-可以交流、咨询、答疑 2、内容说明 基于卡尔曼滤波的GPS-INS的数据融合的导航 "基于卡尔曼滤波的GPS-INS的数据融合的导航 基于卡尔曼滤波实现GPS-INS组合导航系统" 卡尔曼滤波、GPS、INS、数据融合、导航 3、仿真分析 4、参考论文 略 …

Linux基本指令(后篇)

目录 14.时间指令date 15.Cal指令 16.find指令(非常重要) 17.grep指令 18.打包压缩指令zip和tar以及解压指令unzip和tar 14.时间指令date date(显示当前时间) 1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中…

带头结点的双向循环链表

目录 带头结点的双向循环链表 1.存储定义 2.结点的创建 3.结点的初始化 4.尾插结点 5.尾删结点 6.头插结点 7.头删结点 8.查找并返回结点 9.在pos结点前插入结点 10.删除pos结点 11.打印链表 12.销毁链表 13.头插结点2.0版 14.尾插结点2.0版 前言: 当…

Mac右键添加通过VSCode打开

Mac右键添加通过VSCode打开 1 首先打开自动操作 进入方式 访达 – 应用程序 – 自动操作 2. 选择快速操作 3. 添加 最后 commands保存,可以输入自定义的名称 for f in "$" doopen -a "Visual Studio Code" "$f" done4. 找到保存的快…

SpringBoot+mysql+vue实现大学生健康档案管理系统前后端分离

一、项目简介 本项目是一套基于SpringBoot实现大学生健康档案管理系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目可以直接作为bishe使用。 项目都经过严格调试&#…

Java项目学生管理系统三添加学生

​ 欢迎来到本篇博客,昨天我们学习的是查询所有,今天我们将探索一个令人兴奋的话题——Java项目学生管理系统的学生添加功能。作为一个学生管理系统的关键功能之一,学生添加模块扮演着连接教育工作者与学生信息的桥梁。通过本文,我…

视频后期特效处理软件 Motion 5 mac中文版

Motion mac是一款运动图形和视频合成软件,适用于Mac OS平台。 Motion mac软件特点 - 精美的效果:Motion提供了多种高质量的运动图形和视频效果,例如3D效果、烟雾效果、粒子效果等,方便用户制作出丰富多彩的视频和动画。 - 高效的工…

还得是字节出来的,太秀了...

前段时间公司缺人,也面了许多测试,一开始瞄准的就是中级水准,当然也没指望能来大牛,提供的薪资在15-20k这个范围,来面试的人有很多,但是平均水平真的让人很失望。看了简历很多上面都是写有4年工作经验&…