一、简介
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 单播通信。