基于ARM的智能家居远程监控系统设计szzfz.docx_第1页
基于ARM的智能家居远程监控系统设计szzfz.docx_第2页
基于ARM的智能家居远程监控系统设计szzfz.docx_第3页
基于ARM的智能家居远程监控系统设计szzfz.docx_第4页
基于ARM的智能家居远程监控系统设计szzfz.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于ARM的智能家居远程监控系统设计随着计算机、通信及微电子技术的飞速发展和人民生活水平的提高,人们对居住环境的要求,也向着追求精神内涵、安全舒适、便捷智能化和自动化为理想目标,智能化的家居环境也逐渐备受人们的关注。目前,在智能家居系统设计中,智能家居控制中心与终端(家电设备、安防设备、三表等)之间多采用基于总线的有线连接方式(RS 485,CAN,LonWorks等),这种连接方式具有布线复杂、线路易腐蚀、维护不方便、影响室内美观等缺点;远程用户与智能家居控制中心之间的通信多采用电话线和网线的通信方式,未能将目前日益成熟的移动通信技术应用其中,给用户带来极大的不便;智能家居控制中心多采用单片机作为控制核心,随着用户功能需求的增加,由于单片机软硬件资源有限,给系统的升级、维护及调试带来极大困难。鉴于此,本文提出了基于ARM的智能家居远程监控系统设计方案,并对该方案进行了具体设计。l 智能家居无线技术概述11 GPRS技术简介 通用分组无线业务(Geneval Packet Radio Service,GPRS)以分组交换技术为基础,采用IP数据网络协议,使现有GSM网的数据业务突破了最高速率为9.6 Kb/s的限制,最高数据速率可达171.2 Kb/s。GPRS具有永远在线、高速传输、按流量计费、减少无线资源浪费及通信成本低等优点。1.2 蓝牙技术简介 蓝牙技术是一项新兴的技术,它的主要目的是在全世界建立一个短距离的无线通信标准。它使用2.42.5 GHz的ISM(Industry Scientific Medical)频段传送语音和数据。运用成熟、实用、先进的无线技术来代替电缆,它提供了低成本、低功耗的无线接口,使所有固定和移动设备通过微微网PAN(Per2sonal Area Network)连接起来。这样,人们可以通过手机或者互联网在任何时候、任意地点对家中的任意电器(空调、热水器、电饭煲、灯光、音响、DVD录像机)进行远程控制。2 系统的主要功能和总体结构设计2.1 主要功能 用户通过手机或Internet实现对家电、灯光、窗帘、门禁、安防等基础设施及室内环境的远程实时监视与控制,同时还可自动完成三表(水、电、气)的抄表工作。2.2 总体结构设计 智能家居系统远程监控系统的核心部分是一个嵌入式Web服务器,系统集有线与无线两种通信方式于一体,用户可以通过手机或PC机登陆家中的嵌入式Web服务器,通过用户名和密码验证之后,便可以查看或控制家用电器、灯光、窗帘、门禁、安防等基础设施;系统带有LCD和键盘,具有良好的人机界面;用户可以通过键盘设定系统所需要的参数;系统具有丰富的可扩展接口,如A/D转换接口、无线蓝牙接口、RS 485接口、GPRS接口、以太网接口。系统的总体结构设计如图1所示。3 系统硬件设计3.1 硬件结构设计 系统的硬件结构设计如图2,图3所示。由图2可知,智能终端以MCU为控制核心,外扩蓝牙从模块及其他外设接口;由图3可知,智能家居控制中心硬件由嵌入式微处理器、外部存储器、数据通信接口、人机接口及调试接口五大部分组成。3.2 系统控制中心硬件设计3.2.1 嵌入式微处理器 本系统选用韩国三星电子的基于ARM920T内核的32位嵌入式微处理器S3C2410作为系统的控制核心,该芯片本身集成了包括存储器接口、通信接口(USB,RS 232),A/D,JTAG等在内的丰富的硬件资源,可简化外围设备与微处理器的硬件连接程度,提高系统的稳定性、可靠性。3.2.2 系统存储器 由于S3C2410的存储控制器提供了外部存储器访问所需要的控制信号,用户只需要选择合适的外部FLASH和SDRAM与其相连,即可实现系统的存储功能。本系统选用SAMSUNG公司的具有512 MB容量的K9F1208作为系统外部的NAND FLASH存储器,用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。选用2片容量为32 MB的SAM-SUNG的K4S56163作为系统外部的SDRAM,用作程序的运行空间、数据及堆栈区。3.2.3 以太网控制模块 由于S3C2410本身没有集成以太网控制模块,所以需要一个与之相匹配的控制芯片来实现以太网扩展接口。本系统选用CIRRUS LOGIC公司的CS8900A作为系统的以太网控制芯片。CS8900A是一个单芯片全双工的以太网解决方案,所有的数字和模拟电路合成了完整的以太网电路。主要结构包括ISA总线接口、802.3 MAC引擎、BUFFER、串行E2PROM接口和带10BASE-T和AUI的模拟前端。CS8900A的10BASE-T接口通过变压器HR601627与RJ 45网口连接。3.2.4 GPRS通信模块 GPRS通信模块采用西门子公司的无线数据传输模块MC235i,支持数据、短信、语音和传真业务。MC35i是新一代GSM/GPRS双模模块,完全兼容上一代的MC35,TC35i;采用紧凑型设计,为用户提供了简单、内嵌式的无线GPRS连接。MC35i与控制中心是通过UART接口1进行硬件连接的。3.2.5 蓝牙模块 系统设计中蓝牙模块选用爱立信公司的ROK 101 007。该模块是一款适合短距离无线通信的射频/基带模块,且集成度高、功耗小,完全兼容蓝牙协议Versionl.1,可嵌入任何需要蓝牙功能的设备中。ROK 101 007包含5个功能块:无线收发器、基带控制器、闪存、电源管理模块、时钟,可提供高至HCI(主机控制接口)层的功能。ROK 101 007的UART口符合工业标准16C450,支持以下波特率:300 bs,600 bs,900 bs,1 200 bs,1 800 bs,2 400 bs,4 800 bs,9 600 bs,19 200 bs,38 400 bs等。与该接口有关的管脚有4个:TxD(B5),RxD(A5),RTS(A6),CTS(B6)。在本系统设计中,ARM微处理器S3C2410通过UART接口2与ROK 101 007模块连接。4 系统软件设计 系统软件设计包括智能家居控制中心软件设计和智能终端应用软件设计两大部分。智能家居控制中心是以ARM微处理器为控制核心,其软件设计包括系统软件(嵌入式操作系统、硬件设备驱动程序、嵌入式数据库、嵌入式Web服务器)设计和应用软件(网页设计及CGI应用程序)设计;智能终端的控制核心为单片机,其应用软件设计是一个循环控制程序。41 系统控制中心的软件设计411 系统软件设计 (1)嵌入式操作系统的选择及移植本系统采用Linux作为操作系统,并选用Linux26内核在嵌入式微处理器S3C2410上移植,具体移植方法如下: 准备Linux 26内核移植所必需的文件(内核压缩包linux-26tarbz2及交叉编译器arm-linux-gcc-341tarbz2),这些文件可到LinUX官方网站免费下载。 利用Linux命令(mkdir,tar,mv及export)安装交叉编译器arm-linux-gcc-341。 修改Makefile文件及相关硬件文件。由于内核的编译是根据:Makefile文件的指示进行的,Makefile文件来组织内核的各模块之间的关系,记录了各个模块之间的相互联系和依赖关系。所以,开发人员要首先修改Linux 26根目录下的Makfile文件,修改的主要内容是目标代码的类型和为编译内核指定一个编译器。 运用Make命令编译内核生成内核镜像文件zImage文件,通过相应的固化软件把这个文件固化在系统相应的存储器中,完成Linux 26内核在ARM微处理器上的移植。 (2)驱动程序的移植及设计 智能家居控制中心需要多个设备驱动程序,而对于嵌入式系统而言很少有通用的外设驱动程序可以使用。在本系统中,除了GPRS模块和蓝牙主模块分别通过第一、第二个串口与S3C2410相连,可以直接使用标准的串口驱动程序外,其余的如家电控制接口、传感器接口及以太网接口等属于非标准外设,需要专门设计其驱动程序。在驱动程序的设计中,由于嵌入式Linux系统中设备驱动程序有一个标准的框架,虽然这些接口工作原理不同,但其设计方法基本类似,即根据硬件结构来“填写”框架中的函数。主要的函数包括open(),read(),write(),ioctl(),release(),module_init()和module exit()等。 以太网接口驱动程序的设计虽然可以按照上述方法进行,但是实现起来却有一定的难度,本系统在设计中使用一种更简单的方法,即通过移植的方法实现CS8900以太网驱动程序在S3C2410上运行。具体移植方法如下: 利用网络工具从网上下载CS8900C和CS8900H,并把它们拷贝到内核下的DRIVERSNET目录。 修改配菜单,增加CS8900配置选项,使系统在配置ARCH SMDK2410时,可使用CS8900的配置选项。 对网卡进行初始化及相关文件(smdk2410h,mach-smdk24 10c,makefile)进行修改工作。 通过Make命令重新编译,即可实现CS8900以太网驱动程序的移植。 (3)嵌入式Web服务器的选择及移植 在ARM+Linux开发平台下,可以使用的web服务器主要有三个:Httpd,Thttpd和Boa。Httpd是较简单的一个Web服务器,但其功能较弱,不支持认证、CGI。Thttpd和Boa都支持认证、CGI等,功能比较强。为了实现动态Web技术,本系统在设计中选择了即支持CGI又较适合于嵌入式系统的Boa web服务器,并将其移植在该系统中,使系统实现嵌人式Web服务器的功能。具体移植实现方法如下: 下载Boa服务器源代码boa-O9413targz,并将其解缩在boa src目录下。 编译Boa源代码,生成执行文件Boa(大小约60 KB)。 创建相关工作目录。在etc目录下建立一个boa目录,里面放人boa的主要配置文件boaconf。还需要创建日志文件所在目录varIogboa,创建HTML文档的主目录varwww,创建CGI脚本所在目录varwwwcgi-bin。 对Boa作配置和修改。主要通过对definesh,boaeonf和mimetypes文件进行修改来实现。修改definesh指定Web服务器的根目录路径(SERVER_ROOT)。boaconf文件由一些规则组成,用于配置Boa服务器,指定相应端口,服务器名称,一些相关文件的路径等。Boa服务器要想正确运行,必须保证该文件是正确配置的,而且该文件和某些静态网页,CGI可执行程序等都放于某特定目录下。放置Boa文件。在bin下加入生成的boa可执行文件并把修改后的baoconf拷贝到web服务器根目录etcboa下。并将一些静态页面放在由bo-aconf指定的目录下。 重新编译内核根文件系统。把该文件系统重新下载到控制中心硬件电路板,启动Boa Web Server,就可以通过IE访问系统所设计的网页。 (4)嵌入式数据库的选择及移植本系统在设计中选用SQLite数据库,该数据库具有功能强大、接口简单、速度快、占用空间小的优点,使其比较适合应用在嵌入式系统中。系统在设计中实现了SQLire3在ARM微处理器上的移植。具体移植方法如下: 在http://下载最新的源代码包sqlite一338targz,并将其解压后将生成SQLite目录。 安装交叉编译工具arm-linux-gcc。 修改Makefile文件。Makefile的修改主要包括两个方面:首先是将编译器、归档工具等换成交叉工具链中的对应工具,比如,gcc换成arm-linux-gcc,ar换成ar-linux-ar,ranlib换成arm-linux-ranlib等;其次是去掉与TCL相关的编译选项,因为默认情况下,将会编译SQLite3的Tcl语言绑定,但是在移植到ARM-Linux的时候并不需要,因此将两个与TCL有关的行注释掉。 利用Make命令编译生成目标文件SQLite3。嵌入式数据库SQLite的应用开发主要是利用它所提供的C语言API函数来开发的,其核心的三个函数如下:412 应用软件设计 智能家居控制中心的核心是一个嵌入式Web服务器,其应用软件的设计包括网页设计和CGI应用程序设计两部分。网页设计采用设计工具Dreamweaver,FrongtPage,Photoshop,Flash来实现。应用程序设计中考虑到系统硬件资源有限,故采用了CGI技术实现浏览器与嵌入式Web服务器的动态数据交互。把CGI程序保存在服务器端,当Web页面打开时,客户端调用CGI应用程序来实现用户的功能需求。在系统设计中,CGI应用程序的编写采用C语言,实现外部实时数据采

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论