《基于S3C2440的智能家居监控系统设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于S3C2440的智能家居监控系统设计毕业论文.doc(63页珍藏版)》请在三一文库上搜索。
1、郑州科技学院郑州科技学院 本科毕业设计(论文) 题 目 基于 S3C2440 的智能家 居监控系统设计 I 基于 S3C2440 的智能家居监控系统设计 摘 要 智能家居又称为数字家庭, 一般是指以计算机接口技术和网络技术为基 础,将各种家用数字化设备有机结合为一体的智能化的网络系统。这些家用数 字化设备包括电话、计算机、数字化的视听设备、数字化的家用电器及安全监 控设备等, 通过有线或无线的方式将这些设备连接起来, 为家庭用户提供简 单、安全、可靠、智能化的综合服务。本课题以 Web 技术为核心, 在基于 S3C2440 微处理器和嵌入式 Linux 操作系统的软硬件平台上构建了 Web 服
2、务 器和视频服务器,Web 服务器采用 Boa, 视频服务器采用 Mjpg-streamer, 结 合 CGI 技术处理 HTML 表单, 完成用户认证、温湿度调节、红外监控、灯 光控制等家居监控功能。 关键词 智能家居/Web 技术/S3C2440/Linux 系 基于 S3C2440 的智能家居监控系统设计 II BASED ON S3C2440 INTELLIGENT HOUSEHOLD MONITORING SYSTEM DESIGN ABSTRACT Smart home is also known as the digital home,generally refers to th
3、e computer interface and network technology, based on a variety of digital devices to organic combination as one of the only network system.These home digital devices,including phones,computers,digital home appliances and security monitoring equipment,etc,th- rough wired or wireless way to connect t
4、hese devices for home users to provide simple,safe,reliable,intelligent service.This subject based on the Web technology,bas- ed S3C2440 microprocessor and embedded Linux operating system software and hardware platform to build a Web server and video server,Web server using the Boa,the video server
5、to adopt Mjpg-streamer,combined with CGI technology to handle HTML form,complete the user authentication,temperature and humidity adjustment,infrared Monitoring,lighting control and home control function. Keyword Smart home, Web technology, S3C2440, Linux system 基于 S3C2440 的智能家居监控系统设计 目目 录录 摘 要.I AB
6、STRACTII 1 绪论1 1.1 课题背景1 1.2 物联网概念的起源.2 1.3 智能家居系统概述2 1.4 研究目的及意义3 1.5 系统设计主要任务4 2 方案论证.5 2.1 系统方案论证.5 2.1.1 控制部分.5 2.1.2 显示部分.5 2.1.3 服务器部分5 2.2 系统总体设计和分析.6 2.2.1 远程控制6 2.2.2 本地控制7 2.2.3 总体分析7 2.3 系统框图.8 3 硬件电路设计.9 3.1 硬件资源和模块介绍.9 3.1.1 CPU-S3C2440 介绍.9 3.1.2 GPRS 无线模组的介绍11 3.1.3 温湿度传感器(SHT10)的介绍13
7、 3.1.4 红外传感器的介绍15 3.2 5 伏开关电源电路设计.16 4 软件平台.17 基于 S3C2440 的智能家居监控系统设计 4.1 linux 操作系统介绍.17 4.2 Boa 服务器18 4.2.1 Boa 简介.18 4.2.2 Boa 服务器的实现机制18 4.3 CGI 工具.19 4.3.1 CGI 简介.19 4.3.2 CGI 的实现19 4.4 Qt 的介绍.20 4.5 AT 命令21 4.5.1 AT 命令集简介21 4.5.2 GPRS 电话功能的实现22 4.5.3 GPRS 短信功能的实现23 4.6 boa 服务器的搭建24 4.6.1 编译 bo
8、a 程序24 4.6.2 配置 boa25 4.6.3 boa 配置.26 4.7 HTML 的简介.26 4.7.1 什么是 HTML.26 4.7.2 HTML 标签.27 4.7.3 HTML 文件.27 4.7.4 HTML 文件构成元素27 4.7.5 HTML 文件结构27 4.7.6 HTML 中调用 CGI 程序的方法28 4.8 CGI 程序的编写.29 4.9 mjpg-streamer 视频服务器简介29 4.9.1 mjpg-streamer 概述29 4.9.2 使用 mjpg-streamer.30 4.10 GPRS 的编程.31 5 系统制作与调试.32 5.1
9、 系统硬件调试.32 5.2 软件及联机调试.32 基于 S3C2440 的智能家居监控系统设计 5.2.1 主控程序调试.32 5.2.2 GPRS 程序调试32 5.2.3 boa 服务器调试.33 5.2.4 CGI 程序调试35 总 结36 致 谢37 参考文献.38 附 录 139 附 录 244 基于 S3C2440 的智能家居监控系统设计 1 1 绪论 1.1 课题背景 21 世纪是信息时代,各种电信新技术推动了人类文明的进步。自从 1876 年 Alexander Graham Bell(贝尔)发明电话以来,世界各国的电话网络发展非常迅 速,近十年来,中国的固定电话业务呈现出举
10、世瞩目的快速增长。 1997 年8 月局 用电话交换机总容量突破 1 亿门,网络规模跃居世界第二位, 2012年4月中国工业 和信息化布披露数据称,截止 3月末中国大陆电话用户突破 13亿户,其中移动电话 为10.2亿户,3G用户突破1.5亿户,宽带用户接入数达 1.57亿户,移动互联网用户 6.7亿户。从以上的最新数据可以看出未来的网络化的发展趋势。 正是因为通信技术、计算机技术、网络技术、控制技术的迅猛发展与提高, 促使了家庭实现了生活现代化,居住环境舒适化、安全化。这些高科技已经影 响到人们生活的方方面面,改变了人们生活习惯,提高了人们生活质量,家居 智能化也正是在这种形势下应运而生的。
11、智能家居控制系统的主要功能包括通 信、设备自动控制、安全防范三个方面。 随着新技术和自动化的发展,传感器的使用数量越来越大,功能也越来越 强,各种传感器都已经标准化、模块化这给智能家居控制系统的设计提供极大 方便。 嵌入式的智能家居使系统的处理能力大大增强,可以带来更加逼真的图象 以及更加真实的语音等。根据系统定制的实时操作系统不仅可以最大限度的利 用硬件资源而且还避免了过于庞大的系统造成的系统冗余。一般只有一颗主处 理芯片,系统架构更加清晰简捷。软件采用分层设计,方便维护和升级,大大 提高了代码利用率,缩短开发周期。因为嵌入式技术是伴随着Internet 而生的, 所以它具有更加卓越的网络性
12、能,可以增加更多的网络应用,很显然嵌入式类 智能家居产品在应用方面具有相当的优势,应该是未来中国家庭智能化技术主 流发展方向。 家居生活的智能化是当今计算机网络与通讯技术最人性化的应用,给人们 的家居生活带来了全新的感受。今天,借助电话控制或互联网,您几乎可以在 任何地方、任何时候监控您的家居状况,为您的家居生活带来前所未有的方便。 基于 S3C2440 的智能家居监控系统设计 2 随着社会全面的信息化、智能化和自动化,家庭智能化必将成为未来家居装饰 潮 流发展的最新方向! 1.2 物联网概念的起源 早在 1995 年比尔盖茨在未来之路中提到了物联网的概念,然而到 了 1998 年的时候美国的
13、麻省理工学院(MIT)的 Kevin Ashton,把非接触式无 线识别技术(RFID)与传感器技术应用于日常物品中才形成一个真正所谓的 “物联网” 。当时的物联网的概念就是利用产品电子代码 EPC,还有我们的射频 识别技术,通过网络,当时的网络还仅限于互联网来实现物品的互联互通。在 任何时候任何地点对任何物品识别和管理,这就是原来的物联网。在 1999 年 的时候 EPC global 的 Auto-ID 中心提出:物联网就是成千上万的物品采用无 线方式接入了 internet 的网络。这是物联网概念真正的提出。在 2008 年 IBM 提出:互联网+物联网=智慧地球,就是把传感器设备安装到
14、电网、铁路、桥梁、 隧道、供水系统、大坝、油气管道等各种物体中,并且普遍链接成网路,及 “物联网” 。至此最新的物联网概念形成了。 新技术:网络技术,传感技术、数据库技术、云计算、移动计算等使得物 联网发生了很大的变换,内含增多增大。所谓的物不仅仅是物理实体,网络不 仅仅是各类信息的网络,还包括互联网、传感网、移动网,技术也把条码、射 频、传感器包含了进来。 广义的物联网概念就是利用自动识别技术,这里包括条码、射频、全球定 位等按照标准的协议实现人与物、物与物在任何时候任何地点的链接,显著的 特点就是智能化、进行信息交换和通信、以实现智能识别、定位、跟踪、监控、 管理,构建成为一个庞大的网络体
15、系。 1.3智能家居系统概述 随着社会信息化的加快,人们的工作、生活和通讯、信息的关系日益紧密。 信息化社会在改变人们生活方式与工作习惯的同时,也对传统的住宅提出了挑 战,社会、技术以及经济的进步更使人们的观念随之巨变。人们对家居的要求 早已不只是物理空间,更为关注的是一个安全、方便、舒适的居家环境。家居 智能化技术起源于美国,它是以家为平台进行设计的。 基于 S3C2440 的智能家居监控系统设计 3 智能家居控制系统是以HFC、以太网、现场总线、公共电话网、无线网的 传输网络为物理平台,计算机网络技术为技术平台,现场总线为应用操作平台, 构成一个完整的集家庭通信、家庭设备自动控制、家庭安全
16、防范等功能的控制 系统。 智能家居控制系统的总体目标是通过采用计算机技术、网络技术、控制技 术和集成技术建立一个由家庭到小区乃至整个城市的综合信息服务和管理系统, 以此来提高住宅高新技术的含量和居民居住环境水平。 大型的智能家居控制系统通常由系统服务器、家庭控制器(各种模块)、各 种路由器、电缆调制解调器头端设备 CMTS、交换机、通讯器、控制器、无线收 发器、各种探测器、各种传感器、各种执行机构、打印机等主要部分组成。 1.4 研究目的及意义 智能家居控制系统可以定义为一个过程或者一个系统。利用先进的计算机 技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机 地结合在一起,
17、通过统筹管理,让家居生活更加舒适、安全、有效。与普通家 居相比,智能家居不仅具有传统的居住功能,提供舒适安全、高品位且宜人的 家庭生活空间。还将原来的被动静止结构转变为具有能动智慧的工具,提供全 方位的信息交换功能,帮助家庭与外部保持信息交换畅通,优化人们的生活方 式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节 约资金。 系统的网络化功能可以提供遥控:家电(电视,空调,热水器等)控制、 照明控制、室内外遥控、窗帘自控、防盗报警、电话远程控制、可编程定时控 制及计算机控制等多种功能和手段。使生活更加舒适、便利和安全。因智能家 居控制系统简单、功能灵活,扩展容易而被人们广泛接
18、受和应用。 家居生活的智能化是当今计算机网络与通讯技术最人性化的应用,给人们 的家居生活带来了全新的感受。今天,借助电话控制或互联网,您几乎可以在 任何地方、任何时候监控您的家居状况,为您的家居生活带来前所未有的方便。 随着社会全面的信息化、智能化和自动化,家庭智能化必将成为未来家居装饰 潮流发展的最新方向! 基于 S3C2440 的智能家居监控系统设计 4 1.5系统设计主要任务 本文利用凌阳ARM9嵌入式实验箱,S3C2440 CPU核心板和装有Linux系统或 装有Linux虚拟机的PC机一台。本设计包括:系统硬件的设计与调试和控制软件 的编写与调试。 硬件部分: 智能家居控制系统其硬件
19、部分主要由五大部分构成,即 GPRS模组、以太网 模块、AD转换模块、S3C2440 CPU板模块与接口和电源部分。用户可以通过 GPRS模组上的RS232接口和PC机直接相连接使用,通过 AD转换模块检测温度变 化,电源部分则为各个部分提供工作电源。 软件部分: 软件设计部分主要由五大部分构成:即 Boa服务器搭建、Qt编程、CGI程序编 写,AT命令集,GPRS初始化驱动和各个驱动程序编写。 基于 S3C2440 的智能家居监控系统设计 5 2 方案论证 2.1 系统方案论证 2.1.1 控制部分 方案一: 采用普通MCS-51单片机作为总的控制元件和信号处理单元。 方案二: 采用凌阳AR
20、M9处理器作为总的控制元件和信号处理单元。 比较论证: 方法一MCS-51单片机功能较少,不含有模数转换等功能 ,因此需增 加一些外围电路来实现模数转换功能 ,使电路复杂化,精确度不高,且采样速率偏 低。而方案二简化了电路,增加了系统稳定性。凌阳 ARM9处理器在设计方面提 供了极大的方便,它的好处在于,功能较多。因为它不仅囊括了普通单片机的 所有功能,而且还有普通单片机所不具有的许多新的功能,如 : A/D、D/A转换, 语音等,另外还提供了便利的编程环境。 2.1.2 显示部分 方案一: 采用数码管显示。 方案二: 用LCD显示器显示。 比较论证: 就我们的需要而言LED显示内容单一,不易
21、产生生动具体的图文 ,而 LCD显示器则给我们提供了更大的发挥空间 ,看起来舒服自然,而且能增加显示的美 观性与直观性。最重要的是提供了友好的人机界面。 2.1.3 服务器部分 方案一: 采用TCP或UDP服务器。 方案二:采用boa服务器。 比较论证:方案一虽然可行,虽搭建容易但移植和执行比较困难,而方案 二则不同,Boa 是一款单任务的HTTP 服务器, 与其他传统的Web 服务器不同的 是,当有连接请求到来时 , 它并不为每个连接单独创建进程 , 也不通过复制自身进 程来处理多链接, 而是通过建立HTTP 请求列表来处理多路 HTTP 连接请求, 同时 它只为CGI 程序创建新的进程,
22、这样就在最大程度上节省了系统资源 , 这对嵌入 基于 S3C2440 的智能家居监控系统设计 6 式系统来说至关重要。 2.2 系统总体设计和分析 2.2.1 远程控制 利用 IE 浏览器访问 boa 服务器,通过在浏览器终端点击不同 button,使 boa 服务器调用不同的 cgi 脚本程序,完成对住宅内设备信息的读取及控制等 操作,从而完成对住宅的管理。 (如图 2.1图 2.2) 图 2.1 (登录界面) 基于 S3C2440 的智能家居监控系统设计 7 图 2.2 (系统设置平台) 2.2.2 本地控制 在本地用 QT 方法实现 UI,并完成对住宅内设备信息的读取及控制等操作, 从而
23、完成对住宅的管理。 2.2.3 总体分析 本设计属于嵌入式应用系统设计。确定嵌入式控制系统设计总体方案,是 进行系统设计最重要、最关键的一步。总体方案的好坏,直接影响整个控制系 统的性能及实施细则。总体方案的设计主要是根据被控对象的任务及工艺要求 而确定的。设计方法大致如下:根据系统的要求,首先确定出系统类型。选择 检测元件,在确定总体方案时,必须首先选择好的被测参数的测量元件,它是 影响控制系统精度的重要因素之一。选择执行机构,执行机构是微控制系统的 基于 S3C2440 的智能家居监控系统设计 8 重要组成部件之一。执行机构的选择一方面要与控制算法匹配,另一方面要根 据被控对象的实际情况确
24、定。选择输入/输出通道及外围设备。选择时应考虑 以下几个问题:被控对象参数的数量;各输入/输出通道是串行操作还是并行 操作;各通道数据的传递速率;各通道数据的字长及选择位数;对显示、打印 有何要求。 2.3 系统框图 本控制系统是 32 位 ARM 处理器在系统检测以及工程控制方面的应用, 其特点是体积小,成本低,功能强,功耗低,是微机应用产品化的最佳机种之 一,它已广泛地应用在产品智能化和工业自动化上。而把微处理器面向工控领 域对象,嵌入到工控应用系统中,实现嵌入式应用的计算机称之为嵌入式计算 机系统,简称嵌入式系统。本设计系统框图如图 2.3 所示: 温湿传感模组 GPRS 模组 LED
25、显示模组 红外传感模组 LCD 触摸屏 IE 浏览器 BOA 服务器CGI 接口 S3C2440 CPU 图2.3(系统框图) 基于 S3C2440 的智能家居监控系统设计 9 3 硬件电路设计 3.1 硬件资源和模块介绍 3.1.1 CPU-S3C2440 介绍 S3C2440A 是韩国三星公司推出的 16/32 位 RISC 微控制器,其 CPU 采用 的是 ARM920T 内核。 (1)特点: 1)具有 PLL 时钟发生器,主频最高可达 533M。 2)内核 1.2V 供电最高 400M,1.3V 供电最高 533M。 3)存储器支持 1.8V、2.5V、3.0V、3.3V。 4)I/O
26、 均支持 3.3V 供电。 5)s3c2440 为单机器周期执行指令集。 6)具有电源管理功能,可以使系统以普通方式、慢速方式、空闲方式和 掉电方式工作,降低产品功耗。 (2)内核结构: 采用 ARM920T 内核,具有 16KB 指令 Cache、16KB 数据 Cache 和存储器 管理单元 MMU,指令高速存储缓冲器(I-Cache) ,数据高速存储缓冲器(D- cache)提高指令执行效率及数据存储效率,减少主存带宽和响应性带来的影 响,加强的 ARM 体系结构 MMU,用于支持 winCE、linux 等操作系统,内部 高级微控制总线(AMBA)体系结构(AMB2.0,AHB/APB
27、) 。 (3)存储器控制器特性: 1)S3C2440 采用总线结构管理片上外设及内存。 2)S3C2440 的存储器管理器提供访问外部存储器的所有控制信号。 3)27 位地址信号、32 位数据信号、8 个片选信号、以及读/写控制信号等。 4)总共有 8 个存储器 bank(bank0bank7) ,其中,bank0-bank5 为固定 128MB,bank6 和 bank7 的容量可编程改变,可以是 2、4、8、16、32、64、128MB,最大共 1GB。bank0 可以作为引导 ROM,其 基于 S3C2440 的智能家居监控系统设计 10 数据线宽只能是 16 位和 32 位,其它存储器
28、的数据线宽可以是 8 位、16 位和 32 位。 5)8 个存储器 bank: bank0-bank5:SRAM、ROM。 Bank6bank7:SRAM、ROM SDRAM。 6)s3c2440 支持两种启动方式: NOR FLASH 启动,即代码直接写入 NOR FLASH,运行时直接在 NOR FLASH 上运行。 NAND FLASH 启动方式,即代码烧到 NAND FLASH 中,借助片内 4K 的 sram,将代码由 NAND FLASH 烤到 SDRAM 中,在 SDRAM 中运行。 7)所使用的 Sunplus S3C2440 Board V2.0 说明图 3.1 如下: 基于
29、 S3C2440 的智能家居监控系统设计 11 图 3.1(S3C2440 说明图) 3.1.2 GPRS 无线模组的介绍 GPRS 模组采用 SIM300 通讯芯片,利用无线移动网络实现语音传输和点 对点数据传输。同时,模组内具备 TCP/IP 协议栈,可以直接利用它实现无线 上网。模组使用标准的 UART 串行通信接口与主芯片进行通信,可以与任何带 有通用 UART 串行通信接口的控制器进行连接。 该模组具有以下特性: (1)支持 EGSM900M,DCS1800M,PCS1900M 三种频段,兼容 GSM Phase 2/2+。 (2)集成 PAP 协议,可供 PPP 连接使用。 (3)
30、集成 TCP/IP 协议,方便实现上网功能。 (4)支持包交换广播控制通道(PBCCH) 。 (5)无限制的辅助服务数据支持(USSD) 。 GPRS 模组使用标准串口与主控制器进行通讯。模组带有一个 10 针的接 口,该接口可以和 MCU 相连接也可以通过模组上的 RS232 接口和 PC 机串口 相连接。 GPRS 模组需通过 J4 的电源开关信号(PWRKEY)输入引脚向 GPRS 模 组输入如图 3.2 所示的上电时序 GPRS 才能被启动,启动后 GPRS 的信号指示 灯会闪烁。也可以手动按下 GPRS 模组上的 ON/OFF 按键,大约 2 秒之后松开, GPRS 模组亦可以被启动
31、。 PowerON NNNNN ON 15000ms mms 图 3.2(GPRS 上电时序图) 基于 S3C2440 的智能家居监控系统设计 12 GPRS 模组实物图 3.3 如下: 图 3.3(GPRS 模组实物图) 当 GPRS 模组启动之后,就可以利用 AT 指令通过 UART 接口实现数据和 语音的通信功能;GPRS 的核心芯片 SIM300 通讯芯片的原理图 3.4 如下: 图 3.4(SIM300 芯片原理图) 基于 S3C2440 的智能家居监控系统设计 13 GPRS 模组的部分接口电路如下图 3.5: 图 3.5(GPRS 模组接口电路) 连接 GPRS 模组到开发板的
32、J15(GPRS)接口上,注意顺序(实验箱的 12V 接模组的 VCC,IOB0 接 PWRKEY,GND 接 GND)插接,且不可插 反或错位;断开 JP7、JP8 的所有跳线;断开手柄接口与手柄的连接;配置 GPRS;如连接耳麦和天线。 J5 JP1 图 3.6(GPRS 模组跳线连接图) 3.1.3 温湿度传感器(SHT10)的介绍 SHT1x (包括 SHT10, SHT11 和 SHT15) 属于 Sensirion 温湿度传感器家 族中的贴片封装系列。传感器将传感元件和信号处理电路集成在一块微型电路 板上,输出完全标定的数字信号。传感器包括一个电容性聚合体测湿敏感元件、 一个用能隙
33、材料制成的测温元件,在同一芯片上,与 14 位的 A/D 转换器以及 串行接口电路实现无缝连接。每个传感器芯片都在极为精确的湿度腔室中进行 标定,校准系数以程序形式储存在 OTP 内存中,用于内部的信号校准。两线 制的串行接口与内部的电压调整,使外围系统集成变得快速而简单。SHT1x: 基于 S3C2440 的智能家居监控系统设计 14 实物图如图 3.7: 图 3.7(sht10 实物) 接口定义如图 3.8: 引脚引脚名称名称描述描述 1GND地 2DAT E 串行数据 3SCK串行时钟,输入口 4VDD电源 NCNC必须为空 图 3.8(接口定义图) SHT1x 的供电电压范围为 2.4
34、-5.5V, 建议供电电压为 3.3V。在电源引脚 (VDD,GND)之间须加一个 100nF 的电容,用作去耦滤波。如图 3.9: 图 3.9(SHT10 的连接图) 传感器不能按照 I2C 协议编址,但是,如果 I2C 总线上没有挂接别的元 件,传感器可以连接到 I2C 总线上,但处理器必须按照传感器的协议工作。 基于 S3C2440 的智能家居监控系统设计 15 SCK 用于微处理器与 SHT1x 之间的通讯同步。由于接口包含了完全静态 逻辑,因而不存在最小 SCK 频率。 DATA 引脚为三态结构,用于读取传感器数据 。当向传感器发送命令时, DATA 在 SCK 上升沿有效且在 SC
35、K 高电平时必须保持稳定。 3.1.4 红外传感器的介绍 (1)红外技术在现代科技、国防和工农业等领域获得了广泛的应用。红 外传感系统是用红外线为介质的测量系统,按照功能能够分成五类: 1)辐射计,用于辐射和光谱测量; 2)搜索和跟踪系统,用于搜索和跟踪红外目标,确定其空间位置并对它 的运动进行跟踪; 3)热成像系统,可产生整个目标红外辐射的分布图像; 4)红外测距和通信系统; 5)混合系统,是指以上各类系统中的两个或者多个的组合。 (2)红外传感器根据探测机理可分成为:光子探测器(基于光电效应) 和热探测器(基于热效应) 。红外传感器图 3.10:红外模块实物图 3.11 图 3.10(红外
36、传感器实物图) 图 3.11(红外模块实物) 基于 S3C2440 的智能家居监控系统设计 16 模块接上电源后若检测到有人接近,输出端会输出 1 秒左右的高电平,随 后恢复到低电平。 3.2 5 伏开关电源电路设计 由于本控制系统单元电路较多对且对 5V 电源的要求比较高,其中 TC35 模块的突发耗电电流峰值可达 2.5A,故外加的稳压器件必须达到足以提供 TC35 和其它电路额定电流的条件。在本系统中,采用了芯片 s3c2440 完成从 12V 到 5V 的转换,必须特别注意的是,如图 3.13 由 s3c2440 芯片完成开关电源转换需 要大功率的电感(100uH)和电容,以提高储能的
37、能力,达到单元电路的耗电需求。 s3c2440 为 5.0V3A 开关电源稳压器。 3.13(5V 开关电源稳压器电路) 基于 S3C2440 的智能家居监控系统设计 17 4 软件平台 4.1 linux 操作系统介绍 Linux 是一套 Unix-like 的操作系统,是 Unix 的一种,它控制整个系统 基本服务的核心程序 (kernel) 是由 Linus 带头开发出来的, Linux这个名 称便是以Linuss unix来命名,Linus 选择用大众公有版权 (GPL)的方 式来发行这份程序,这个版权允许任何人以任何形式复制与散布 Linux 的原 始程序,换句话说,Linux 实际
38、上是免费的 ,使用者在网络上就可以找到 Linux 的原始程序代码,随心所欲的复制与更改 Linux 的原始程序,在因特 网的日渐盛行以及 Linux 开放自由的版权之下,吸引了无数计算机高手投入 开发、改善 Linux 的核心程序,使得 Linux 的功能日见强大,所以今日我们 可以在网络上免费下载 Linux 使用,或者花很少的一点费用就可以取得 Linux 光盘,这都是因为 Linux 是 GPL 版权的缘故。 除了核心程序以外,一个操作系统还需要其它的系统程序跟应用程序才有 实用性,Linux 系统中常用的系统程序大部份是美国自由软件基金会 (Free Software Foundat
39、ion) 开发出来的软件,而且也有不少机构或个人为 Linux 开 发应用程序,这些程序一样大多都是自由软件,任何人都可以免费的在网络上 取得,不过自行去取得这些程序再一一安装非常不便,于是有些公司或团体就 会去搜集、整合 Linux 上的程序,把核心-系统程序-应用程序总合起来构 成一个完整的操作系统,让一般使用者可以简便的安装完整个系统,这就是所 谓的安装软件包(distribution),我们一般讲的 Linux 系统便是针对这些安 装软件包而言,同样是 Linux 系统,却分成不同公司、机构整合出来的不同 安装软件包,这就是大家常常在网络上看到 Linux 有那么多种的原因。 近几年的
40、发展,已使得 Linux 成为微软、升阳的另一大敌手。Linux 挟其 价格低廉、品质良好与稳定的竞争优势,正无形无影地扩散至众多以 PC 为主 的工作 平台上。早期因缺乏商业性应用软件,单凭学术味道浓厚的工具程序, 是无法打入一般商家的主流操作系统的。然而,今日的 Linux 已非吴下阿蒙, KDE、 Gimp、Gnome 等计划相继地开展,为 X 提供了更多图形接口的桌面操 作环境和应用软件。 基于 S3C2440 的智能家居监控系统设计 18 约 1993 年左右,Linux 首先以发行软 体(distribution)的型态出现。这是 一群完整的软件,包含安装程序、核心、应用软件、X、
41、驱动程序等的软件包, 经由 Internet 下载至磁 盘片进行安装。那时的安装程序简陋,难以成功地安装 妥当,接口亲和力不足和硬件支持不良是最大的障碍。 4.2 Boa 服务器 4.2.1 Boa 简介 Boa 是一款单任务的 HTTP 服务器, 与其他传统的 Web 服务器不同的是 当有连接请求到来时, 它并不为每个连接单独创建进程, 也不通过复制自身进 程来处理多链接, 而是通过建立 HTTP 请求列表来处理多路 HTTP 连接请求, 同时它只为 CGI 程序创建新的进程, 这样就在最大程度上节省了系统资源, 这 对嵌入式系统来说至关重要. 同时它还具有自动生成目录、自动解压文件等功 能
42、, 因此, Boa 具有很高的 HTTP 请求处理速度和效率, 在嵌入式系统中具有 很高的应用价值。 4.2.2 Boa 服务器的实现机制 Boa 服务器和普通 Web 服务器一样, 能够完成接收客户端请求、分析请求、 响应请求、向客户端返回请求结果等任务. 它的工作过程主要包括: (1)完成 Web 服务器的初始化工作, 如创建环境变量、创建 TCP 套接 字、绑定端口、开始侦听、进入循环结构, 以及等待接收客户浏览器的连接请 求; (2)当有客户端连接请求时,Web 服务器负责接收客户端请求, 并保存相 关请求信息; (3)在接收到客户端的连接请求之后,分析客户端请求, 解析出请求的方 法
43、、URL 目标、可选的查询信息及表单信息, 同时根据请求做出相应的处理; (4)Web 服务器完成相应处理后, 向客户端浏览器发送响应信息, 关闭 与客户机的 TCP 连接。 Boa 服务器根据请求方法的不同, 做出不同的响应. 如果请求方法为 HEAD, 则直接向浏览器返回响应首部; 如果请求方法为 GET, 则在返回响应首 基于 S3C2440 的智能家居监控系统设计 19 部的同时, 将客户端请求的 URL 目标文件从服务器上读出, 并且发送给客户端 浏览器; 如果请求方法为 POST, 则将客户发送过来的表单信息传送给相应的 CGI 程序, 作为 CGI 的参数来执行 CGI 程序,
44、并将执行结果发送给客户端浏 览器。 Boa 的功能实现也是通过建立连接、绑定端口、进行侦听、请求处理 等来实现的。 4.3 CGI 工具 4.3.1 CGI 简介 CGI 是 Common Gateway Interface 的缩写,是服务器端和用户沟通的程 序,它可以使你的网页更生动,网络上很多工具例如搜索引擎、留言板、BBS 等都是 CGI 程序。 CGI 是用来沟通 HTML 表单和服务器端程序的接口(interface) 。CGI 并 不是一种语言,而是可以被其他语言所应用的一个规范集。理论上讲,你可以 用任何的程序语言来编写 CGI 程序,只要在编程的时候符合 CGI 规范所定义 的
45、一些东西就可以了。 由于 C 语言在平台无关性上表现不错(几乎在任何的系统平台下都有其相 应编译器) ,而且对大多数程序员而言都算得上很熟悉,因此,C 是 CGI 编程 的首选语言之一。 4.3.2 CGI 的实现 CGI 是: “公共网关接口”(Common Gateway Interface)的简称,是 HTTP 服务器与其它程序进行“交谈”的一种工具,其程序须运行在网络服务器上。 CGI 是一段程序,它运行在 Server 上,提供同客户端 Html 页面的接口。 (1)CGI 的功能: 1)通常情况下 CGI 程序被用来解释处理来自表单的输入信息,在服务器 产生相应的处理,并将相应的信
46、息反馈给浏览器。 2)CGI 程序使网页具有交互功能。 (2)CGI 处理步骤: 1)通过 Internet 把用户请求送到服务器。 基于 S3C2440 的智能家居监控系统设计 20 2)服务器接收用户请求并交给 CGI 程序处理。 3)CGI 程序把处理结果传送给服务器。 4)服务器把结果送回到用户。 (3)CGI 可以用任何一种语言编写,只要这种语言具有标准输入、输出 和环境变量。 1)CGI 程序的输出: CGI 程序中的标准输出是经过重定向了的。CGI 程序并不会在服务器上产 生任何的输出内容,而是被重定向到客户浏览器。这样,如果编写一个 C 的 CGI 程序的时候,把一个 HTML
47、 文档输出到它的 stdout 上,这个 HTML 文档 会被在客户端的浏览器中显示出来。这也是 CGI 程序的一个基本原理。 CGI 程序第一行输出的内容必须是:“Content-Type:text/html“ 这个输出作为 HTML 的文件头。因为 CGI 不仅可以像浏览器输出 HTML 文本,而且可以输出图像,声音之类的东西,http 服务器向远程发送文件时要 说明文件类型。 2)两个重要的 CGI 环境变量: QUERY-STRING:GET 方法表单输入的数据,URL 中间号后的内容。 CONTENT-LENGTH:POST 方法输入的数据的字节数。 4.4 Qt 的介绍 Qt 是一
48、个跨平台的 C+ 图形用户界面库,由挪威 TrollTech 公司于 1995 年底出品。Trolltech 公司在 1994 年成立,但是在 1992 年,成立 Trolltech 公司的那批程序员就已经开始设计 Qt 了,Qt 的第一个商业版本于 1995 年推出。2008 年 1 月 31 日,Nokia 公司宣布通过公开竞购的方式收购 TrollTech 公司,旗下包括 Qt 在内的技术都归入 Nokia 旗下。 Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于 用户开发来说是非常方便的。Qt 提供了一种称为 signals/slots 的安全类型来 替代 cal
49、lback,这使得各个元件之间的协同工作变得十分简单。丰富的 API:Qt 包括多达 250 个以上的 C+ 类,还提供基于模板的 collections,serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能。支持 2D/3D 图形渲染、 基于 S3C2440 的智能家居监控系统设计 21 支持 OpenGL(开放图形语言) 、大量的开发文档、XML 支持、Webkit 引擎 的集成,可以实现本地界面与 Web 内容的无缝集成,但是真正使得 Qt 在自 由软件界的众多 Widgets (如 Lesstif,Gtk,EZWGL,Xforms,fltk 等等)中脱 颖而出的还是基于 Qt 的重量级软件 KDE(桌面环境) 。 4.5 AT 命令 4.5.1 AT 命令集简介 AT 即 Attention,AT 命令集是从 TE(Terminal Equipment )或 DTE(Data Terminal Equipment)向 TA(Terminal Adapter)或 DCE(Data Circuit Terminating Equipment)发送的。通过 TA,TE 发送 AT 命令来控制 MS(M
链接地址:https://www.31doc.com/p-3921663.html