一种基于物联网的园区智慧路灯系统∗
2020-05-15刘起明杨军文瞿少成
刘起明 赵 亮 杨军文 瞿少成
(华中师范大学物理科学与技术学院 武汉 430079)
1 引言
随着信息技术飞速发展,智能化物联网设施逐渐被运用到人们的日常生活中[1~2]。
既有基于物联网的智能水表、物流信息平台,关系到人们的日常体验[3~4];也有基于物联网的智能鞋柜,停车场定位系统,关系到人们的出行[5~6]。基于物联网的路灯系统是智慧园区公共基础设施的重要组成部分,在完善园区服务功能和服务环境中扮演着重要角色[7~8]。文献[9]设计了基于 PLC的智能路灯系统,其载波通信基于原有的电力线网络,结合路由中继转发和GPRS网络技术,实现路灯的照明控制。文献[10]设计了基于GPRS与Zig⁃Bee无线组网的节能路灯系统,以AVR单片机为控制器,实时监测环境,以便自动调节路灯亮度。文献[11]设计了基于LED的校园照明节能系统,通过LED日光灯替换传统的荧光灯和校园路灯,达到高效、节能的目标。
基于园区路灯控制的实际需求,本文设计了一种基于物联网的园区智慧路灯系统,系统利用SI4463无线网络传感技术,进行路灯环境数据的收发,通过ARM平台实时显示,利用TCP/IP技术实现跨平台通信。通过照明系统的智能化管理,实现降低成本与节能减排。
2 系统硬件设计
基于物联网的园区智慧路灯系统的硬件架构如图1所示,由传感器子节点、协调器节点和ARM平台组成。
终端节点由HC-SR501人体红外感应模块和光敏传感器实现数据采集。
协调器节点通过串口与ARM板通信,并通过SI4463无线模块与子节点通信。
通过AM3359开发板的QT界面负责环境数据的实时显示,以及控制命令的下发,实现了人机交互。
图1 系统硬件框架图
3 系统软件设计
系统的软件设计包含三个方面:一是数据采集子系统的设计;二是数据管理子系统的设计;三是Web远程监控平台的设计。
3.1 数据采集子系统的软件设计
ZigBee的通信速率低,穿透和绕射能力差,它的协议栈包含大量的容错措施,过于复杂,代码量大[12~14]。针对这些问题,系统采用SI4463高性能低功耗射频收发器,SI4463极限通信距离为1500m,输出功率20dBm,增大覆盖无线网络节点面积。
运行在ARM平台的程序通过串口获取SI4463无线传感模块传输的环境数据。考虑到网络传输异常情况,系统移植Sqlite数据库做数据缓存,实现向服务器的数据上报[15]。
3.2 数据管理子系统的软件设计
数据管理子系统采用C/S架构,利用TCP/IP下的套接字技术和多线程技术实现嵌入式ARM平台和远程数据管理中心的跨平台通信。
客户端采用Sqlite数据库,服务器端采用MySQL数据库。远程数据管理中心通过Web监控程序收集相关的数据和控制指令,协调器节点利用自组网路由算法汇聚子节点发送的数据,传递给ARM平台,服务器通过TCP/IP获取ARM平台发送的数据,使用MySQL对数据进行存储和管理。
基于物联网园区路灯系统的控制策略为:通过一个光敏传感器感知园区环境亮度,和“系统时钟”共同确定是白昼还是黑夜;当黑夜时,通过人体红外感应5m内是否有人经过,如果有人通过,则开启该节点路灯,若路人一直在,保持路灯常亮,当路人离开感应范围,时延10s后路灯熄灭。此时,通过另一个光敏传感器感知灯光的光照强度,将测量的数据与正常路灯阈值比较,从而判断此节点是否损坏。
3.3 Web远程监控平台的设计
远程监控平台采用B/S架构,实现内网和外网的结合,支持PC、手机等不同终端在任意地点通过网络登录远程监控平台。用户通过远程的监控界面下发相应的控制参数后,通过Web服务器调用对应的CGI程序来解释监控页面的信息。
系统的远程控制界面通过POST方法向CGI程序提供数据,这种方式支持复杂的数据传输,数据不会暴露在浏览器地址栏中。
4 节点间的自组网路由算法设计
对于系统而言,要保证节点间数据传输稳定,需要减少延迟,通过网络的路由查找选择最佳路径。树型路由算法不需要复杂的路由表,数据传输时响应速度也快,但是路由效率很低。动态源路由算法将路由长度作为路由存储的唯一度量参数,未考虑路由时效性,消耗额外的接口排队时间和带宽。而自组网路由算法,它仅需要父兄节点或者子节点维护一个路由表,消耗一定存储空间,但是能达到最优路由效果。
在传感器与协调器间按照网络协议进行数据传输,这个过程中涉及网络地址的分配。网络中每加入一个节点,将会分配一个地址,它的地址分配如式(1)所示:
此公式中AK为分配的网络地址,AP为父节点的网络地址,Cskip(d)为网络深度地址偏移量,k为父节点的第k个子节点,Rm为父节点所能挂载最大路由节点数。在进行路由时,路由节点可以通过式(2)判断目的节点是否是它的孩子节点。
公式中LA为路由节点的ID,DA为目的节点ID,Cm为节点挂接子节点总数。
在发送数据时,先将目的地址代入式(2),若符合要求,则说明目的地址在孩子子节点,然后查询子节点路由表,若找到则把数据直接发送目的节点,没有找到则使用式(3)算出下一跳地址NA,把数据发送给它。再次使用式(2)进行判断,直至找到最终的目的节点。若不符合要求,则说明目的节点是它的兄弟节点或者父节点,然后通过查询兄弟节点路由表和父节点路由表,找到则将数据发送目的ID,反之将数据发送给它分配过ID的父节点,再使用式(2)进行判断,直到将最终数据发给目的节点为止。
图2 算法流程图
系统路由算法流程图如图2所示。
5 系统测试与分析
通过两盏85W的节能灯模拟路灯光源,如图3所示。每个路灯节点对应一个节点控制器,其中包含光敏传感器、人体红外传感器等。
系统启动后,各节点每隔十分钟自动选择一条路径向协调器发送数据,协调器收集后发送至ARM板,经过处理上传服务器,用户通过7英寸触摸屏近端控制,通过PC/手机访问浏览器来进行远端控制,远程监控界面如图4所示。
图3 园区智慧路灯系统实物测试
图4 远程监控界面
5.1 通信测试
SI4463无线模块与子节点的通信是整个系统的关键部分,它的性能影响着数据的管理和远程的显示。该通信测试分为两个部分,一是数据传输的距离测试;二是数据传输过程中的丢包率测试,节点数据的初始发送量均为1000。在距离测试中,以100m的间隔逐次递增。由表1可知当距离在350m内,传输正常;距离在450m内信号不稳定,超过550m丢失信号。由结果可知传感节点在350m内的园区环境正确传输,能满足路灯系统的实际需求。
表1 SI4463无线模块与子节点的通信测试
5.2 系统功能测试
系统的功能测试,如表2所示,包括四项性能指标:模式选择、远程监控、智能监测和节能控制。远程监控界面如图4所示,可以查询相关参数,控制路灯的开关闭合状态和精密控制亮度变化。通过环境亮度与系统时钟共同确定园区是白昼或者黑夜,红外感应是否有人经过;设置正常路灯阈值,当光照度小于阈值时,初步判断路灯故障,自动上传当前子节点地址,确定路灯位置。
表2 系统功能测试
根据测试结果与传统路灯系统进行比较,如表3所示,从四个方面进行了对比,包括故障排查、能耗、使用寿命和数据传输。物联网园区智慧路灯系统根据是否有人经过,按需照明,节约能源;根据光照度参数的变化,来自动报修故障路灯。它通过这两部分实现智慧的理念。
表3 传统路灯系统与物联网路灯系统对比
6 结语
本文采用无线通信、数据库、Linux、Qt设计、TCP/IP等多种技术[16],设计了一种基于物联网的园区智慧路灯系统。测试结果表明,系统能够有效地远程实时监控园区路灯,方便故障路灯维修,并且根据场景的不同自动开关,有效节省电能。系统具有较好的安全性和稳定性,具有一定的实用价值。