- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Linux-Qt的智能家居系统设计.doc
基于Linux/Qt的智能家居系统设计
.freel Cortex A8系列的i.MX51处理器作为MCU,在其上移植嵌入式Linux作为软件开发平台,并利用Qt相关技术为基础设计友好的用户界面,实现了arm板的各功能模块与服务器端的交互。系统同时具备数字可视对讲、信息收发、家电控制、安防报警、家庭娱乐等功能。
1 系统的架构和功能
家庭智能控制系统主要由室内分机、单元门口机、小区围墙机、管理中心终端机、管理中心服务器以及附件组成。系统采用分布式网络结构,可以根据住户数量对系统的容量进行扩充。
(1)室内机是用户在室内进行操作的主要平台,其功能组成为:可视对讲、信息服务、家电控制、安防报警、家庭娱乐等。可视对讲模块主要实现双向可视通话、视频监控、留言/留影、开锁等功能;信息服务模块主要用来收发物业信息和小区广播,支持文本、图片形式,并实现与可视对讲模块的影音共享;家电控制模块包括对灯光、窗帘、空调、电梯等设施的无线控制,并预设了情境模式;安防报警模块支持对烟感、门磁、煤气泄漏检测等的自动报警,并可通过GPRS/3G技术将报警信息传送到用户手机上;家庭娱乐模块支持常见格式的音视频文件的播放(主要依靠硬件解码)以及对常见格式的图片的浏览(电子相框)。
(2)单元门口机的主要功能是完成与所在单元楼的任意住户以及管理中心机的可视通话,除了具备留言/留影功能外,还提供触摸屏校准、背光调节、密码设置等功能。
(3)围墙机的基本功能和单元门口机类似,.freelember)
其中,sender和receiver是指向QObject的指针,signal和slot是不带有参数的函数名。
2.2 基于XML格式的Socket多线程通信
Linux中的网络编程主要通过Socket接口实现,在Qt环境里,对Socket进行了封装,并建立了相应的QTcpSocket类来实现TCP客户端和服务器的通信。QTcpSocket继承了QIODevice,所以QTcpSocket可以使用QDataStream进行数据的读取和写入。
可扩展标记语言XML(eXtensible Markup Language)是一种用于数据交换和数据存储的多用途文本格式。对于XML格式的数据,Qt中的QtXml模块提供了DOM和SAX两种处理方式。本文采用的DOM方式把XML文档转换成一个可以遍历的树形结构,这样便可以随意访问其中的节点,因此要明显简洁得多。
室内机和中心机之间的通信采用多线程方式实现。多线程方式具有降低内存、提高程序响应速度等优点,特别适用于嵌入系统。系统中建立了三个主线程:(1)GUI线程:用于执行main()主函数,响应用户的界面操作;(2)tcpServer侦听线程:用于对指定端口进行监听;(3)tcpSocket传输线程:负责消息的接收和回复。下面以用户主动更新小区广播为例详细说明Socket通信的流程:(1)室内机首先启动一个线程,将用户的更新请求结构转化成标准的XML格式(如果是新设备第一次开机,要先手动进行IP的设置),(2)调用connectToHost()函数请求与中心机建立连接,处于监听状态的中心机接到请求后,就会分配一个Socket套接字来处理连接:首先根据解析出来的XML的Type节点判断请求类型,如果是纯文本则从数据库的Text表读取,如果是图片则从硬盘读取,然后调用QIODevice::_query,以便于各个实体类与数据库类进行连接。这样,每当有数据库操作请求时便会实例化一个m_query来创建一个线程用于处理该请求。m_query对象中包含两个类:(1)QueryThread,用于为每个数据操作创建一个线程;(2)X51处理器包含了支持硬件视频编解码的VPU单元,并自带了完整的多媒体解决方案。因此,系统中采用其自带的多媒体软件包进行音视频流的采集和编解码2。
考虑到小区内可视通话时因并发数过大而可能导致的网络拥塞情况,系统还需要提供一定的QoS机制来保证在网络带宽较低时也能达到音视频的同步传输。本文采用基于时间戳的实时同步传输技术,通过设置可变大小的缓冲区机制,根据小区网络情况自动调节传输参数,以音频质量优先保证为原则,根据时间戳实时调节视频数据的播放。具体实现过程如下3:
(1)发送端采用两个独立的进程分别对音视频信息进行采样和打包,然后放到各自的缓冲队列中等待发送。
(2)音视频数据通过同一个通道发送到网络(采用信号量机制保证音视频数据对通道的互斥访问)。
(3)由于音视频两个数据包的长度差别很大,所以将接收端收到的数据根据包的大小进行区分。
(4)音视频各自拆包组帧。由于人的听觉对声音的不连续比视觉对图像的不连续更敏感,所以采用音频流作为主流,视频流作为从流。客户端接收到音频数据包后,不必与视
您可能关注的文档
- 城市轨道交通全面质量管理初探论文.doc
- 城市轨道交通公私合作投资模式的风险分析论文.doc
- 城市轨道交通公私合作投资模式风险分析论文.doc
- 城市轨道交通再生电能回收技术方案的研究论文.doc
- 城市轨道交通发展模式的探讨论文.doc
- 城市轨道交通发展的战略思考论文.doc
- 城市轨道交通噪声控制方法及其对策研究论文.doc
- 城市轨道交通安全体系研究论文.doc
- 城市轨道交通安全工程的设计导则论文.doc
- 城市轨道交通安全的经济学思考论文.doc
- 基于Linux内核的键盘模拟实现论文.doc
- 基于LMDI方法的中国国际贸易隐含碳分解-论文.doc
- 基于matlab的多支座蒸压釜的受力分析和强度计算论文.doc
- 基于Modbus协议的电火花控制系统论文.doc
- 基于moodle平台《网络教育应用》课程系统化设计①论文.doc
- 基于OSEK标准的嵌入式实时操作系统在汽车电子中的应用论文.doc
- 基于Packet Tracer 4.11构建仿真网络实训平台论文.doc
- 基于PDCA方法的AutoCAD校本教材编写实践论文.doc
- 基于PerformanceAssessment理论的英语写作教学研究.doc
- 基于PEST框架的我国休闲产业发展研究论文.doc
文档评论(0)