小知识· Zigbee 简介

news/2024/3/29 22:00:00/文章来源:https://blog.csdn.net/m0_64560763/article/details/128100397

1. 介绍

ZigBee是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术
ZigBee建立在IEEE 802.15.4标准(定义了PHY和MAC层)之上,ZigBee联盟对其网络层和应用层进行了标准化

ZigBee协议栈可分为五层

- 物理层(PHY)
- 介质访问控制层(MAC)
- 网络层(NWK)
- 应用程序支持子层(APS)
- 应用层(APL)

2.特点 

1、低功耗。

在低耗电待机模式下,2 节5 号干电池可支持1个节点工作6~24个月,甚至更长。这是Zigbee的突出优势。相比较,蓝牙能工作数周、WiFi可工作数小时。

2、低成本。

通过大幅简化协议(不到蓝牙的1/10) ,降低了对通信控制器的要求,按预测分析,以8051的8位微控制器测算,全功能的主节点需要32KB代码,子功能节点少至4KB代码,而且Zigbee免协议专利费。每块芯片的价格大约为2 美元。

3、低速率。

Zigbee工作在20~250 kbps的较低速率,分别提供250 kbps(2.4GHz)、40kbps (915 MHz)和20kbps(868 MHz) 的原始数据吞吐率,满足低速率传输数据的应用需求。

4、近距离。

传输范围一般介于10~100 m 之间,在增加RF 发射功率后,亦可增加到1~3 km。这指的是相邻节点间的距离。如果通过路由和节点间通信的接力,传输距离将可以更远。

5、短时延。

Zigbee 的响应速度较快,一般从睡眠转入工作状态只需15 ms ,节点连接进入网络只需30 ms ,进一步节省了电能。相比较,蓝牙需要3~10 s、WiFi 需要3 s。

6、高容量。

Zigbee 可采用星状、片状和网状网络结构,由一个主节点管理若干子节点,最多一个主节点可管理254 个子节点;同时主节点还可由上一层网络节点管理,最多可组成65000 个节点的大网。

7、高安全。

Zigbee 提供了三级安全模式,包括无安全设定、使用接入控制清单(ACL) 防止非法获取数据以及采用高级加密标准(AES 128) 的对称密码,以灵活确定其安全属性。

8、免执照频段。

采用直接序列扩频在工业科学医疗( ISM) 频段,2. 4 GHz (全球) 、915 MHz(美国) 和868 MHz(欧洲) 。

3.三种组网结构

ZigBee之所以能在传感器网络等领域应用中被广泛应用,这得益于它强大的组网能力,可以形成星型网、树型网和网状网等三种ZigBee网络,可以根据实际的开发项目需要来选择适合的ZigBee网络结构进行组网,这三种ZigBee网络结构也各有千秋。

星形拓扑

星形拓扑是其三种拓扑结构中最为简单的一个拓扑形式,它包含一个Co-ordinator(中央协调器) 节点和多个End Device(终端)节点。每一个End Device (终端)节点只能和 Co-ordinator (协调器)节点进行链接通信,不能再链接其他End Device (终端)节点。如果需要在两个 End Device (终端)节点之间进行互相的通信必须得通过链接Co-ordinator (协调器)节点才能进行信息的接收、转发。

这种拓扑形式具有一个缺点:节点之间的数据传输途径有且只有一条唯一的路由。Co-ordinator(协调器)节点的状态有可能成为整个网络的影响点。星形网络拓扑实现的组网不需要使用 ZigBee 的网络层协议,因为本身IEEE 802.15.4的协议层就已经是在星形拓扑形式的基础上实现的,但是这增加开发者在应用层更多的工作,包括需要自己进行处理信息的接收、转发等工作。

树形拓扑

树形拓扑包括一个Co-ordinator(协调器)节点以及多个的 Router(路由器) 和 End Device(终端)节点。Co-ordinator (协调器)连接多个Router(路由) 和 End Device(终端)节点, 其子节点的 Router(路由)也可以连接多个Router(路由)和End Device(终端)节点, 通过这样子进行重复的叠加多个层级形成树状网。树形拓扑结构如图:

需要注意的是:

  • Co-ordinator (协调器)节点和 Router (路由)节点可以由多个连接的子节点。
  • 但End Device(终端)节点不能再连接其他子节点。
  • 有同一个父节点(协调器或路由)的节点之间可以称为兄弟节点
  • 有同一个祖父节点(协调器或路由)的节点之间可以称为堂兄弟节点

树状拓扑中的通信规则:

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

