一种基于Zigbee的路灯控制系统实现方案
1) 路灯节点之间的通信实现。
路灯节点之间实现通信,一方面是为了了保证路灯在夜间没有行人或车辆通过时处于节电状态,即微亮状态,另一方面是当路灯节点检测到道路上有行人或车辆通过时,使该路灯转为全亮,并通知下一盏路灯转为全亮,以确保行人或车辆的出行安全。
路灯节点之间采用串口通信,通信参数配置为异步通信、8 位数据、无奇偶校验、一个停止位及无倍速。串口的发送程序采用查询方式,接收程序采用中断接收方式。
路灯节点控制器之间的发送程序为:
sysDRFarr [0] = 0xfd; / /点对点数据传输指令
sysDRFarr [1] = 1; / /数据长度
sysDRFarr [2] = sysAddress [( LEDNumber )* 11 + 1]; / /目标地址高
sysDRFarr [3] = sysAddress [( LEDNumber )* 11 + 2]; / /目标地址低
sysDRFarr [4] = 0; / /数据
put_ arr ( sysDRFarr,5) ; / /发送一串数据帧
接收处理程序为:
void PointToPointRecive ( void)
{
LEDPWM_ Adjust ( usartReceiveBuf [3 ]) ;
/ /接收到的数据
sysDRFarrShortAddress [0] = usartReceiveBuf[4]; / /来源地址高
sysDRFarrShortAddress [1] = usartReceiveBuf[5]; / /来源地址低
usartReceive_ Init ( ) ; / /串口数据初始化
}
2) 路灯节点与监控中心之间的通信。
路灯节点与监控中心之间的通信一方面可以通过上位机为路灯节点配置相关信息、发送控制指令,另一方面可以接收来自路灯节点的现场运行信息,实现系统在监控室进行路灯系统操控和故障查询、报警等功能。
采用PC 机串口与网络协调器相连,实现读取路灯节点信息或控制路灯运行状态。例如PC 机要读取当前系统路灯信息,利用串口调试工具观察PC机向无线网络发送和接收数据,如图2 所示。发送指令格式为: FB + 02 + 14 + 路灯编号( 本系统中路灯编号为01,02,03),表示读取编号为01、02、03 的路灯节点当前信息;路灯节点做出回应,通过无线网络返回路灯信息格式为: 环境光强+ 路灯光强+ 故障情况。路灯节点1 返回的信息表明当前所处环境光强度为E2(由强到弱范围: FE ~ 00)、路灯亮度FB ( 由灭到全亮范围:FE ~ 00) 、无故障00( 有故障为01) 。

图2 串口调试界面
3. 3 监控软件功能设计
系统监控中心程序包括: 显示监控程序、调试配置程序、系统参数配置程序及存储工作运行数据程序。
(1) 显示监控程序。
显示监控程序包括路灯状态信息、街道状态信息、报警信息。通过显示监控界面可以实现街道选择; 观察路灯当前光通量、功耗、工作时长及是否故障; 自动统计该街道的总用电量、亮灯率;系统自动工作的时间段; 显示当前街道故障的路灯编号及该路灯在什么时间发生故障。
(2) 调试配置程序。
调试配置程序包括串口配置、Zigbee 读取及配置、路灯调试。通过串口配置界面设置相应的串口配置参数;通过Zigbee 的配置程序可读取Zigbee 模块的网络ID 号、波特率、网络地址、MAC 地址,可以方便的设置Zigbee 模块的网络ID 号、波特率;通过路灯调试界面可以读取该街道路灯的环境光强、路灯光强、功耗、是否故障等信息。可以对该路灯进行调光测试及设置该路灯开始工作时间。
(3) 系统参数配置程序。
系统参数配置程序包括校正路灯节点时间、设置系统工作时间、配置街道地址。在系统运行过程中,系统时间可能会与当前时间有差别,通过系统时间校正,可以使系统时间与PC 机时间同步; 可以设置系统正常工作的开关机时间与街道地址。
(4) 存储工作运行数据。
在系统运行的过程中,下位机发送的路灯信息及报警信息都会保存到数据库中。同时街道及路灯的配置信息也保存在数据库中,并可方便用户导出及打印信息。
评论