嵌入式通信协议----Zigbee

一、简介

1.概念

       Zigbee 是一种广泛用于连接物联网(IoT)设备的无线通信协议。它基于 IEEE 802.15.4 标准,使用低功耗数字无线电来创建个人区域网络(PAN)。Zigbee 网络的特点是数据速率低、功耗低、覆盖范围短,非常适合家庭自动化、智能照明和工业控制系统等应用。Zigbee 支持网状网络,使设备能够通过中继节点传输数据,从而增加了网络的可靠性和覆盖范围。

2.特点

  • 低功耗:Zigbee设备非常节能,适合电池供电的设备,可以使用多年而无需更换电池。
  • 低数据速率:适用于传输小数据包的应用,如传感器数据和控制命令,数据速率通常在20kbps到250kbps之间。
  • 短距离通信:典型的通信范围在10到100米之间,适合家庭或小型办公环境。
  • 网状网络:支持Mesh网络拓扑结构,设备可以通过中继其他设备的数据,从而扩展网络覆盖范围和增强可靠性。
  • 高安全性:采用128位AES加密,确保数据传输的安全性和隐私性。
  • 自组网功能:设备可以自动加入网络并配置,大大简化了网络的部署和扩展。
  • 低成本:硬件和实现成本较低,适合大规模部署。
  • 互操作性:Zigbee联盟制定了统一的标准,确保不同厂商的设备能够互操作。
  • 多种工作频段:主要工作在2.4GHz频段,也支持868MHz(欧洲)和915MHz(北美)频段,适应不同地区的频谱要求。

3.优缺点

优点:

①低功耗

②覆盖范围广

③安全性高

④灵活性和可拓展性

⑤低成本

缺点:

①底数据速率

②短距离通信

③干扰问题

④网络管理复杂

⑤延迟高

⑥兼容性差

4.应用

①家庭自动化

②工业自动化

③能源管理

④智能楼宇

⑤智慧物流

5.重要概念

通信频道(Channel):ZigBee 可选 16 个物理通道,即 CH11~CH26。

局域网 ID(PanID):用于判断自身所属的网络的标识。可互相通信的节点,PanID 必 须像相同,且必须保证在同一工作区域内的相邻网络的 PanID 不同。

物理地址(MAC):模块的 MAC 地址,为 64 位,也叫 IEEE 地址,不可修改的全球唯 一标识。

本地网络地址(16 位网络地址):用于区分网络中各个节点的节点短地址,在同一 PanID 下,本地网络地址必须是唯一的,引入短地址的目的是为了提高 ZigBee 的通信效率。

目标网络地址(16 位网络地址):当前的通信目标地址(仅在单播时有用)。

发送模式:单播模式就是单个发送者和单个接收者之间的通信;广播模式就是一个发送 者和多个接收者之间的通信。

二、Zigbee模块

        使用E180-Z5812SX是成都亿佰特基于TELINKTLSR8258无线SOC设计生产的一款小体积、低功耗、高可靠性、工作在2.4GHz 频段的ZIGBEE 模块,芯片自带高达48Mhz的32位高性能MCU发射功率最高可达到12dBm其最低周期休眠电流2uA。GPIO控制:本地/远程的 GPIO 电平控制,2个IO口可选择。其参数如下图所示

        标准 ZigBee 网络协议包括协调器。路由器和终端节点,而建立一个 ZigBee 网络除了必 须要有协调器之外,仅需加上路由器或终端节点即可。

        在启动标准 ZigBee Pro 网路通信前, 如果没有建立存储跳转路径的路由表,则节点无法通信,所以必须通过发送网络报文查找节 点建立路由表。当节点之间没有数据传输时,同样需要定时地发送网络报文检查节点是否异 常。由此可见,ZigBeePro 不仅启动速度慢,而且定时发送网络报文占用大量的带宽。 采用的 ZigBee 模块在 ZigBee 协议栈的基础上开发了 FastZigBee 透传对等网络协议, 其混合网络也和标准 ZigBee 网络一致。其网络拓扑如图所示。

