智能立体车库控制系统人机交互软件设计.docVIP

智能立体车库控制系统人机交互软件设计.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能立体车库控制系统人机交互软件设计.doc

智能立体车库控制系统人机交互软件设计   摘 要:目前,“停车难”已成为困扰我国诸多城市的严重问题。兴建智能立体车库是解决这一难题行之有效的办法。作为用户和智能立体车库进行交流的最直接方式,人机交互界面的设计显得特别重要。本文在Linux系统下采用Qt语言对人机交互界面进行设计,利用信号与槽机制简单地实现界面之间的跳转,结合多线程技术实现串口通信和语音提示,同时引入了数据库存储车库日常运行时的数据与信息。本次设计的交互系统界面简洁美观,操作方便,可以直接移植到Linux嵌入式系统中运行使用。   关键词:智能立体车库 人机交互界面 Qt Linux   中图分类号:TP273 文献标识码:A 文章编号:1672-3791(2016)02(c)-0000-00   0 引言   截止2015年底,我国的机动车数量达到2.79亿辆,机动车驾驶人数达3.27亿,给城市交通带来了诸多的问题。为解决停车难的问题,机械式立体车库应运而生。在立体式车库的设计中,人机交互界面占有重要的地位,它是用户体验车库的主要方式,其展示结果将直接影响到用户体验。   目前,我国大多数机械式立体车库的人机交互界面的设计都过于简单,或是直接采用机械式操作和非接触式刷卡存取车。随着大数据时代的到来,这些设计方式不利于对车库用户信息的日常管理,满足不了现代科技飞速发展带来的种种需求。针对以上问题,本文采用Qt语言实现了人机交互界面的设计。管理员和用户均可以通过此界面对各自的信息进行管理,随时查看自己车位的使用状况。在出现紧急情况时,管理员可以通过该界面第一时间与用户取得联系。在使用的过程中,系统会以语音的形式引导使用者更好的操作该软件系统。本设计还支持手机移动端的操作,以短信的形式,通过GSM模块发送特定的内容到该软件系统,该系统就可以向下位机发送相应的数据进行存取车操作。   1 软件总体框架   本软件实现的功能主要是创建多个操作界面,并根据不同功能完成各个界面之间的跳转;在对界面进行操作时,通过配置串口、GPRS/GSM完成和下位机、手机APP的通信;搭建数据库,对管理员、用户和车位的信息进行存储,在数据的录入中,可以随时调用软键盘进行输入[1];软件在运行时还可支持中文的显示,并在操作车库的同时进行语音提示,使车库的使用更加便捷。本软件的总体框架图如图1所示。   2 软件整体工作流程   软件在启动时,应先对数据库、车位信息、串口等进行初始化。运行的过程中,始终对下位机串口、手机APP串口和软件自身界面进行监控。当有数据传入,即刻将收到的数据与数据库中的数据进行对比验证,验证成功方可进入系统。进入系统后,若操作车位,则向下位机发送数据;若联系用户,则向手机APP发送数据;若操作数据库,则在对比验证成功后对数据库进行更新。具体流程图如图2所示。   3 软件功能实现分析   3.1 界面切换   本文中采用了大量的信号(signals)和槽(slots),它们是Qt中的典型机制[2]。在本文中的具体使用方法如下:   Connect(发送者sender,信号函数SIGNAL,接受者reciever,槽函数SLOT)信号与槽主要对按下(QPushButton)事件进行捕捉,实现界面与界面之间的调转切换,完成该按键按下时相应的数据操作。图3为软件界面的调用框图。   3.2 串口通信   串口通信是本文实现的重点,它是连接下位机和手机APP的通信桥梁。在Qt语言中,提供了第三方类Posix_QextSerialPort对串口进行操作[3],Posix_QextSerialPort类打开串口及对串口进行初始化的主要代码如下所示:   uartCom = new Posix_QextSerialPort(/dev/ttySAC0, QextSerialBase::Polling);   uartCom-open(QIODevice::ReadWrite);   uartCom-setBaudRate(BAUD115200);   uartCom-setDataBits(DATA_8);   uartCom-setParity(PAR_NONE);   uartCom-setStopBits(STOP_1);   其中,uartCom为Posix_QextSerialPort的类对象,通过构造函数操作Linux系统/dev/路径下串口0的驱动程序ttySAC0。在Linux系统中,Posix_QextSerialPort对串口的操作只能采取轮询方式Polling,即定义一个定时器,每隔一段时间对串口进行扫描,查看是否有数据的操作。在以读写方式打开串口后,定义串口的通信方式。本文使用的串口0和串口1的通信方式均约

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档