Board logo

标题: 基于S5PV210的智能家居系统设计 [打印本页]

作者: 520503    时间: 2014-7-7 08:28     标题: 基于S5PV210的智能家居系统设计

摘要:提出了一种基于S5PV210芯片的智能家居系统的设计方法。在基于S5PV210处理器和linux2.6.30内核的嵌入式系统平台上使用QT开发了软件系统和人机交互界面,控制各种传感器采集信息以及TC35i等模块,并配置实现了Boa服务器;利用CGI实现了客户端浏览器和嵌入式Web服务器之间的交互;设计了基于STC89C52的门禁系统。
关键词:智能家居;S5PV210;TC35i;BOA
智能家居(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。
系统软件开发首先在系统移植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.3 GSM模块电路设计
TC35i模块有40个引脚,通过一个ZIF(Zero Insertion Force,零阻力插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。S5PV210通过扩展的MAX232芯片实现串口通信,TC35i模块连接到9针的D型插座上,其连接电路如图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所示。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0