基于zigbee的RGB远程灯控系统设计

2013-09-26 06:04宋艳霞韩慧莲常旭青
电子测试 2013年2期
关键词:控系统串口远程

宋艳霞 韩慧莲 常旭青

(中北大学信息与通信工程学院,太原 030051)

1 引言

随生活水平的提高,网络化数字化技术的发展,人们对灯的要求不再仅仅局限于简单照明,灯可变化和网络化已经成为一种必然趋势。节约能源、保证灯具寿命、提高照明管理水平、美化城市夜晚和保证城市夜间出行安全等,已经成为对照明系统的一项基本要求[1]。在现代室内设计中越来越多的人都认识到,灯光在室内环境中除了有照明的功能以外,同时还应该满足视觉审美和表现环境氛围等要求。具有节能、使用寿命长、灯光效果好还有可以随心所欲的控制,比如:小孩夜晚睡觉给他提供使人有安全感的光线;夜晚工作犯困,此时可以有个让人清醒的光线;同事聚会想要个KTV的灯光效果;看电影凝造个电影院的氛围等等功能的灯成为人们日益追求的对象[2]。本文设计的基于zigbee的RGB灯控系统以CC2530芯片为灯控终端和coordinator的主要芯片,电脑为主控,可实现根据需求调节LED灯明暗程度,色彩。

2 灯控系统整体设计方案

整个远程无线灯控系统分为远程客户端、LabVIEW服务器端、coordinator和灯模块

灯控终端四大部分,具体如图1所示。

图1 系统整体方案图

2.1 简单灯控系统

如图1所示,简单的灯控系统主要是由灯控终端和担任主控任务的计算机构成,两者通过一个TI的CC2530做coordinator进行联系,灯控系统和coordinator通过射频通信,利用基于zigbee技术的无线通信减少了灯控终端盒主控的繁琐布线,方便维修。主控计算机采用图形化开发软件 LabVIEW开发用户操作界面,并利用其多接口支持性和coordinator通过串口相连[3]。

2.2 远程监控系统

远程控制系统主要是通过各种网络访问本地监控系统的控制设备,由于远程访问设备的不确定性,可能是电脑、上网本等其他一切可以上网的设备[4]。主要是在网页中应用Remote Panel通过浏览器控制远端VI的前面板来实现远程控制。

3 本地功能实现

3.1 灯控功能实现

灯控模块主要实现灯的亮度调节、色彩调节、以及模式调节。PWM实现灯亮度以及色彩控制。PWM即脉冲宽度调制(Pulse Width Modulation)[5],简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于从测量、通信到功率控制与变换的众多领域中。PWM从处理器到被控系统信号都是数字信号形式,无需进行数模转换,以数字的形式来控制模拟电路,和模拟信号相比方便调制且稳定,可以大幅度的降低系统功耗和成本。

CC2530的8051不具有PWM模块,但可以通过定时器和通用输入输出口(GPIO口)来实现PWM[6]。本系统就是利用CC2530的Timer1生成PWM波形,通过调整高电平和低电平的占空比,实现分别控制Port0 Pin 4/5/6(对 应 Timer1 Channel 2/3/4)蓝 / 绿 /红三色分量。从而实现明暗程度调节。

色彩控制是对亮度调节的重利用,通过改变3色分量后,将三色混和在一起来实现色彩的调制。比如:红绿蓝三色三种相同分量的灯光混合就是白光,改变其中任何一种颜色的分量都会改变灯光的整体效果。

脉冲宽度控制用labvIEW软件进行的模拟,如图2所示:通过改变红、绿、蓝三色的占空比,来改变各个颜色的分量,混合后得到最终右上角的颜色。实际LED灯显示颜色稍微有所不同。

图2 脉冲控制颜色混合的模拟

3.2 无线控制实现

本地计算机作为主控,主要负责网络路由表的存储,网络节点设备信息的存储,控制信息的发送和接收等。

Coordinator是所有节点和主控的桥梁,串口通信通过心跳检测与主控实时保持联系,并基于zigbee协议[7]的应用实时检测接收主控的控制信息、ZigBee节点的回复信息。最主要coordinator还起到建立网络的作用。Coordinator在开始工作后,首先建立无线网络,随后进入侦听状态。当串口接收到数据后,检测是否为心跳检测,如果是回复事先约定的字符串告知主控它的存在性,否则检测是否是要求搜索网络的指令,如果是则广播搜索消息给网络中的多有节点,要求回复指定的信息。如果不是,则检测是否是控制指令,当检测是则将该指令原封不动的打包广播到网路的所有节点,如果不是在此回到侦测状态。当接收到加入网络请求,则按照协议为此节点分配网络地址。如果收到网络内的节点射频发送其他的信息,检测信息是否为本网络的消息,并依照约定将信息通过串口上传主控。由主控进行分析和处理。