FastZigBee 节点类型: FastZigBee 设备分为终端设备(Target)和路由设备(Router),且网络可通过 ZigBee 网 关(ZigBee 转 Wi-Fi)接入互联网。(与标准 ZigBee 协议相比少了协调器) 。

三、配置方法

1.恢复出厂配置的方法

        在使用 ZigBee 前,先将其恢复出厂状态,通信器模块连接电源后,正常工作时 D201 灯 (蓝色)闪烁(500ms 周期)。 先按下 Z_DEF 按钮不松开的情况下,按下 Z_RST 按钮,(此时 D201(蓝色)熄灭), 先松开 Z_RST,此时 D201(蓝色)快速闪烁一下,再以 500ms 周期闪烁,最后松开 Z_DEF 按钮,即完成恢复出厂设置。如下图

2、使用配置软件进行配置

先安装配置软件,WirelessCfg_V1.3.8.01208 软件,如图:

选择好安装路径按下一步即可完成安装,过程简单,这里就不贴图示意了,安装完成后 会在桌面生成一个快捷方式,如下图所示。

四、透传实验

        需要准备的步骤

1. 硬件连接及设置: 进行连接并设置好拨动开关,注意,将 Micro USB 线连接主控 USB_SWD 接口和电脑 USB 端口。使用前先将 ZigBee 模块恢复出厂。

2.程序准备 将开发板烧录入 ZigBee_Test.hex 文件,特别注意,程序中串口 1 的波特率是 57600bps, 串口 2 的波特率也是 57600bps。

3.调试软件准备 准备好调试助手,有两个软件,一个是本章安装的 ZigBee 配置软件,一个是我们在串 口实验中已经使用过的的串口调试助手,如图所示。

①打开 WirelessCfg 软件,初始的界面如图所示。其中红框为笔者电脑连接的串口 号,用户根据自己的硬件选择对应的端口号。 

②下面介绍如何使用该配置软件

1、先选择“设备连接”选项卡,默认选项卡

2、选择“串口设备”选项卡,默认选项卡

3、选择“设备类型”选项卡,默认选项卡

4、依据设备连接选择串口号,注意是 ST-LINK 的虚拟串口号。

5、选择波特率,修改为 57600,默认为 115200,切记!!!

6、打开串口

7、连接设备 

注意一定要按照这样的步骤顺序进行,如下图所示。注意图中的序号即为步骤顺序 

正确连接,并读取到设备的信息的提示如下图 所示。 

当正确连接并读取到设备类型时,选择“设备配置”选项卡,可查看到设备的配置信息, 通过双击左边的“本地设备”列表,可重新获取模块的配置信息,根据实际应用修改模块的 参数后,点击“保存配置”即完成模块的配置,如图所示。

        注意,前面讲了,如果两个 ZigBee 模块要通信,至少要确保 PanID 一致,通信频道一 致,这样才在一个网络里,才能进行通信。如果是单播通信,则目标地址需要设置为对方的 本地地址。 通过调节模块信息框右边的滑动栏,找到需要修改的项目。

1、修改 PAN ID

2、修改本地地址

3、修改目标网络地址

4、点击保存配置

5、自动弹出配置保存成功,点击确定,会自动刷新配置信息

如图所示。注意一定要保存配置,配置才会生效。 

根据上面提到的方法,我们将两个模块配置为单播通信。将本地网络地址和目标网络地 址交叉设置,其它参数保持相同即可,如图所示。 

        这样这两个模块就可以进行通信了。 打开开发板连接的电脑(两台)上的串口调试助手,设置波特率为 57600,并按下开发 上的复位按钮。开发板下载的 ZigBee_Test 固件会自动打印信息,如图所示。 

在上图中注意发送框内写上对应模块的本地地址。点击串口调试助手的发送,可 以看到发送的信息显示在对方的接收框内。如下图所示。 

 这样就完成了两个开发板之间的 ZigBee 单播通信。

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

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

相关文章

web前端——CSS

