一。功能设计
使用Zigbee技术组建无线网络,网络中包含温湿度采集节点、风扇控制节点、 Zigbee 协调器。(1) Zigbee协调器负责 Zigbee 网络组建,通过串口与 STM32 进行通信。(2)STM32负责Zigbee 传感器数据解析,和控制命令下发。
二。
通信协议
1.什么是通信协议?
通信协议其实就是设备与设备之前的说话的语言,Zigbee只是无线网络层协议,我们需要自己定义通信协议:举例:在网络中怎么识别Zigbee 节点的网络地址?上传的数据怎么识别代表什么意思?协议就是解答上述问题。
2.协议格式
1. 包头 / 版本:表示一包完整的数据 / 当前使用的协议版本2. 节点 ID :在 Zigbee 网络里的节点 ID 号3. 节点类型: 0x0 :温湿度传感器 0x01 :风扇控制4.数据长度: 范围: 0~255 单位:字节5.数据域6. 温湿度传感器:温度 + 湿度( 1+1 字节)7. 风扇:风扇状态 ( 1 个字节)8. CRC-8 检测9.8 位循环冗余校验(保证通信可靠)
10.校验域为节点ID~
数据域
协议格式模版温度协议格式( 上行 )风扇协议格式( 上行 )风扇协议格式( 下 行 )
三。
Zigbee
组网设计
1.通信方式
Zigbee支持单播,组播,广播,绑定通信,根据我们功能定义,协调器可以采用广播通信,节点采用单 播通信。(1)协调器地址恒为:0x0000(2)广播地址为:0xFFFF(3)节点地址:采用短地址通信,但是地址是有协调器进行动态分配的。
2.协议解析,组包设计
注意:在实际的网络的通信中即有上行又有上行,需要我们通过代码具体实现。1.设计思路(1) 判断接收协议是否合法<1> 检查协议头<2>检查协议尾<3>校验CRC(2) 获取有效数据(3) 解析数据(4)创建协议数据