具体流程图如下图3所示:

图3 coordinator程序流程图

表1 灯综合对比表

相比coordinator的工作,灯控节点的工作比较的简单。当节点打开,就申请加入网络,进入网络后便进入侦听状态。此处侦听的是coordinator是否有消息下放。如果接收到coordinator的指令则判定是否为心跳检测,如果是按照约定回复coordinator自己当前的状态值,或者约定的字符串。如果不是,检测是否为控制信息如果是则按照指令控制芯片的端口输出从而实现指令要求。具体流程框图4如下:

图4 灯控终端程序流程图

3.3 计算机控制模块实现

采用图像化的软件labvIEW实现本地计算机的控制面板。在前面板主要包括三大控制:灯显示色彩选择、灯亮度选择、受控灯MAC地址选择。如图6所示。

灯控模块主要实现了串口读取[8]由zigbee网络上传的信息,串口发送灯的控制信息灯。主要程序框图如图7所示。系统实施监测是否有串口数据要求发送,如果有则调用串口发送VI进行数据发送,如果没有则实施监测并读取串口上传数据。

图6 灯控面板

图7 主控程序框图——数据读取

图8 主控程序框图——数据发送

4 远程控制实现

本系统的远程控制采用B /S模式实现。所谓B/S模是指:客户端浏览器以超文本形式向网络上的Web服务器提出服务请求,Web服务器接受请求后执行相应的扩展应用程序将这个请求转化为 SQL 语法等方式,并交给数据库服务器,数据库服务器得到请求后验证其合法性,并对数据库进行查询、修改、更新等处理,然后将处理后的结果提交给Web服务器,最后Web 服务器将得到的所有结果用 HTTP协议转发给客户端浏览器[9]。这种方式体现了更多的优势。

在本设计中利用的是LabVIEW的远程面板技术,服务器计算机发布并运行所需VI,且配置 Web服务器设置:文件路径和网络设置、客户机访问权限设置、VIs 访问权限设置;客户端则通过浏览器对所需VI进行浏览和控制。具体做法如下:

首先在服务器计算机labvIEW软件中利用菜单栏中的工具 → Web 发布工具将网页发布出去,此时自动生成一个HTML 文件,完成配置后运行服务器的该远程面板。

其次,在远程操作端安装labvIEW运行环境(LabVIEW Run-Time Engine)。

最后只需在页面浏览器中输入所需控制VI的网址就可以实现远程控制了,实现效果图如下图9所示。

5 小结

如表1所示,传统灯控系统体积大、功能单一、节能效果差、有线操控不利于部署,且需要专门的彩灯来实现彩灯效果。而本文设计的灯系统体积小、功能多、用户可自定义颜色、操作界面简单、基于ZigBee协议无线控制,不仅省去了繁琐的布线也在成本上有很大的节约。很好的响应了低碳生活的号召,更能很好的满足当今社会人们对灯功能的需求,具有很好的发展前景。

[1] 王艳芬,谢国洪,叶铁旺.LED智能路灯控制系统设计 [J]. 电 子 测 试 .2012,2(2):60-63.

[2] 宋冬灵.LED 灯 应 用 及 展 望[J].昆明:科技之窗,2011年9期:123-124.

[3] 施雅婷,郭前岗,周西峰.一种改进的LabVIEW串口通信系统的实现[J].电子测试.2010,8(8):64-69.

[4] 翟艳磊,陈磊,何祥宇.基于LabVIEW的远程家庭监控系统设计[J].电子测试.2010,6(6):37-40.

[5] “http://baike.baidu.com/view/168039.htm”2012.11.

[6] 李俊斌,胡永忠.基于CC2530的ZigBee通信网络的应用设计[J].电子设计工程.201119(16):108-111.

[7] 龚怡恒.基于ZigBee技术的无线温湿度采集系统设计 [J]. 电子测试 .2011,6(6):82-85.

[8] 蒲凤萍,吕迪波.基于 LabVIEW 的多任务测控系统设计与实现[J].电子测试.2009,8(8):35-38.

[9] 郑锋,李宝明.基于 B /S结构的远程教学平台设计[J]. 电子测试 .2008,1(160):67-71.

猜你喜欢
控系统串口远程
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
关于DALI灯控系统的问答精选
浅谈AB PLC串口跟RFID传感器的通讯应用
联调联试中列控系统兼容性问题探讨
远程诈骗
一种新型列控系统方案探讨
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式