目录 一、css概述 二、基本语法 1.行内样式表 2.内嵌样式表 3.外部样式表 4.三者对比 三、选择器 1.常用的选择器 2. 选择器优先级 3.由高到低优先级排序 四、文本,背景,列表,伪类,透明 1.文本 2.背景 3.列表 4.伪类 5.透明 五、块级,行级,行级块标签, dis…

如何找到合适的Python第三方库?

找合适的Python库其实很简单,按照以下三步法,你能找到90%的Python库。 1、百度谷歌搜索 明确自己的需求,用Python来干什么,力求简短明了。比如定位“数据分析”,然后去搜索关键词【Python数据分析第三方库】&#xf…

用定时器T1中断控制两个LED以不同周期闪烁

#include<reg51.h> // 包含51单片机寄存器定义的头文件 sbit D1P2^0; //将D1位定义为P2.0引脚 sbit D2P2^1; //将D2位定义为P2.1引脚 unsigned char Countor1; //设置全局变量&#xff0c;储存定时器T1中断次数 unsigned char Countor2; //设置全局变量&#xff0c;储…

RS232自由转Profinet协议网关模块连接1200PLC与扫码枪通讯及手动清零案例

一、RS232和Profinet这两种通讯接口的特点和应用场景&#xff1a; RS232是一种串行通讯接口标准&#xff0c;常用于连接计算机和外部设备&#xff0c;传输速率较低但稳定可靠。Profinet则是一种工业以太网通讯协议&#xff0c;具有高速、实时性强的特点&#xff0c;适用于工业…

绘制图形

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在前3节的实例中&#xff0c;我们一直绘制的都是直线&#xff0c;实际上&#xff0c;海龟绘图还可以绘制其他形状的图形&#xff0c;如圆形、多边形等…

【算法学习】判断点在多边形内外的算法以及确定内外两点连线与边界的交点

1.前言&#xff1a; 在GIS开发中&#xff0c;经常会遇到确定一个坐标点是否在一块区域的内部这一问题。 如果这个问题不是一个单纯的数学问题&#xff0c;例如&#xff1a;在判断DEM、二维图像像素点、3D点云点等含有自身特征信息的这些点是否在一个区域范围内部的时候&#x…

技术与创意并驾齐驱:打造扭蛋机小程序的独特魅力

引言 扭蛋机小程序以其独特的玩法和吸引力&#xff0c;在移动互联网市场中崭露头角。本文将深入探讨如何通过技术与创意的并驾齐驱&#xff0c;打造扭蛋机小程序的独特魅力。 一、技术驱动&#xff1a;打造稳定高效的小程序平台 在扭蛋机小程序的开发过程中&#xff0c;技术是…

zookeeper学习、配置文件参数详解

zookeeper学习、配置文件参数详解 zookeeper 配置文件参数详解tickTime 、session 的过期时间、maxSessionTimeout 三者之间的关系initLimit&#xff0c;syncLimit什么区别minSessionTimeout 默认值,**他的单位是ms** zookeeper 配置文件参数详解 ZooKeeper 是一个分布式协调服…

基于SSM+VUE的网上订餐系统(带1w+文档)

基于SSMVUE的网上订餐系统(带1w文档) 网上订餐系统的数据库里面存储的各种动态信息&#xff0c;也为上层管理人员作出重大决策提供了大量的事实依据。总之&#xff0c;网上订餐系统是一款可以真正提升管理者的办公效率的软件系统。 项目简介 基于SSMVUE的网上订餐系统(带1w文档…

文华6幅图指标公式大全-多空精准买卖点提示指标源码

文华6幅图指标公式大全-多空精准买卖点提示指标源码&#xff1a; HH: HHV ( HIGH ,1)/5 HHV ( HIGH ,2)/5 HHV ( HIGH ,2)/5 HHV ( HIGH ,5)/5 HHV ( HIGH ,8)/5; LL: LLV ( LOW ,1)/5 LLV ( LOW ,2)/5 LLV ( LOW ,2)/5 LLV ( LOW ,5)/5 LLV ( LOW ,8)/5; H1: IFELSE ( H &l…

