基于物联网的智能太阳能路灯分区段数据采集与控制系统

2014-04-09 06:39盛蕴霞陈秉岩
照明工程学报 2014年2期
关键词:轮询链表区段

周 娟,盛蕴霞,陈秉岩,王 熠

(1.河海大学常州校区信息中心,江苏 常州 213022;2.河海大学常州校区物理实验中心,江苏 常州 213022)

1 引言

智能太阳能路灯具有以下特点:以市电和太阳能互补供电,具有电能计量功能;具有可变功率、长明等多个照明模式,可以根据交通流量进行调节;具有一定的智能控制功能[1]。

智能太阳能路灯的运行产生大量对路灯管理控制有用的实时感知数据。由于无线通信模块各状态按能量消耗的降序排列,依次为发送、接收、侦听、处理、睡眠状态[2,3],大量实时数据若全部直接发送到远程路灯管理中心,会大大消耗系统能量,同时既延迟了处理时间又耗费网络流量,这种管理控制方式效率低下,不符合节能环保理念。智能路灯感知数据量大[4],数据传输有实时性,在有限的节点通信能力、节点计算能力和分布式网络结构环境下,对传感器网络的软、硬件提出高健壮性和容错性[5],同时,数据查询和管理也要具有高效性。

本文对智能太阳能路灯的监控管理进行研究,设计基于物联网[6]、对邻近多区段路灯进行实时数据采集、存储,初步数据处理和进行路灯控制的便携式系统,提高路灯管理控制效率,系统要实现的功效指标如表1所示。

表1 系统功效指标Table 1 System effect ion standard

2 总体架构

分区段数据采集与控制系统(SDACS)总体架构如图1所示,能够同时对邻近多区段的智能太阳能路灯自动实时数据采集、处理和控制。系统内部硬件结构包括,微处理器、通过串口扩展模块连接的液晶显示LCD接口和串行打印机接口、GPRS模块、无线通信模块、串行键盘接口、外部存储模块、内部存储模块、时钟同步模块。系统通过无线射频模块与邻近多区段的智能路灯通信;由GPRS模块通过公网提供的GPRS网络服务与远程路灯管理中心通信。

图1 系统总体架构Fig.1 General system architecture

3 系统设计原理

3.1 硬件结构

SDACS系统硬件结构如图2所示,其中微处理器采用基于AVR RISC结构的8位低功耗CMOS单片机ATmega128,具有先进的指令集以及单周期指令执行时间,ATmegal28的数据吞吐率高达l MIPS/MHz,大大缓减系统在功耗和处理速度之间的矛盾。系统采用TL16C554芯片扩展出多个串口,连接LCD液晶显示接口、串行打印机接口;采用两片八位串行输入/并行输出移位寄存器74HC164芯片进行数据串并转换,分别与LCD芯片JM240128A的接口和串行打印机的数据总线接口连接,以节省数据输出端口,如图3所示。串行键盘接口与单片机的4个I/O口连接,实现系统和用户之间的人机交互。内部存储模块分别采用串行SRAM芯片X24C45和Flash芯片AT25FS040与微处理器连接,为系统提供静态内存和程序代码;外部存储模块采用串行SD卡与微处理器连接,用于存储采集的实时数据和统计分析的数据结果。时钟同步模块采用时钟日历芯片DS12C887,用于对路灯提供时间基准,进行时钟同步管理。

图2 系统硬件结构图Fig.2 System hardware structure

图3 串口扩展模块连接示意图Fig.3 Serial expansion module wiring diagram

无线模块采用ZigBee芯片CC2420收发无线信号,负责通信端口管理、通信数据的接收解码与发送编码,与邻近多区段的智能路灯通信;由GPRS模块采用MC35i芯片与微处理器的串口连接,通过公网提供的GPRS网络服务实现微处理器与远程路灯管理中心通信。

外部存储模块、内部存储模块、无线通信模块均通过如图4所示的SPI总线方式与微处理器之间传送指令和数据。

图4 SPI串行总线接线图Fig.4 SPI serial bus wiring diagram

3.2 软件功能模块

针对路灯分区段管理需要,如图5所示,SDACS软件提供实时信息采集、基础数据统计、路灯控制和数据输出等功能。

图5 系统功能模块图Fig.5 System function modules

实时信息采集模块建立实时状态管理数据结构,采用轮询算法实时轮询,采集用电方式、用电量及故障报警等实时数据。

