一、简介
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模块
![](https://img-blog.csdnimg.cn/direct/491179ef65e54f87aa121959f16c43f8.png)
使用E180-Z5812SX是成都亿佰特基于TELINKTLSR8258无线SOC设计生产的一款小体积、低功耗、高可靠性、工作在2.4GHz 频段的ZIGBEE 模块,芯片自带高达48Mhz的32位高性能MCU发射功率最高可达到12dBm其最低周期休眠电流2uA。GPIO控制:本地/远程的 GPIO 电平控制,2个IO口可选择。其参数如下图所示
![](https://img-blog.csdnimg.cn/direct/2bc10426a12c49f5a64efc6d6c24dce3.png)
标准 ZigBee 网络协议包括协调器。路由器和终端节点,而建立一个 ZigBee 网络除了必 须要有协调器之外,仅需加上路由器或终端节点即可。
在启动标准 ZigBee Pro 网路通信前, 如果没有建立存储跳转路径的路由表,则节点无法通信,所以必须通过发送网络报文查找节 点建立路由表。当节点之间没有数据传输时,同样需要定时地发送网络报文检查节点是否异 常。由此可见,ZigBeePro 不仅启动速度慢,而且定时发送网络报文占用大量的带宽。 采用的 ZigBee 模块在 ZigBee 协议栈的基础上开发了 FastZigBee 透传对等网络协议, 其混合网络也和标准 ZigBee 网络一致。其网络拓扑如图所示。
![](https://img-blog.csdnimg.cn/direct/3b4c4046c47049f7b2b1f5d87f7b9661.png)
FastZigBee 节点类型: FastZigBee 设备分为终端设备(Target)和路由设备(Router),且网络可通过 ZigBee 网 关(ZigBee 转 Wi-Fi)接入互联网。(与标准 ZigBee 协议相比少了协调器) 。
三、配置方法
1.恢复出厂配置的方法
在使用 ZigBee 前,先将其恢复出厂状态,通信器模块连接电源后,正常工作时 D201 灯 (蓝色)闪烁(500ms 周期)。 先按下 Z_DEF 按钮不松开的情况下,按下 Z_RST 按钮,(此时 D201(蓝色)熄灭), 先松开 Z_RST,此时 D201(蓝色)快速闪烁一下,再以 500ms 周期闪烁,最后松开 Z_DEF 按钮,即完成恢复出厂设置。如下图
![](https://img-blog.csdnimg.cn/direct/deb1ca43778b44a28321617e0053b483.png)
2、使用配置软件进行配置
先安装配置软件,WirelessCfg_V1.3.8.01208 软件,如图:
![](https://img-blog.csdnimg.cn/direct/cfc3297693e543d48f441716e3e2b55c.png)
选择好安装路径按下一步即可完成安装,过程简单,这里就不贴图示意了,安装完成后 会在桌面生成一个快捷方式,如下图所示。
![](https://img-blog.csdnimg.cn/direct/2a0bbca4e6df4a53850fea56db31f0f0.png)
四、透传实验
需要准备的步骤
- 硬件连接及设置: 进行连接并设置好拨动开关,注意,将 Micro USB 线连接主控 USB_SWD 接口和电脑 USB 端口。使用前先将 ZigBee 模块恢复出厂。
2.程序准备 将开发板烧录入 ZigBee_Test.hex 文件,特别注意,程序中串口 1 的波特率是 57600bps, 串口 2 的波特率也是 57600bps。
3.调试软件准备 准备好调试助手,有两个软件,一个是本章安装的 ZigBee 配置软件,一个是我们在串 口实验中已经使用过的的串口调试助手,如图所示。
![](https://img-blog.csdnimg.cn/direct/5688ea3432124095b699a496ae9bc1fc.png)
①打开 WirelessCfg 软件,初始的界面如图所示。其中红框为笔者电脑连接的串口 号,用户根据自己的硬件选择对应的端口号。
![](https://img-blog.csdnimg.cn/direct/5e60c998186d427c8f16d38443424ecb.png)
②下面介绍如何使用该配置软件
1、先选择"设备连接"选项卡,默认选项卡
2、选择"串口设备"选项卡,默认选项卡
3、选择"设备类型"选项卡,默认选项卡
4、依据设备连接选择串口号,注意是 ST-LINK 的虚拟串口号。
5、选择波特率,修改为 57600,默认为 115200,切记!!!
6、打开串口
7、连接设备
注意一定要按照这样的步骤顺序进行,如下图所示。注意图中的序号即为步骤顺序
![](https://img-blog.csdnimg.cn/direct/4e448e3e81054a0286559d882e23b1c3.png)
正确连接,并读取到设备的信息的提示如下图 所示。
![](https://img-blog.csdnimg.cn/direct/7c9ec1299c794bf2aeff5d31f1be4746.png)
当正确连接并读取到设备类型时,选择"设备配置"选项卡,可查看到设备的配置信息, 通过双击左边的"本地设备"列表,可重新获取模块的配置信息,根据实际应用修改模块的 参数后,点击"保存配置"即完成模块的配置,如图所示。
![](https://img-blog.csdnimg.cn/direct/4ebba2813f7a48588260766fa4366614.png)
注意,前面讲了,如果两个 ZigBee 模块要通信,至少要确保 PanID 一致,通信频道一 致,这样才在一个网络里,才能进行通信。如果是单播通信,则目标地址需要设置为对方的 本地地址。 通过调节模块信息框右边的滑动栏,找到需要修改的项目。
1、修改 PAN ID
2、修改本地地址
3、修改目标网络地址
4、点击保存配置
5、自动弹出配置保存成功,点击确定,会自动刷新配置信息
如图所示。注意一定要保存配置,配置才会生效。
![](https://img-blog.csdnimg.cn/direct/9d8c9f139d334c1091cb9ce872cdf4a5.png)
根据上面提到的方法,我们将两个模块配置为单播通信。将本地网络地址和目标网络地 址交叉设置,其它参数保持相同即可,如图所示。
![](https://img-blog.csdnimg.cn/direct/90cdfec6cff246f881414c79e4822a5f.png)
这样这两个模块就可以进行通信了。 打开开发板连接的电脑(两台)上的串口调试助手,设置波特率为 57600,并按下开发 上的复位按钮。开发板下载的 ZigBee_Test 固件会自动打印信息,如图所示。
![](https://img-blog.csdnimg.cn/direct/5f2ee28d8c7748df824eb2e55b8208c9.png)
![](https://img-blog.csdnimg.cn/direct/92ca6a5aa9b7422dbaa928c00bbb1bd8.png)
在上图中注意发送框内写上对应模块的本地地址。点击串口调试助手的发送,可 以看到发送的信息显示在对方的接收框内。如下图所示。
![](https://img-blog.csdnimg.cn/direct/318c8990000347eea3105e3d6b1e4f76.png)
![](https://img-blog.csdnimg.cn/direct/30124d3a940d4fc1b687d88f6576bdae.png)
这样就完成了两个开发板之间的 ZigBee 单播通信。