基于无线传感器网络的智能LED景观灯控制系统的设计与实现*

2022-08-01 07:21魏志荣梁志勋赵家祺覃海林罗富贵
光源与照明 2022年1期
关键词:灯具单片机服务器

魏志荣,梁志勋,赵家祺,覃海林,罗富贵

河池学院 大数据与计算机学院,广西 河池 546300

0 引言

夜景照明灯光是为了满足城市夜景效果而设置的灯光,丰富的城市夜景照明有助于塑造城市景物的亮点,提升人们在夜晚对城市的感知度[1]。景观照明是园林景观设计师将园林景观按照其特有的空间结构以景观灯加以点缀,从而突出不一样的精神内涵,以达到观赏的目的。如桂林地下溶洞的照明就是采用地域特色与景观灯相结合的设计方法,形成了“1+1>2”的设计效果。考虑到景观照明对于城市景观的重要性,对景观照明进行合理布局是十分必要的。在传统的布置过程中,照明景观灯的位置不确定,传统的有线控制方式也使得布局时还需要考虑走线问题,提升了工作的难度。再加上当前我国城市景观照明智能化发展水平参差不齐,在景观灯光系统规划、建设管理、协议接口标准的统一性、功能设置等方面还有待完善[2]。

传统的景观照明控制方法由于分布比较杂散,多处于室外,无法实现对景观灯的灵活控制和实时监控[3]。基于此,文章提出了基于无线传感器网络的智能LED景观控制方案。该方案使用ESP8266作为节点主控、ESP-MESH作为组网方案进行组网,大大地减少了各个景观灯之间的线路连接。ESP-MESH将一个区域内所有的LED景观光源数据汇聚到主节点,主节点使用4G模块将数据传输到云平台,云平台再将数据下发到手机App或者电脑上位机端,通过手机App或者电脑上位机可以控制一个区域内的LED景观光源[4]。

1 系统总体设计

系统通过电脑上位机或手机App统一协调控制同一区域内景观灯的无线组网。在本系统内,各个终端节点与协调器节点组建为无线MESH网络,MESH网络与阿里云服务器通过协调器节点搭载的4G模块实现通信。上传到阿里云服务器的数据将下发到电脑上位机或者手机App(见图1),手机App和电脑上位机的景观灯设置数据也可通过云服务器下发到搭载4G模块的协调器节点,协调器节点再处理后转发到无线MESH网络[5]。

图1 系统总体框架

2 网络节点设计

景观灯控制系统协调器节点(见图2)通过4G网络与阿里云服务器建立连接。系统选用AIR724模块,协调器节点的主控为STC8A8K64S4A12单片机(STC单片机),负责处理来自4G模块和ESP网络的数据。ESP8266通过RGB灯具控制电路模块驱动RGB LED灯具,RGB LED灯具的控制需要通过PWM实现,ESP8266引脚能够实现10 bit PWM。由于ESP8266的输出功率较低,采用MOS管驱动电路可以满足50 W大功率RGB LED灯具的工作需求[6]。

图2 协调器节点框架图

在终端节点(见图3)中,ESP8266通过RGB灯具控制电路可控制RGB灯具,因此在终端节点的电路中不需要使用STC单片机。ESP8266使用ESP-MESH进行组网,通过LED驱动电路控制LED灯具。

图3 终端节点框架图

3 系统硬件设计

3.1 MOS管驱动电路

设计方案采用额定功率为50 W、额定电压为24 V的RGB LED灯具,型号为IRF540N的MOS管作为LED驱动电路。MOS管的栅极相对于源极的电压Vgs=20 V,需要添加前置三极管、单片机引脚驱动三极管,三极管可以再驱动N沟道MOS管。

3.2 ESP8266电路

使用的ESP8266的型号为ESP07S,连接棒状天线,可以加大通信距离[7]。ESP8266在系统中的作用是构建ESP-MESH网络,每个终端节点都使用ESP8266作为主控,兼顾无线网络通信,使用引脚IO5、IO4、IO0作为RGB灯具PWM控制的输出引脚。

3.3 电源管理电路

景观灯的输入总电源采用的是220 V转24 V的电源模块,并采用“DC-DC+LDO”方案为控制器供电。DC-DC芯片的型号是LM2596S-5.0,LDO芯片的型号是AMS1117-3.3。