基础数据统计功能提供从实时点灯信息中计算指定时间段内的点灯时长和用电量统计,计算光伏用电和市电用电比例;对实时路灯状态数据进行分析,与参数指标对比,判断路灯工作状态是否异常,按期进行统计;对实时故障报警数据进行分析,统计指定时间段内路灯故障类型和频数。

路灯控制功能对三个方面进行控制:(1)路灯工作模式控制,包括对可变功率、长明等多个照明模式的设置;(2)用电方式控制,包括光伏用电和市电用电切换控制;(3)照明参数调整,包括路灯地址、预点灯时间、亮度等照明参数的设置。数据输出模块以文件形式导出或打印指定的数据及统计结果。

4 通信协议设计

每个SDACS节点都是一个可以进行数据采集、数据处理和数据通信的智能单元。由于无线传感器网络受价格、体积和功耗的限制,节点计算能力、程序空间和内存空间等资源[7]有限,因此系统通信协议设计应尽量简化;数据处理尽量由节点自身完成,从而减少GPRS及无线链路中传送的数据量。最后,无线数据传输的出错率高,某些路灯节点随时可能失效,通信协议应具备健壮性和容错性,确保任何路灯节点故障不会影响整个系统运行。

4.1 通信地址分配

SDACS与路灯通信双方的地址统一由区段地址和段内地址码组成,共12位二进制码编码,范围为0 x 000~0 x FFF,除了用于所辖区段内单盏路灯的地址,还包含特殊用途地址:

0x000:SDACS系统地址;

0xFFF:十字路口路灯地址;

0xExx:最高四位为1110开头的地址预留,不分配给任何区段路灯;

0xEEE:辖区内所有区段路灯的全局广播地址;

0xE+四位段号+0000:最高四位为1110开头、中间四位为区段地址、最后四位为零的地址为指定区段内的广播地址,称为局域广播地址。

4.2 通信指令

为便于管理维护,在统一编址基础上,SDACS与路灯间采用如图6所示的统一指令格式,总长度为144位,其中前导码字段8位,源地址和目标地址字段各12位,指令类型字段8位,数据位长度字段8位,数据位及填充位字段共96位,校验码8位。通信指令包括指令类型和指令格式。

系统指令包括对单个路灯和对批量路灯发送两类,通过目标地址和指令类型字段加以区别。如对批量路灯的区段地址进行修改,则在目标地址字段填写带有原段号的局域广播地址、在指令类型字段填写修改段地址指令的代码进行发送。为减少无线链路中传送的数据量、节约节点能源,路灯不需要答复系统批量发送的指令。

图6 通信指令格式Fig.6 Format of communication instruction

5 实时轮询算法

实时信息采集是SDACS核心功能,其采集效率决定了智能路灯管理性能。系统采用轮询方式采集实时数据,针对路灯区段管理特点建立如图7所示的三层实时状态管理数据结构,包括区段地址链表、段内地址链表及路灯实时状态表。区段地址链表的每一个节点指向该区段段内地址链表的头节点;段内地址链表的每一个节点指向路灯实时状态表的一条记录;路灯实时状态表由索引、轮询次数、发送时间、状态判断、收到应答及多个轮询参数字段构成。

图7 实时状态管理数据结构图Fig.7 Data structure for real-time statement

由于无线传感器网络具有带宽狭窄、双向链路易受干扰、数据传输可靠性低、通信质量有限等特点,系统轮询算法设置最大轮询次数Nmax,按区段地址链表和各段内地址链表遍历每个节点,对各节点对应路灯首次发送轮询请求指令时,在路灯实时状态表中建立一条记录,记录第Npoll次发送轮询和发送时间;收到来自路灯的轮询应答信息,则修改该记录收到的相关参数信息,并作状态判断,然后开始对下一路灯进行轮询请求;如超时未收到应答,则记录未收到应答,如发送次数Npoll

系统设计特定的数据结构进行实时数据采集,可以对所辖路灯按区段进行创建和删除,根据路灯地址容易找到路灯对应的链表成员和查询相关参数信息,实时跟踪目标分段供电路灯照明系统的工作状态,及时发现运行故障,适应本照明系统的分区段管理特点,管理效率高。该轮询算法减轻系统处理大量路灯地址和轮询信息的内存消耗和处理器开销,加快处理每个轮询节点的效率,大大减化生成和管理轮询路灯数据的操作,节省操作用时和内存空间。

6 系统流程与特性