树形拓扑的缺点:信息有且只有唯一的一条路由通道。而且信息的传递路由是通过协议栈层进行处理的,整个的通信路由过程对于应用层来说是相对完全透明的。①②③

Mesh拓扑(网状拓扑)

Mesh拓扑包含一个Co-ordinator(协调器)节点和多个Router(路由)节点 和End Device(终端)节点。Mesh网络拓扑形式和树形拓扑大致相同;但是基于树状结构来说,网状网络拓扑是具有更灵活的通信路由规则的拓扑形式,在可能的情况下,路由节点之间是可以进行直接通信的。这种路由机制使得节点间的信息通信变得更加的有效率,而且这也意味当通信时一个路由路径中出现了问题,信息也可以沿着其他的路由自动进行传输。Mesh网状拓扑的示意图如下所示:

MESH 网状网络拓扑结构的网络具有非常强大的功能,网络可以通过“多级跳”的方式来进行通信;而且MESH 网状网络拓扑结构还可以组成非常复杂的网络;其组成的网络还具备自组织、自愈的功能;

星型和树型网络都比较适合点对多点且传输距离较近的应用。

4.Zigbee协议栈使用

使用 ZigBee 协议栈进行开发的基本思路可以概括为如下三点:

  • 用户对于 ZigBee 无线网络的开发就简化为应用层的 c 语言程序开发,不需要深入研究复杂的 ZigBee 协议栈;
  • ZigBee 无线传感器网络中数据采集,只需用户在应用层加入传感器的读取函数即可;
  • 如果考虑节能,可以根据数据采集周期进行定时,定时时间到就唤醒 ZigBee 的终端节点,终端节点唤醒后,自动采集传感器数据,然后将数据发送给路由器或者直接发给协调器。
     

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多进程并发服务器

TCP三次握手建立连接错误处理模块&#xff1a;wrap.c,函数声明&#xff1a;wrap.h并发服务器模型&#xff08;多进程&#xff0c;多线程&#xff09; 转换大小写程序 服务端 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #incl…

Mybatis Plus 多租户id使用

本文就不多逼逼&#xff0c;直接进入正题。 什么是多租户 多租户技术&#xff08;Multi-TenancyTechnology&#xff09;又称多重租赁技术&#xff0c;简称SaaS&#xff0c;是一种软件架构技术&#xff0c;是实现如何在多用户环境下 &#xff08;此处的多用户一般是面向企业用…

Java SPI机制的使用和理解

前言&#xff1a; SPI(Service Provider Interface)&#xff0c;是JDK内置的一种服务提供发现机制&#xff0c;Java中 SPI 机制主要思想是将装配的控制权移到程序之外&#xff0c;在模块化设计中这个机制尤其重要&#xff0c;其核心思想就是解耦 1、大家都知道API&#xff0c;却…

【C++】STL —— map和set的模拟实现

目录 一、基础铺垫 二、基本结构分析 1. 节点结构分析 2. 模板参数中仿函数分析 三、正向迭代器 四、封装完成的红黑树 五、map的模拟实现 六、set的模拟实现 一、基础铺垫 在前面的博客中我们了解了map和set的基本使用&#xff0c;以及对二叉搜索树、AVL树和红黑树的…

IPv6进阶:IPv6 过渡技术之 NAT64(IPv6 节点主动访问 IPv4 节点-地址池方式)

实验拓扑 PC1是IPv4网络的一个节点&#xff0c;处于Trust安全域&#xff1b;PC2是IPv6网络的一个节点&#xff0c;处于Untrust安全域。 实验需求 完成防火墙IPv4、IPv6接口的配置&#xff0c;并将接口添加到相应的安全域&#xff1b;在防火墙上配置NAT64的IPv6前缀3001::/64&…

【毕业设计】30-基于单片机矿井瓦斯_气体浓度_烟雾浓度报警设计(原理图+源代码+仿真+答辩论文+答辩PPT)

【毕业设计】30-基于单片机矿井瓦斯/气体浓度/烟雾浓度报警设计&#xff08;原理图源代码仿真答辩论文答辩PPT&#xff09; 文章目录【毕业设计】30-基于单片机矿井瓦斯/气体浓度/烟雾浓度报警设计&#xff08;原理图源代码仿真答辩论文答辩PPT&#xff09;任务书设计说明书摘要…

网络套接字编程(UDP协议)

