You are on page 1of 3

《工业控制计算机》2020年第33卷第10期 113

基于Qt的地铁站智能照明系统软件设计与实现
Istelligest Lightisg System Software for Subway Statios Based os Qt

潘志安高知林秦华旺谢鑫 (南京理工大学自动化学院,江苏南京210094)

摘要:随着轨道交通在我国大中型城市的普及,轨道交通公共区域照明节能设计愈发迫切,而传统的照明控制并不能满
足“节能、增效、环保”的要求,智能照明系统的呼声越来越高。针对这一现状,利用Qt开发工具,根据智能照明系统设计方案
开发了一款上位机软件,该软件可实现对照明系统的远端控制、故障排查等功能,充分考虑了照明使用效率并兼顾照明舒适
度⑴遥软件运行稳定,人机交互性好遥
关键词:轨道交通;智能照明系统;Qt;上位机软件
Abstract:With the popularity of rail transit in China's large and medium-sized cities,the lighting energy-saving design of
rail transit public areas is becoming more and more urgent. However,the traditional lighting control can not meet the require­
ments of "energy saving,efficiency increasing and environmental protection",so the voice of intelligent lighting system is be­
coming higher and higher.In view of this situation,this paper uses Qt development tools,according to the intelligent lighting
system design scheme to develop a PC software,the software can realize the lighting system remote control,troubleshooting
and other functions,fully considering the lighting efficiency and lighting comfort⑴.The software runs stably and the human-com­
puter interaction is good.
Keywords:rail transit,intelligent lighting system,Qt,PC software

地铁车站是位于地下的独立建筑物 ,与传统位于地面之上的 2软件的总体框架


建筑物不同,地铁站内部是没有自然采光的,灯具需要长时间开 该系统主要以研华工控板作为下位机链接对象,以Qt作为人
启。因此,在对地铁站进行照明控制时,必须根据地铁站的这一特 机交互界面的设计工具,这里主要在Win dows下开发Qt程序。
点进行合理设计咱畫传统的照明系统通常是通过电路来控制照明 该软件主要实现以下功能:
亮度,并不能根据客流量的不同来实现自动调节,而且无法实时 1冤上位机与下位机之间的串口通信功能的实现 ;
获得照明状态信息,一旦岀现故障,还需要进行人工排查遥 2) 灯具状态信息实时监控与控制;
通过对上述问题的分析,本文基于Qt设计了一款智能照明 3) 统计节能数据和故障监测;
系统管理软件,与工控下位机实时通讯,获取各灯具照明状态信 4) 建立用户注册与登录机制。
息,并准确定位故障灯具位置和故障原因,帮助维修人员轻松解 系统的总体结构如图 1 所示:
决问题。同时根据客流量的不同,将地铁车站大体分为停运、准
虫口讯怡0能
运、低谷、平谷、高峰时段,各个时段对照度的要求也不尽相同,
从而设置各时段的照明需求,实现了对照明系统的远程监测和
控制使其照明用电达到安全性、经济性的目的。 灯态右愿壬时监悴坷袴妝I

Qt的相关理论与技术
i.i Qt框架简介 蜿计节的敌匱和故牌益萸I
Qt是一个跨平台的图形用户界面应用程序框架 ,它主要用
于桌面程序开发和嵌入式开发 。开发人员可以根据不同的需求,
用户册与背眾机制
灵活地选择合适的语言进行开发。Qt是面向对象的,所有的主 图1程序总体结构
界面都会从这三个类:QWiget、QMainWindow、QDialog中的一
3软件设计
个继承而来,并在main函数里生成实例并show岀来。而Qt最 3.1串口通信功能实现
大的特性就是可移植性强,具有“一次开发、多处编译”的特点,
在Qt中预设有与串口相关的板块sarialport,该板块中封
在不同的开发平台上解决了软件移植性的问题。
装多种与串口设置相关的类遥通过对串口波特率 、数据位、奇偶
1.2信号与槽 位、停止位、控制流等参数的设置,配置好与下位机的串口连接遥
信号和槽机制是Qt的核心机制,可以让编程人员将互不相 串口设置界面如图2所示遥
关的对象绑定在一起,实现两个对象之间的通信。信号与槽是观
通过以上设置,我们可以实现电脑与工控下位机的串口通
察者模式的一种体现,例如,若要将一个窗口部件的变化情况通
信, 由工控下位机发通过串口发送检测到的数据到上位机 (电
知给另一个窗口部件,则一个窗口部件发送信号,另一窗口部件
脑冤,在使用Qt的开发的界面接收数据,然后截取并显示数据遥
的槽接受此信号并进行相应的操作,即可实现两个窗口部件之
进而做到对灯具状态信息(当前亮度、功率、状态)的数据接收与
间的通信。因此,信号与槽机制在一定程度上也增强了对象通信
显示,反应灯具照明系统的实时情况遥
间的灵活性叫
114 基于Qt的地铁站智能照明系统软件设计与实现

emit lampCtrl(ui->currentLumin->text());
)
3.3统计节能数据和故障监测
利用 Qt 关于数据库的板块 SQL, 该板块包括有与使用数
工旨車口 卯曰」』述I 囂矍弓口亍射先戋囱丰□:■ 据库功能的相关类, 调用相关类实现数据库的连接、打开、储存
吊□号 的操作,这里我们根据本项目的需求量要求,选择了轻量化数据
浪特痢帕凶 * 库 SQLITE 数据库。 在上位机上设置有数据库, 用于存储灯具状
态信息。工控主板将采集到的数据反馈到上位机,上位机将数据
进行存储,能够更加清晰地了解各灯具的情况。目前的存储信息
格式为“灯具状态-灯具亮度-灯具功率-灯具耗电量”, 并根据
时间段统计耗电量和故障率统计。 相关界面如图 5 所示:
图2串口设置界面
3.2灯具状态信息实时监测与控制
本软件通过与下位机实时通信来获取灯具状态信息,同时
通过控制切换模式来实现照明系统的智能控制和手动控制 。 手
动控制模式下可实现单灯控制, 而智能控制模式下则是通过红
外传感器来获取人流量信息来自动调剂灯具亮度 。同时通过红
外传感器,其监测和控制界面如图 3 所示:

图3灯具状态信息界面
单灯控制界面如图 4 所示:

图5统计节能数据和故障监测
故障灯具实时报警数据如图6所示:

图6故障灯具实时报警界面
3.4用户注册和登录
本系统采用权限管理机制,只有通过系统注册账号后才能
使用。 初次使用者需要首先转入注册界面进行注册, 获得账号
图4单灯控制界面
后,返回登录界面输入注册的账号密码,进入操作主界面。
其部分实现代码如下:
对于系统的登录功能,同样采用建立数据库的方式完成,注
void LampInfoDialog::on_switchBtn_clicked()
册账号即是加入新的用户信息到数据库, 而登录即是在数据库
{
if(ui->currentState->text()=="故障") 中查找对应的注册数据,从而实现登录功能 。
ui->switchBtn->setEnabled(false); 功能代码如下:
else void MainWindow::on_pushButton_register_clicked()
if(ui->switchBtn->getCheck()) {
{ int a — 1;
ui->luminLevel->setEnabled(true); if (ui->lineEdit_setUserName->text ().isEmpty ()lui->lineEd-
ui->luminLevel->setCurrentText("100%"); it_setPassword->text ().isEmpty ()lui->lineEdit_surePassword->
ui->currentLumin->setText("100%"); text ().isEmpty ())
) {
else QMessageBox::warning (this,"警告",义用户名和密码不能为
{ 空!!!");
ui->currentLumin->setText(""); )
ui->luminLevel->setEnabled(false); else
) {
《工业控制计算机》2020年第33卷第10期 115

if (ui ->lineEdit_setPassword ->text ()! 越ui 一>lineEd- this->db.close();


it_surePassword->text ()) )
{ else
QMessageBox::warning (this,"警告",义两次密码不一 {
致!!"); QMessageBox::information (this,"提
) 示","注册失败!");
else return;
{ )
if(!db.open()) )
{ )
QMessageBox::warning(this,"错误",义数据库打 )
开失败义); )
return ; )
) 功能界面如图 7 所示:
else
{
QSqlQuery query ("SELECT name FR0M us-
er_s");
while (query.next())
{
QString country = query.value (0).
toString();
if (country ==ui ->lineEdit_setUser-
Name->text ())
{
QMessageBox::information (this,"提 图7用户注册和登录界面
示",义该用户名已注册!义); 4结束语
&越0; 通过对比分析传统照明系统和智能照明系统优缺点,根据
break; 世界应用场景需求,利用信号与槽机制等技术,本文设计并实现
)
了基于Qt的地铁站智能照明控制系统,实现了对照明系统的远
) 程监测和控制袁使其照明用电达到安全、经济的目的。
if(a越越1)
{
参考文献
query.prepare (" INSERT INT0 user_s
(name, password)义 [1] 葛业斌.智能照明系统在南京地铁中的设计与应用 [J].铁道勘测与
设计袁2016(3):144-147
"VALUES (:name, :password)");
query.bindValue (":name", ui->lineEd- [2] 王志强•地铁车站智能照明控制系统方案设计 [J].城市轨道交通研
究袁2013袁16(6):124-127
it_setUserName->text ());
[3] 贺志朋•浅析QT入门之信号与槽机制[J]•山东工业技术,2016(22):
query.bindValue (":password"熏 ui ->li-
142
neEdit_setPassword->text ());
[4] 伍雪冬,倪朋朋,朱志宇,等•一种基于乙gbee和Qt的LED智能照
bool ok=query.exec();
if(ok)
明无线控制系统:CN 1-7257591A[P]l2017-10-17
[收稿日期:2020l8l23]
{
QMessageBox::information (this,"提
示",义注册成功口;

(上接第112页) 一届全国无线电应用与管理学术会议(CRAM 2016),重庆:2016


and Fault Diagnosis System and Method for Traction Elevator [6] 戴海龙,李国平•基于Spring Boot的房屋租赁系统设计[J].电脑与
Cattle Dawn[C]椅International Workshop of Advanced Manu­ 信息技术袁2019袁7(3):76-78
facturing and Automation. Springer, Singapore, 2019 [7] 徐伟•基于AJAX、Web Service和SIP协议的异步通信机制研究[J].
[3] 姜帆,田永春,孙丽琼.SSM框架下的物联网安全管理系统设计[J]. 科技资讯袁2017袁15(5):21-2袁4
单片机与嵌入式系统应用,2020,20(2):84-7 [8] 黄金港,李大鹏,王健,等•一种基于Layui的数据表格的实现方法:
[4] 林伟婷.C/S与B/S架构技术比较分析[J]•科技资讯,2018,16(13): CN109948133A [P/0L]l(2019-06-28)[2020-08-01 ].http://g.
15-6 wanfangdata.com.cn/details/detail.do?_type=patent&id=CN-
[5] 安鹤男,张军•物联网下的无线传感器网络与服务器通信系统设计 201910208362.2
[C]椅第二届全国物联网技术与应用学术会议(CloT 2016)和第十 [收稿日期:2020l8l20]

You might also like