zigbee路灯无线通讯机制

zigbee路灯无线通讯机制

wang@20160630

前言

目前路灯上通讯主要有电力载波和无线通讯;各有利弊,众说纷纭;本文不对两种技术进行比较,也不讨论哪种好,毕竟同种通讯模块,有的开发出来稳定,有的就不稳定,究其原因有很多,所以也不好做其讨论;本文主要是记述了我如何通过zigbee无线来为路灯做数据的传输;采用的何种通讯技术;为了必免时间久了,忘记了,因此有必要把它记录下来,方便自己记忆,也可给别人做参考。

内容

本文主要内容分四点讲述:1、Zigbee角色定义;2、采用的通讯机制及实现功能;3、路由表定义及作用;4、通讯协义定义和解释;

1、Zigbee角色定义

现状分析:路灯灯杆与灯杆之间都是比较远,而且有点直线分布,不像是网状分布。Zigbee的角色有coorder、router、device。考虑到路灯灯杆分布的现状、一个集中器要带载很多个路灯终端设备,及为了节省资源和以后安装方便,本系统只采用两种角色:coorder和router,每个单灯控制器都是router,可做中转;一个coorder最多可带250个router。

  1. 采用的通讯机制及实现功能

本系统主要采用泛洪消息机制向本区域所管辖的网络广播,router设备收到包后判断是否是自已的数据包,如何是则接收;如果不是,则先判断是否可转发,若转发次数未到则转发,并且只能转发一次;router设备需维护一张路由表记录以前转发过的包,并在通讯协议上增加两个字段,记录转发次数和发送序列号;每一个router设备维护一个发送序列号,每发送一个包,序列号加1,并把该序列号加到数据包的包头信息中;其它设备节点收到一个数据包后依靠查找路由表中的序列号rxsn和uid来判断自己是否已接过该包,是否是自己的包,或是否需要转发该包。

主要功能:实现coord和route数据透传功能,coord通过串口接收特定的数据,再通过无线传输,把数据传到指定的route设备中,route设备再把信息通过串口显示出来;route设备也可以传送相关的数据到coord设备;每个route设备都具有上、下行数据转发功能,当收到的数据通过mac地址检测到的不是属于它的数据,它需要再次转发出去,并相应的更改转发次数,同一数据包只能被转发一次,数据包总的转发次数不超过100次;

示意图

  1. 路由表定义及作用

typedef struct _dev_mac_t

{

u32 srcmac;//源mac

u8 rxsn; //接收系列号

u8 rssi; //存储 rssi值

}dev_mac_t;

路由表数据采用动态分配,源mac为唯一标识,接收RF数据时,通过查找srcmac判断是否增加或修改相应数据;首次接收到数据时,会增加一笔记录,保存srcmac、rxsn和rssi,;当再次接收到源mac发来的数据时,如果当前数据包的rxsn与路由表记录的rxsn相同,则不接收,以必免重复接收,如果不是只需要更新rxsn和rssi值;

4、通讯协义定义和解释

总体包 **格式:**包长PHR(1)+MAC(7)+自定义数据(N)+MFR(2)

**详细包格式:**包长PHR(1)+MAC{帧类型fcf (2)+系列号seq(1)+目标panid(2)+目标短地址(2)}+数据{包类型(1)+源地址(4)+目标地址(4)+发送序列号(1)+转发次数(1)+终端MCU数据包(N)}+MFR(2)

系统基于MAC层的自定义的zigbee协议数据包,采用芯片的mac地址的后48位来做唯一的地址并称为uid;短地址中设coorder地址为0;coorder设备专门为集中控制器用的;

coorder-->router:则源地址为0,目标地址为router的uid;

Router-->coorder:则源地址为router的uid,目标地址为0;

相关推荐
YMWM_2 小时前
UDP协议详解:从原理到Python实践
网络·网络协议·udp
pengyi8710152 小时前
共享 IP 与独享 IP 怎么选?被封后升级方案避坑
网络·网络协议·tcp/ip
YuanDaima20482 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
凯勒姆4 小时前
网工网络设备原理及配置
网络·智能路由器
上海云盾-小余4 小时前
网站恶意爬虫拦截策略:智能识别与封禁实操方案
网络·爬虫·安全·web安全
xhbh6664 小时前
网关端口映射和路由器端口转发有什么区别?配置要点全解析
运维·服务器·网络·智能路由器·端口映射·映射·无痕网关
半壶清水5 小时前
用P4 Tutorial、BMv2 和 Mininet‌解析网络第一集------模拟环境搭建
运维·服务器·网络·网络协议·tcp/ip
高翔·权衡之境5 小时前
主题10:实时性——硬实时与软实时
服务器·网络·驱动开发·信息与通信·智能硬件
黄筱筱筱筱筱筱筱6 小时前
交换综合实验
网络
Irissgwe6 小时前
一、网络基础概念
linux·网络·websocket·网络协议·socket·linux网络编程