系统工作流程为:系统上电运行后,读取Flash程序代码,读取配置参数,初始化各功能模块,如系统未找到路灯地址文件,则屏幕显示提供路灯地址设置;根据所辖区段路灯地址初始化路灯数据链表,然后进入实时信息采集模块,对各路灯进行实时轮询,按设定的时间间隔将轮询异常信息和报警信息交给GPRS模块发送给远程管理中心。当系统产生中断信号,则进入中断处理程序。首先判断中断来源:(1)如果是用户按键中断:则判断按键内容,如查询数据,则按用户指定参数到外部存储模块读取数据及统计信息文件,按用户选择进行LCD显示或打印数据;如为用户对路灯发出管理控制指令,则根据用户选择构造和发送通信指令;(2)如果是收到来自所辖区段路灯的通信指令中断,则判断是路灯上报点灯及用电量数据、对轮询的应答指令还是故障报警指令。如果收到路灯上报数据,则存储实时数据,对光伏用电和市电用电分别统计用电量;如果是来自路灯的应答指令,则分析应答数据,更新轮询信息表,对收到的实时数据进行计算、存储和统计,与参数指标对比,判断路灯工作状态是否异常;如果是故障报警指令,则提取报警具体数据内容,进行存储,并统计路灯故障类型、次数;(3)如果收到来自GPRS模块的中断,则判断是控制指令还是数据查询请求,如果是控制指令,则根据指定的控制参数和选择的路灯地址构造和发送通信指令;如果是数据查询请求,则根据请求指令到外部存储模块读取数据及统计信息文件由GPRS模块发送应答数据。

与传统路灯控制系统对比,SDACS具有如表2所示的性能特点:

表2 系统性能对比Table 2 System effect ion contrast

7 系统测试

测试实验采用5个SDACS对总共100盏智能太阳能路灯进行实时数据采集和控制,每个SDACS采集和控制邻近区段马路两边各10盏路灯,路灯间隔为15~20米。轮询间隔设为30秒,经系统数据处理后通过带宽为50kbps的GPRS向城市路灯管理中心每5分钟上传一次统计数据和故障信息,每天路灯工作12小时,共运行15天。则每次发送数据指令约耗时144×100/50000=0.288秒,每天系统通过GPRS发送数据量大约144×100×12×12=2.073Mb;如果按原来的所有数据完全上传,则每天通过GPRS发送数据量约为144×(60/30)×60×12×100=41.47Mb。对比二者,GPRS流量大大减少。按每Kb流量0.01元的价格,100盏路灯15天可节省约27元流量费用;同时,由于系统发送次数和流量减少,在不降低系统性能的前提下节约了系统能耗,延长了系统生存时间。

8 结论

SDACS系统针对邻近多区段智能太阳能路灯分段采集和处理实时感知数据,提供快速本地存储,只在必要时将统计信息通过GPRS发送给远程路灯管理中心,缩短传输和处理时间,节约公网流量和费用,节省系统能耗,符合节能环保理念。

[1] 段现星,郑安平.光伏太阳能LED路灯照明系统设计[J].机电一体化, 2011,7:77~81.

[2] 陈积明,林瑞仲,孙优贤.无线传感器网络的信息处理研究[J].仪器仪表学报,2006,27(9):1107~1111.

[3] Akyildizlf, et al. Wireless Sensor Networks: A Survey[J].Computer Networks,2002(38):393~422.

[4] 张青文,李毅,翁季,等.不同色温LED光源在道路照明中的适用性研究[J].照明工程学报,2013,24(5):70~79.

[5] 朱树先,高涵文,朱学莉,等.基于无线通信模式的照明节能监控系统研究[J].照明工程学报,2013, 24(5):195~197.

[6] 王保云.物联网技术综述[J].电子测量与仪器学报,2009,23(12):1~7.

[7] 浦敏,李云飞,王宜怀.基于物联网的无线照明控制系统[J].照明工程学报,2010,21(2):86~89.

猜你喜欢
轮询链表区段
中老铁路双线区段送电成功
如何用链表实现一元多项式相加
基于等概率的ASON业务授权设计∗
跟麦咭学编程
站内特殊区段电码化设计
站内轨道区段最小长度的探讨
基于MTF规则的非阻塞自组织链表
利用时间轮询方式操作DDR3实现多模式下数据重排
高速铁路无越行区段通过能力计算方法
IT设备数据管理技术应用浅析