2024.6.25力扣刷题记录-周赛403

目录 一、3194. 最小元素和最大元素的最小平均值 二、3195. 包含所有 1 的最小矩形面积 I 三、3196. 最大化子数组的总成本 四、3197. 包含所有 1 的最小矩形面积 II 博主在比赛时只过了前两题。剩下跟着灵神做&#xff0c;来自视频&#xff1a; 【状态机 DP【力扣周赛 403…

BC-Linux 8.6最小化安装的服务器启用GNOME图形化界面

本文记录了BC-Linux 8.6最小化安装的服务器如何启用GNOME图形化界面的过程。 一、服务器环境 1、系统版本 [rootlocalhost ~]# cat /etc/os-release NAME"BigCloud Enterprise Linux" VERSION"8.6 (Core)" ID"bclinux" ID_LIKE"rhel fe…

【C语言】解决C语言报错:Dangling Pointer

文章目录 简介什么是Dangling PointerDangling Pointer的常见原因如何检测和调试Dangling Pointer解决Dangling Pointer的最佳实践详细实例解析示例1&#xff1a;释放内存后未将指针置为NULL示例2&#xff1a;返回指向局部变量的指针示例3&#xff1a;指针悬空后继续使用示例4&…

基于 ESP8266 和 MQ 气体传感器的微信告警系统设计与实现

接线: ESP8266MQ3vVCCGND GND A0 A0微信通知截图: 摘要:本文主要探讨了一种利用 ESP8266 微控制器与 MQ 气体传感器构建的气体检测微信告警系统。详细阐述了系统的硬件组成、软件设计以及与微信平台的交互机制。通过该系统,能够实时监测环境中的气…

解决:Xshell通过SSH协议连接Ubuntu服务器报“服务器发送了一个意外的数据包,received:3,expected:20”

下图所示&#xff1a; 日志也基本看不出来问题在哪&#xff0c;只是说断开了连接大概是验证失败。有幸在某论坛评论区找到了原因&#xff0c;是因为我的xshell版本太低了而服务器的ssh版本太高&#xff0c;高版本的ssh默认屏蔽了一部分不太安全的算法导致建立连接的时候验证失败…

虚拟机装入kali linux

VMware 首先需要先安装VMware Workstation Pro可以根据这篇文章来下载VMware 下载kali linux Installer Images VS Virtual Machines Installer Images&#xff08;安装镜像&#xff09;Virtual Machines&#xff08;虚拟机&#xff09; 直接访问硬件&#xff0c;定制内核…

鸿蒙开发之--生命周期

开发官网 开发-HarmonyOS开发者-华为开发者联盟 UIAbility生命周期 1、首先执行onCreate(),用于页面初始化和设置页面逻辑 2、执行onWindowStageCreate()创建一个窗口&#xff0c;在这里可以使windowStage.loadContent(url&#xff0c;&#xff08;&#xff09;>{})打开一…

大厂薪资福利篇第四弹:字节跳动

欢迎来到绝命Coding&#xff01; 今天继续更新大家最关心的 大厂薪资福利系列&#xff01; 往期分享&#xff1a; 福利开水喝不完&#xff1f;大厂薪资福利篇&#xff01;美团 职场文化发源地&#xff1f;大厂薪资福利篇&#xff01;阿里巴巴 给这么多&#xff01;还能带宠物上…

基于SpringBoot和PostGIS的某国基地可视化实战

目录 前言 一、Java后台开发设计与实现 1、模型层实现 2、控制层设计 二、WebGIS界面实现 1、列表界面的定义 2、全球基地可视化 三、成果展示 1、全球部署情况 2、亚太地区 3、欧洲基地分布 4、中东的部署 四、总结 前言 在之前的博客中&#xff0c;我们曾经对漂亮…

工控必备C#

微软的C# 语言&#xff1f; QT 熟了以后,Qt 更方便些 方法Signal Slot 感觉上一样 现在更推荐PyQt 来构建,底层还是Qt C 的那些库,Qt 的开源协议有点狗