文章目录预备知识socket&#xff08;网络套接字&#xff09;编程接口简单的UDP网络程序增加多用户可以互相通信预备知识 网络字节序 大端存储&#xff1a;数据的高字节内容保存在内存的低地址处&#xff0c;数据的低字节内容保存在内存的高地址处 小端存储&#xff1a;数据的高…

global关键字、python实现ATM简单功能

目录 一.局部变量、全局变量 二.global关键字 演示 三.编写ATM程序 要求 详细步骤 存在问题 改进 完整代码 一.局部变量、全局变量 1.什么是局部变量 作用范围在函数内部&#xff0c;在函数外部无法使用 2.什么是全局变量 在函数内部和外部均可使用 3.如何将函数内定…

[附源码]SSM计算机毕业设计校园自行车租售管理系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

高等数学(第七版)同济大学 习题10-3 (前9题)个人解答

高等数学&#xff08;第七版&#xff09;同济大学 习题10-3&#xff08;前9题&#xff09; 函数作图软件&#xff1a;Mathematica 1.化三重积分I∭Ωf(x,y,z)dxdydz为三次积分&#xff0c;其中积分区域Ω分别是\begin{aligned}&1. \ 化三重积分I\iiint_{\Omega}f(x, \ y, …

【C++】类型转换

目录 一、C语言风格类型转换 二、C风格类型转换 1.static_case 2.reinterpret_case 3、const_case 4、dynamic_case 三、RTTI 总结 一、C语言风格类型转换 在C语言中&#xff0c;如果赋值运算符左右两侧类型不同&#xff0c;或者形参与实参类型不匹配&#xff0c;或者返…

【正点原子FPGA连载】 第二十章 LCD触摸屏实验摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1&#xff09;实验平台&#xff1a;正点原子MPSoC开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id692450874670 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二十章 LCD触摸…

Vue.js 加入高德地图的实现方法

一、功能需求 1.根据输入内容进行模糊查询&#xff0c;选择地址后在地图上插上标记&#xff0c;并更新经纬度坐标显示 2.在地图点击后&#xff0c;根据回传的左边更新地址信息和坐标显示 二、准备 1.申请高德地图账号&#xff0c;创建应用 2.在应用管理中 获得key 和安全密…

[附源码]Python计算机毕业设计Django常见Web漏洞对应POC应用系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

Python学习:json对象与string相互转换教程

首先要明确&#xff0c;python里有json这个库&#xff0c;但并没有json这个类&#xff0c;所以所谓的json对象本质上就是一个dict&#xff1b;而json这个库&#xff0c;用于实现dict到string、string到dict的互转。 更具体一点&#xff0c;json对象&#xff08;dict&#xff0…

Linux网络编程——IO多路复用

文章目录1&#xff0c;I/O模型2&#xff0c;阻塞I/O 模式2.1&#xff0c;读阻塞&#xff08;以read函数为例&#xff09;2.2&#xff0c;写阻塞3&#xff0c;非阻塞I/O模式3.1&#xff0c;非阻塞I/O模式的实现&#xff08;fcntl()函数、ioctl() 函数&#xff09;3.1.1&#xff…

leetcode 343. 整数拆分(动态规划)

题目链接&#xff1a;343. 整数拆分 动态规划 (1) 确定 dpdpdp 数组下标含义&#xff1a; dp[i]dp[i]dp[i]: 将 iii 拆分为至少两个正整数之后的最大乘积&#xff1b; (2) 确定递推公式&#xff1a; 当 i≥2i \ge 2i≥2 时, 设 jjj 是 iii 拆分出来的第一个正整数&#xff0c…

关于uni-app小程序接入微信登录

https://uniapp.dcloud.net.cn/api/plugins/login.html#login 官网上有关于uni.login()的说明&#xff0c;如果是要微信登录&#xff0c;则需要wx.login()。 小程序登录 | 微信开放文档 如下图&#xff0c;在小程序管理平台生成AppSecret&#xff0c;同时将AppId在HubilderX中…

swift @State @Published @ObservedObject sink

State struct ContentView: View {State private var isRain truevar body: some View {VStack {Image(systemName: isRain ? "cloud.rain.fill" : "sun.max.fill").resizable().frame(width: 100, height: 100)Text(isRain ? "我們淋著大雨不知何…

【PS-7】移动工具

目录 移动工具快捷键【v】&#xff08;英文状态&#xff09; 多文件间拖拽图层对象 快捷键【ALT】复制图层 【ALTSHIFT】只能垂直/水平/45角地去复制图层 4个方向键可以微调图层的位置 变换控件 对齐分布 【题外话】设置参考线颜色 【题外话】快捷键【F12】让已经动过…