3. 2 通信程序设计
系统通信程序包括路灯与路灯节点之间的通信及其路灯节点与监控中心之间的通信两部分。
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 串口调试界面
评论
查看更多