1、毕业论文基于智能控制系统设计 学号: 基于智能控制系统的设计学院名称: 物理与电子工程学院 专业名称: 年级班别: 姓 名: 指导教师: 2015年5月基于智能控制系统的设计摘 要 智能家居从提出概念到现在出现真正意义上的产品,已经有三十多年历史了.随着科技技术的进步、智能手机和互联网的发展,智能家居的也一步步成熟。目前市场上的智能家居大多是全面型,从安装到交互使用比较麻烦,成本比较高额。对于这一现象的改进,本文提出通过智能插座来间接实现控制家庭设备。本文智能控制系统是通过智能插座实现对家庭电器的间接控制,智能插座以使用简单、可远程控制、可移动为特点,该智能插座是以S3C2440为核心的芯片,
2、芯片外围部件使用USB无线网卡,通过Wi-Fi与智能手机、平板通信,设置CGI网关,安全交互使用,可以达到用户在任何连入互联网的地方启动或关闭家庭设备。 关键词 智能插座;Boa服务器;CGI;嵌入式Linux; Wi-Fi通信; Design of Intelligent Control System Abstract It has nearly thirty years from Smart Home concept been proposed to a real significance of the product. With the development of scientific
3、 and technological smart phone and the Internet progress, the Smart Home approach mature step by step. Most Smart Home either too inconvenient to installation and interactive use or cost too much .I proposed the Smart control solution through controlling Smart Outlet .The Smart Outlet are easy to us
4、e, we can remote control it and mobile use it. The Smart Outlet use S3C2440 as the core chip , Its peripheral component use USB wireless network card through Wi-Fi communicating with smart phone and pad, we can safely use it to turn on/off homeequipment in somewhere which Connected to the Internet .
5、Keywords Smart Outlet; Boa Web server; CGI; Embedded Linux ; Wi-Fi communication;前 言智能家居这个专业名词从第一次被提出智能建筑概念到现在出现真正意义上的产品,已经有三十多年历史了。在2014年可以看到越来越多的家电企业像海尔、美的和互联网企业像小米加入智能家居的市场中,国外一些企业像三星、LG也进入中国开始加入这个市场。智能家居就是将建筑电气、自动控制技术、网络通信技术和音视频技术等融入到建筑本身,为用户提供更为快捷、高效、安全的家居体验1。现在人们普遍追求生活的品质,智能家居系统是对现代化高品质生活的追求,该
6、设备对家庭中的生活电器,防范设备,以及环境监控设备的布置与智能化控制整合,它必然包含电视、音响、电脑等家电,以及视频监控,入侵报警设备和环境空气检测设备,以及水电安全检测等设备,用户可以通过一个总控制端在有互联网的地方对家庭设备进行遥控控制。这些电视机、音响、电脑设备的智能控制为用户家庭生活、娱乐、学习提供方便,享受生活中娱乐与放松;在家庭中安装视频监控,方便用户对家庭各个角度进行查看,保证家庭安全,处理意外事件;入侵报警是针对用户人身安全提出的必要保证;环境空气检测设备,对用生活中的家用煤气、天然气使用,以及生活水电安全保证。从互联网公司在智能家居布局可以看到,从几个方面入手:路由器、移动控
7、制端和智能家电控制设备。本文提出的智能控制是从智能家电控制设备入口,即智能插座,从智能插座可以间接控制智能家电,构建智能家居。1 绪论1.1 智能家居系统的意义美国联合科技公司在1984年将建筑设备信息化、整合化概念应用到建筑上,出现了第一座的“智能型建筑”。智能家居概念由此提出了,据现在已经有31年的历史,尤其进入2011年开始,智能家居逐渐进入商业视野,科技的进步、技术的发展、软硬件开发成本的降低,极大的促进了人们对智能化生活的追求。移动智能设备的普及和4G网络的普及,更加有力的推动了这一产业的飞速发展 。智能家居就是将建筑电气、自动控制技术、网络通信技术和音视频技术等融入到建筑本身,为用
8、户提供更为快捷、高效、安全的家居体验1。智能家居系统是对现代化社会生活品质的追求,对家庭中的生活电器,防范设备,以及环境监控设备的布置与智能化控制整合,它必然包含电视、音响、电脑等家电,以及视频监控,入侵报警设备和环境空气检测设备,以及水电安全检测等设备。这些电视机、音响、电脑设备的智能控制为用户家庭生活、娱乐、学习提供方便,提高生活水平的追求;在家庭中安装视频监控,方便用户对家庭各个角度进行查看,保证家庭安全,处理意外事件;入侵报警是针对用户人身安全提出的必要保证;环境空气检测设备,对用生活中的家用煤气、天然气使用,以及生活水电安全保证。当物联网技术的提出,推动了计算机、互联网后的第三次革命
9、,将互联网技术应用在智能家居上面,这是一个里程牌进展,在智能家居中通过传感器将信号传递到互联网,将互联网和智能家居整合,这会使我们的家庭生活更加信息数据化、自动实现化、智能控制化,这是将来智能家居发展的主要研究方向,将会是市场中巨大产业。1.2 智能家居的发展现状智能家居在国外发展比较早,所以到现在已经具有一定规模了,新加坡在1998年5月举办的消费品国际展览会上,向观众展示了“未来之家”,智能化家居系统开始出现在人们视野,并且新加坡在当时已经有数十个装有“智能化家居系统”的小区,韩国Samsung公司在2003年推出第一款自己的智能化家居系统,2006年,上海交大和日本电报电话公司合作开发出
10、传感器开关接入,这个在未来智能化家居系统中将会得到在实践中全面应用。智能家居的理念是20世纪九十年代时候引入中国的,在21世纪后逐渐发展起来,这个时间段相比较国外比较短,但到现在为止已经有很多企业进入了智能家居市场行列,国家科委在1994年对“2000年小康型城住宅产业工程项目”立项,标志智能家居已经进入国家层面,相继在北京、上海等城市小区建设中将智能化小区开展试点工程,同时,在近一年里面,智能家居、智能家电等词成为搜索引擎上的热词,在2012年,于扬在易观第五届移动互联网博览会的发言中首次提出“互联网+”这个名词, 国家总理李克强在一年一度的政府工作报告中首次提出“互联网+”工作筹划。相信在
11、国家对物联网发展越来越重视、引导下,智能家具将在中国很快发展起来。2 总体设计2.1 智能控制系统的设计要求目前的市场中,智能插座比较新颖,产品智能性、交互性、设计性、实用性等还有提升空间,因此本设计方案主要针对这些问题,提出以下设计理念,首先,在智能性方面,要求区别于以往那种家庭中普通插座,要求用户可以任何时间、在任何地点、自定义模式下的通过平板或者手机电脑等工具控制家庭里面的插座,以达到控制家庭电器的目的。因此这就要求必须将设备借助互联网中,通过验证的方式实现控制,为了实现家庭使用方便的目的,应该是可移动的,并且是无线类型的。第三,该设备不需要附加电源,应当在设备内部将家庭用电转换,考虑到
12、现在的手机充电功能,一定要在智能插座中加入一个usb接口,此外一个三孔和两孔插口。最后,该设备外观设计精美,在硬件设计方面具有可扩展性,在用户使用过程中,在保证使用简单的基础上尽量用户界面美观。基于以上这四个方面考虑,该智能插座设计方案采用WIFI命令的通信,使用ARM9微处理器控制,web远程登录控制的方法。2.2 关键技术2.2.1 无线通信技术由于市场中的无线通信技术设计不统一,下面将本设计方案中的候选技术及平台详细解析。目前的无线通信技术在智能家居方面得到应用的有Bluetooth, Wi-Fi, ZigBee, RFID等2,下表2-1对于每种技术下面是参数对比:通过上面图表可以得知
13、:Bluetooth的安全性好,Wi-Fi的传输距离和传输速度占优势,同时两者在智能手机或者平板上都是标配,这里采用的是Wi-Fi。原因是WI-FI可以远程登录控制,扩展空间大,并且家庭普及程度高。Wi-Fi又称为无线高保真技术(Wireless Fidelity),是一种基于IEEE 802.11标准的无线局域网接入技术3,现在已经广泛应用到手机、平板电脑等通信产品中。无线高保真技术与其他无线通信技术相比, 无线高保真技术具明显具有几点优点:(1)传输距离是其他技术的几倍,可以通过Internet远程登录控制;(2)传输速度是11-54Mbps,在远程控制方面对速度要求比较高;(3)覆盖范围
14、广,可以一对多控制,可以通过控制一个无线路由器达到控制多个Wi-Fi终端设备。到现在,Wi-Fi技术逐步走向成熟,从第一次国际制定的基于IEEE 802.11标准第一代Wi-Fi技术,在当时,只能适用于2.4GHZ的频率,而且当时最高的通信速率是1.9Mpbs;然后发展到第二代Wi-Fi技术,它是基于IEEE 802.11b标准,速度上保持不变;第三代Wi-Fi出现兼容模式,是基于IEEE802.11g/a标准的,可以运行于2.4GHz和5GHz频段,传输速度明显提高,最快可以达到60Mbit/s;第四代Wi-Fi的最快传输速度在理论上已经可以达到600Mbits/s了;现在第五代Wi-Fi是
15、基于IEEE 802.11ac标准,运行在5GHz频段上,在理论上能提供160MHz的带宽和最高867Mbit/s的传输速度4。2.2.2 Bootloader移植技术Bootloader是对Operating System启动加载的一个特殊程序,这就像计算机中的BIOS程序。Bootloader的作用就是做好物理基础设施的初始化操作,并且创建内存空间的映射关系,将该设备的整体过度到一个适合的状态,为加载操作系统内核做好环境铺垫5。该段程序比较依赖于物理基础平台,在设计时应该首先确定平台的架构,尤其是在嵌入式系统中,更是如此,下面是对定制Bootloader程序设计的精要总结:1. 了解Boo
16、tloader所支持的CPU每一类处理器(CPU)体系架构都有自己独特的引导加载程序,但也有某些引导加载程序支持多类体系结构的处理器(CPU),例如在本设计方案中使用的U-Boot这段代码就支持ARM、PowerPC等多种体系架构,除了依赖处理器的体系架构外,Bootloader实际上还需要特定的设备配置,需要将引导加载程序的在处理器的初始地址配置。2. Bootloader的存储位置当设备上电或者重置后,一般的处理器大多都是从一个由它的生产商预先安排好的地址上取得命令,而根据处理器建造的嵌入式系统一般含有特定种类的固态存储设备(像Flash、ROM、或者EEPROM等)被映射到这个预先安排的
17、地址上6。因此,在设备上电重置后,处理器将第一时间运行引导加载程序程序。3. Bootloader的运行开始过程简单分为两种:单价段和多阶段。Bootloader的操作方式。大部分的引导加载程序包含两种运行状态:“启动加载”模式和“下载模式”,这两个的不同点在原理上是:启动加载模式也被称为“自主模式”6。也就是Bootloader从目标主机的某个固态存储设备上将操作系统加载到RAM中运行,整个过程没有用户的介入7。这个是嵌入式产品发布时通用模式;下载模式下,目标主机上的Bootloader将通过串口连接或者通过网络连接等通信手段从主机(Host)下载文件,比如:下载内核映像和根文件系统映像等8
18、。从主机下载的文件通常首先被Bootloader保存到目标机的RAM中,然后再被Bootloader写入到目标机上的Flash类固态存储设备中9。引导加载程序的这种模式在更新系统时经常使用。引导加载程序工作于这种模式下得常常都会为它的终端用户提供一个简单的命令行接口10。4. 引导加载程序与主机之间进行信息(类似文件等)传输所用的通信设备及常用的协议,较常用的是目标机机器上的Bootloader通过串口与目标机器进行文件传输,当串口通信度有限时,常常连接互联网连接并应用TFTP等应用来获得通信。Bootloader的启动过程通常两个阶段:阶段一和阶段二,在阶段一是基本的物理设备开始准备,为加载
19、阶段二准备RAM空间等,在阶段二初始化本阶段要使用的硬件设备。2.2.3 U-Boot的移植U-Boot是引导加载程序的一种,所以它也是分为两个阶段进行的,在阶段一时候代码是在start.s中定义的,在这个阶段,它的主要功能是对物理设施的开始准备,在操作系统上电后从初始地址开始执行,将阶段二的代码中复制到RAM中,然后跳转到main函数处。在阶段二将检查系统内存映射,将内核映像文件和根文件系统映像文件从Flash中读取到RAM空间中,然后对于内核启动,配置好环境参数11。在移植中需要对使用的硬件进行配置,首先要构建对应的头文件,放在include/config下,这个目录中的文件是对系统的CP
20、U、内存等的配置信息,建立Makefile、board.c等对应的文件,Makefile可以通过使用autotools系列工具来生成,完成对U-Boot进行编译的配置文件,这些准备好了,最后生成二进制bin形式的文件,然后将该文件烧写到开发板中,这样完成的对Bootloader的移植。2.2.4 Linux系统在嵌入式设计应用方面,自由开源程序会受到开发者的欢迎,Linux日益成为主流的嵌入式操作系统之一。简单说,Linux是一个支持多用户、多线程、多进程、实时性和稳定性比较好的,可以再多种硬件设备平台上运行的操作系统。其最大的优点是源代码公开,有大批计算机编程爱好者加入开发,继承自由软件精神
21、。Linux是由芬兰极客Linus Torvalds在1991年开发的,这是他尝试在处理器Intel X86架构上提供自由免费操作系统,Linux是类UNIX操作系统。到目前为止,在这二十多年里,中国民间组织也推出了Ubuntu Kylin操作系统,并且相当实用、易用。在这么多自由软件发烧友们的共同努力下,Linux的功能得到很大完善,成为全球上使用者最多的一种类UNIX操作系统,并且用户还在飞速增加。据国际标准化组织统计,Linux占全球网络服务总数的28%,排名第一;在2000年的互联网数据中心调查统计中,Linux在服务器操作系统市场中占的份额以达到25%,linux在嵌入式领域得到了很
22、大发展,到目前为止,正在开发的嵌入式系统中,超过49%的项目选择Linux作为嵌入式操作系统11 。Linux 得到这么快的应用,与它的优良特点有重要关系。其源代码公开,内核稳定(像Kali Linux系统非常稳定,并且占用资源少)并且可裁剪等特性非常适合嵌入式设计开发的应用。基于这些优点分析,本论文选择嵌入式Linux作为设计的Operating system。Linux系统的移植可以简单分为3个部分:1、引导加载程序(Bootloader)的移植;2、Makefile文件参数的设置以及使用make命令进行系统配置;3、移植根文件系统。2.2.5 Web服务器Web服务器的有很多种类,服务器
23、的作用是提供在互联网上浏览信息的平台(服务),Web服务器通过传输控制协议(网际协议)将信息(包括视频、音频、图像等多种格式的信息)在网络系统中进行传播。有主要这三种HTML、HTTP、CGI的Web技术标准,它们决定Web服务器中信息、数据的传播方式和调用,并且影响Web浏览器的设计。在众多的Web服务器种类中,嵌入式系统中所应用的服务器,称为Embedded Web Server(简称为EWS),其特点是小型,精简。在系统的软硬件平台的支持下,将EWS应用到设备中,这一改变使得传统的设备将变为具有通信的能力的互联网控制设备。因为嵌入式系统本身的特点决定了EWS服务器只能支持小流量的访问,采
24、用HTTP1.1协议内容。HTTP(HyperText Transfer Pertocol)即超文本传输协议,是建立在客户端浏览器以及其他程序和Web服务器之间应用层的通信协议,是在TCP/IP协议之上的协议,用于将Web服务器上的超文本信息通过HTTP协议传输给用户12。“首先请求周期、生成消息、做出请求、得到响应、访问认证、然后URL编码”这六方面内容是HTTP协议的主要内容。从这里能认识到,该协议采用建模是请求/响应模型。HTTP通信方式下,有一个Web浏览器(用户的客户端),有一个对应的Web服务器,当使用者要访问Web服务器上的信息或数据时,由用户客户端通过浏览器发送一个HTTP请求
25、,发送到Web服务器,Web服务器得到请求好,立即对这个请求进行响应,然后将对应的信息和数据发送到客户端,用户就查看到相应的网页信息了。thttpd、httpd和Boa这三种Web服务器是在Linux操作系统下应用最多的,因为安全原因,即httpd不支持认证和CGI,所以应用较少。thttpd和Boa可以认证和CGI,在本设计方案中选择Boa服务器,因为Boa服务器源代码公开,(可以从Boa的官方网站http:/www.boa.org 下载最新的代码)并且该服务器处理HTTP请求速度很快效率很高,基于Boa服务器的模型结构如下图2-1:对Boa服务器重新配置,首先从http:/www.boa.
26、org 获得源代码,然后在命令行将压缩包解压并配置,如图2-2:root# tar xvzf boa-0.94.14rc21.tar.gz然后运行配置文件生成Makefile文件,root# ././ boa-0.94.14rc21/configure进入压缩文件里面查看改程序配置文件,图2-2 压缩包解压并root# vi Makefile将CC=gcc和CPP=gcc-E修改成为CC=arm-linux-gcc和CPP=arm-linux-gcc-E 图2-3 编辑Makefile文件 修改完成后,对Boa服务器的参数进行相应的设置,找到boa.conf文件,使用Vim打开将其配置好,然后
27、编译make,执行就完成Boa服务器的移植了。 root# makeroot# arm-linux-strip boa 2.2.6 CGI简介到现在为止,生成动态Web页面主要有两种方法,第一种是CGI,第二种是想JSP、ASP等服务器脚本语言。但在资源严重紧张的嵌入式Web中,使用较多的是CGI。CGI称为公共网关接口,它是Web服务器与CGI程序之间接口规范,根据这个接口标准编写的脚本,称为CGI程序,在Web技术中使用CGI程序可以完成交互作用13。下图2-4是用户使用浏览器访问带有CGI程序处理流程CGI程序编写可以使用很多程序语言设计,在嵌入式设计中,因为嵌入式底层设计是使用的C语言
28、,所以常常使用C来编写CGI脚本,并且C语言编写的CGI程序在运行速度快、效率高,本方案就是采用C语言对CGI进行设计。本方案的远程登录控制是基于CGI设计的动态Web服务器交互功能的实现,将智能插座设备的终端连接到Internet,通过浏览器访问该固定网址,然后对设备发送指令进行控制,设备得到指令后进行响应,实现对智能插座的远程控制。3 智能控制系统的软硬件设计3.1 硬件系统总体设计本方案采用设备是广州友善之臂计算机科技有限公司提供的开发板mini2440,它的中央处理器是S3C2440A,提供了很强大的外围组件,包含1G的Nand Flash 、2MB 的Nor Flash 、GPIO口
29、和配套的USB无线网卡、电源电路的等。系统结构框图如下图3-1所示:3.1.1 ARM9处理器S3C2440芯片ARM系列的芯片一直在升级发展,从ARM7的冯诺依曼架构改为ARM9的哈佛结构,芯片在性能上得到了很大的提高,ARM系类芯片在实际生活中得到了很大的应用。在本方案中,硬件的核心芯片是使用ARM9处理器S3C2440芯片,该芯片使用ARM920t的内核,在功耗上相比同类产品较低,非常适合在开发设计中对产品成本和产品功耗追求的应用。3.1.2 配置GPIO并使用GPIO(General Purpose Input/Output),即通用输入输出接口的简称。在该开发板中共有34 Pin 2
30、.0mm 的间距的GPIO接口。GPIO口用途很灵活,可以作为总线信号的一部分,也可以作为外设器件的控制输入,还有很多用途,在本方案中时作为继电器的开关控制信号。要使用GPIO的功能,需要先对配置GPIO管脚配置,在使用之前请检查该Pin是否有单独的供电控制,如果有需要保证在工作时候,供电正常,然后检查GPIO模块时钟是否配置好,这个需要配置好时钟,作为控制用途,定义管脚是输入信号,typedef unsigned int uint unit value=0; /临时变量volatile uint *pgpioa_dr =(uint*)(0xc3104008); /指针指向gpioa_dr的地
31、址volatile uint *pggioa_or =(uint*)(0xc3104004); /指针指向gpioa_or的地址value =* pgpioga_dr; /读取方向寄存器的值;value |=0x01; /变量value的第0bit变为1,其他位保持不变。* pgpioa_dr =value; /保证了其他GPIO的方向保持不受。value = * pgpioa_or; /读取GPIOA输出寄存器的值。value |=0x01; /value的值的第0bit变为1,其他位保持不变。*pgpioa_or =value; /输出寄存器的值的第0bit变为1,gpioa0输出高电平。
32、value &=(unit)1); /吧value的第0bit变为0。*pgpioa_or =value; /输出寄存器的值的第0bit位变为0,gpioa0输出低电平;3.1.3 电源电路设计S3C2440A的电源管理模式较独特,它具有相位锁定环路,用于稳定频率的芯片时钟发生器,简称为PLL,其中PLL又分为UPLL和MPLL14。其中UPLL时钟发生器用于主/从USB操作,MPLL的时钟发生器用于产生主时钟14。S3C2440A的电源管理模式有分为正常(NORMAL Mode)、慢速(SLOW Mode/NON-PLL Mode)、空闲(IDLE Mode)和掉电(SLEEP Mode)4种模式.通过英文字母可以知道慢速模式为不带PLL的低频时
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1