基于S5PV210的智能家居系统设计
2014-10-09 来源:eefocus
提出了一种基于S5PV210芯片的智能家居系统的设计方法。在基于S5PV210处理器和linux2.6.30内核的嵌入式系统平台上使用QT开发了软件系统和人机交互界面,控制各种传感器采集信息以及TC35i等模块,并配置实现了Boa服务器;利用CGI实现了客户端浏览器和嵌入式Web服务器之间的交互;设计了基于STC89C52的门禁系统。
智能家居(Smart Home)是融合了计算机、通信、控制技术于一体的现代智慧家居解决方案,目前,国内外各种类型的智能家居产品越来越多。但一部分采用低性能的CPU作为主控芯片,无法在智能家居系统中集成更复杂的任务。还有一部分在控制系统上没有开发出更友好的人机界面(GUI),使用户无法完成便捷的操作。在对智能家居进行充分的研究之后,结合当前较先进的CPU芯片提出了一种方便、快捷、高效的智能家居系统,以基于S5PV210处理器和linux2.6.30内核的嵌入式系统平台,采用温度传感器DS18B20、人体热释电红外传感器、气体传感器、摄像头等各类传感器全方位监控家庭信息;使用GSM模块使用户可通过短信进行控制并且将传感器信息反馈给用户;并搭建BOA服务器结合CGI技术实现客户端和嵌入式服务器的数据交互,用户可以通过internet远程监视和控制家电的运行状态;系统控制界面采用QT技术开发,并开发出了基于主从机式的门禁系统。
1智能家居系统组成
系统组成如图1所示,系统采用三星公司的高端ARMCortex—A8 S5PV210处理器作为主控芯片,并由多种传感器、LCD显示、GSM通信、以太网通信以及门禁系统等部分构成。人机交互采用3种方式;主控制系统将各种信息集成显示到LCD显示屏上并通过触摸屏控制并设置;系统建立Web服务器,用户可通过internet远程访问系统;用户可通过GSM方式与系统交互;门禁系统采用主从机方式设计,主控芯片采用STC89C 52.
图1 系统结构图
系统软件开发首先在系统移植linux2.6.30内核,在此平台下开发相应硬件的驱动程序;使用QT-creator编写人机交互界面;在linux2.6.30下配置Boa服务器;CGI程序主要实现远程客户端浏览器与服务器之间控制的数据交互;使用AT指令控制GSM模块与用户手机通信。
2系统硬件设计
硬件设计主要介绍各种传感器电路,门禁系统以及GSM电路3部分。
2.1传感器电路
各传感器有相应的驱动电路,将其数据输出口与S5PV210处理器的GPIO口相连,各传感器电路的连接遵循相应的电路连接规范。
2.2门禁系统电路设计
门禁系统采用单片机STC89C52芯片作为主控芯片,由单片机、矩阵键盘、报警电路、LED指示灯显示组成,电路设计如图2所示。系统能完成开锁、修改密码、当操作错误的次数大于系统设置的极限时,系统在报警的同时还会锁定系统以加强密码锁的安全性,系统还具有节电和掉电保护等功能。密码设置在主控系统上LCD触摸屏上设置,系统初始化密码为012345,利用93c46芯片掉电保护功能,对修改后的密码自动存储。根据单片机的返回值,在主控系统QT编写的界面上可以控制门的打开以及显示门的状态信息。
图2 门禁系统电路图
2.3 GSM模块电路设计
TC35i模块有40个引脚,通过一个ZIF(Zero Insertion Force,零阻力插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。S5PV210通过扩展的MAX232芯片实现串口通信,TC35i模块连接到9针的D型插座上,其连接电路如图3所示。用户可通过GSM短信功能完成与智能家居控制系统的通信,并获取家庭内各传感器以及门禁系统的状态。
图3 GSM模块电路图
3系统软件设计
3.1 QT编程
本系统使用Qt creator中的Qt设计器设计主控系统程序的人机交互界面,遵循QT/embedded编程一般规则编写代码,首先实现了各种电气设备、传感器系统、门禁系统、GSM通信的相关功能控制和设置以及家庭娱乐功能,然后在主程序中添加国际化和中文支持,最后编译并通过NFS进行系统测试。
主界面类名为SmartHome,继承自QWidget类。在其头文件内声明了6个功能界面对象,应用到QListWidgetItem和QListWidget两个类以及mouseMoveEvent方法管理这六个行为,使其具有显示隐藏功能。
主界面程序实现
3.2 BOA服务器的配置与移植
BOA服务器是一个小巧高效的、特别适合嵌入式系统的单任务的web服务器,它可以运行在linux下并支持CGI.本系统中,首先完成在linux下Boa源代码的下载、修改和交叉编译,在etc目录下面新建boa文件夹,将可执行文件boa及boa.conf放置到该目录下,并将mini.typ es复制到etc目录下,在对boa.conf和mini.types两个文件完成配置,最后在终端运行。/boa
3.3客户端网页
JavaScript是一种广泛用于客户端Web开发的脚本语言,它基于对象和事件驱动并具有相对安全性,常用来给HTML网页添加动态功能,比如响应用户的各种操作。CSS(Cascading Style Sheet)可译为“层叠样式表”或“级联样式表”,它定义如何显示HTML元素,用于控制Web页面的外观。通过使用CSS实现页面的内容与表现形式分离,极大提高了工作效率。样式存储在样式表中,通常放在部分或存储在外部CSS文件中。利用CSS和JavaScript编写客户端网页界面如图4所示。
图4 客户端智能家居控制界面
4 结论
经测试,本系统安全可靠,性能稳定,可以使用主控系统界面便捷的对家居系统的各个功能完成设置与控制,本地客户还可通过一台上网的计算机或一部手机即可以灵活方便实现对家居系统完成监控。此系统工作稳定,扩展性强,配置灵活,功能丰富,具有良好的移植性、通用性,具有广阔的应用前景。