4 系统软件设计

4.1 开发环境

系统的开发环境选用的是Keil μVision 5和Arduino IDE,使用Altium Designer绘制原理图及PCB图。

4.2 协调器节点程序设计

协调器节点上电之后开始系统初始化(见图4),之后检查是否已经登录到阿里云服务器。如果没有登录,则开始执行登录操作;如果已经登录,则等待数据的到来并判断数据来源。如果数据为云服务器下发的数据,STC单片机会开始解析JSON数据,并通过串口1发送到MESH网络;如果数据为MESH网络上传的节点数据,STC单片机会将处理过的数据通过串口2上连接的4G模块上传到云服务器[8]。

图4 协调器节点程序流程图

无线传感器网络与云服务器之间采用JSON数据格式进行通信,各属性的意义如下:switch为节点开关值;ID为节点号,ALL为全部节点;delaytime为延时时间,用于炫彩模式的光色彩变换速度;luminance为亮度值,取值范围为0~255;mode为工作模式,1为落日模式,2为定时模式;rgbmode为RGB灯具模式,1为单色模式,2为炫彩模式;lightvalue为环境光照值,在环境光照值为10的时候自动开启灯具(在落日模式下生效);R、G、B为灯具的RGB值;time为定时模式下景观灯的开启、关闭时间;open_hour为开启时间;close_hour为关闭时间。

4.3 终端节点程序设计

终端节点上电之后开始系统的初始化(见图5),之后开始检测是否连接上MESH网络。如果没有连接上,则搜寻附近具有相同前缀和密码设置的节点进行连接,组建MESH网络;如果已经连接上MESH网络,则开始等待MESH网络中的消息,当有消息到来时,需要判断数据种类。数据有两类,一类是云服务器下发的景观灯设置JSON数据,另一类是协调器节点下发到MESH网络的时间更新JSON数据。协调器节点会每隔30 s获取1次当前时间,组成JSON数据{"ID":"ID号","status":"ok"},并下发到MESH网络。当接收到的数据为云服务器下发的景观灯设置JSON数据时,终端节点开始解析该JSON数据并根据数据设置景观灯的状态或颜色;当接收到的数据为协调器节点下发到MESH网络的时间更新JSON数据时,需要解析JSON数据并设置景观灯的时间,该时间用于景观灯的定时模式。

图5 终端节点程序流程

5 测试与分析

使用MQTT.fx软件进行测试,在MQTT.fx上登录阿里云账号,并订阅相关Topic,接着向指定Topic发送JSON数据,观察LED灯具的变化。

(1)把“rgbmode”的值设为1(此时RGB值为R=0,G=0,B=100),“lightvalue”的值设为20。用手捂住主节点上的光敏电阻,此时景观灯亮起蓝色;松开手,环境光强值上升,此时景观灯熄灭。

(2)把“rgbmode”的值设为2,“delaytime”的值由1 000改为5 000。此时,景光灯开启炫彩模式,景光灯开始颜色变换,光颜色的变换速度变慢。

(3)把“mode”设为2,“open_hour”设为19,“close_hour”设为5,开启定时模式,预期19:00灯光开启,5:00灯光关闭。实际结果为UTC北京时间19:00:42灯光开启,5:00:20灯光关闭,误差较小。

(4)测试相邻两个节点的最远通信距离。手持一个节点,逐渐远离最近的另一个节点,并在远离的时候发送JSON数据,发现最远通信距离达36 m,该距离足以满足大部分景观设计的距离要求。

6 总结与展望

IPv6的大规模应用为物联网应用扫清了障碍,使物联网的发展迎来了高潮,物物互联的时代即将到来。物联网的迅猛发展使得很多传统行业产生了新的突破,文章提出的方案借助了物联网与无线传感器网络技术,解决了传统景观照明控制不方便与实时监控难的问题,为景观照明控制开拓了新的发展方向。

猜你喜欢
灯具单片机服务器
服务器组功能的使用
理解Horizon 连接服务器、安全服务器的配置
基于单片机的SPWM控制逆变器的设计与实现
灯具的非常规表达——以光感塑造情境用线条勾勒独特性
PowerTCP Server Tool
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
西班牙 情感之光灯具只在当下
计算机网络安全服务器入侵与防御