基于S3C2440的智能家居监控系统设计.doc_第1页
基于S3C2440的智能家居监控系统设计.doc_第2页
基于S3C2440的智能家居监控系统设计.doc_第3页
基于S3C2440的智能家居监控系统设计.doc_第4页
基于S3C2440的智能家居监控系统设计.doc_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

郑州科技学院郑州科技学院 本科毕业设计 论文 题 目 基于 S3C2440 的智能家 居监控系统设计 学生姓名 徐汝存 专业班级 电子科学与技术 2 班 学 号 200831035 院 系 电气工程学院 指导教师 黄东 教授 完成时间 2012 年 5 月 15 日 基于 S3C2440 的智能家居监控系统设计 摘 要 智能家居又称为数字家庭 一般是指以计算机接口技术和网络技术为基 础 将各种家用数字化设备有机结合为一体的智能化的网络系统 这些家用数 字化设备包括电话 计算机 数字化的视听设备 数字化的家用电器及安全监 控设备等 通过有线或无线的方式将这些设备连接起来 为家庭用户提供简 单 安全 可靠 智能化的综合服务 本课题以 Web 技术为核心 在基于 S3C2440 微处理器和嵌入式 Linux 操作系统的软硬件平台上构建了 Web 服务 器和视频服务器 Web 服务器采用 Boa 视频服务器采用 Mjpg streamer 结 合 CGI 技术处理 HTML 表单 完成用户认证 温湿度调节 红外监控 灯 光控制等家居监控功能 关键词 智能家居 Web 技术 S3C2440 Linux 系 II 63 BASED ON S3C2440 INTELLIGENT HOUSEHOLD MONITORING SYSTEM DESIGN ABSTRACT Smart home is also known as the digital home generally refers to the 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 these 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 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 3 63 目目 录录 摘 要 I ABSTRACT II 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 3 1 4 红外传感器的介绍 15 3 2 5 伏开关电源电路设计 16 4 软件平台 17 4 63 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 编译 boa 程序 24 4 6 2 配置 boa 25 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 系统硬件调试 32 5 2 软件及联机调试 32 5 63 5 2 1 主控程序调试 32 5 2 2 GPRS 程序调试 32 5 2 3 boa 服务器调试 33 5 2 4 CGI 程序调试 35 总 结 36 致 谢 37 参考文献 38 附 录 1 39 附 录 2 44 1 63 1 绪论 1 1 课题背景 21 世纪是信息时代 各种电信新技术推动了人类文明的进步 自从 1876 年 Alexander Graham Bell 贝尔 发明电话以来 世界各国的电话网络发展非常迅 速 近十年来 中国的固定电话业务呈现出举世瞩目的快速增长 1997 年8 月局 用电话交换机总容量突破 1 亿门 网络规模跃居世界第二位 2012年4月中国工业 和信息化布披露数据称 截止 3月末中国大陆电话用户突破 13亿户 其中移动电话 为10 2亿户 3G用户突破1 5亿户 宽带用户接入数达 1 57亿户 移动互联网用户 6 7亿户 从以上的最新数据可以看出未来的网络化的发展趋势 正是因为通信技术 计算机技术 网络技术 控制技术的迅猛发展与提高 促使了家庭实现了生活现代化 居住环境舒适化 安全化 这些高科技已经影 响到人们生活的方方面面 改变了人们生活习惯 提高了人们生活质量 家居 智能化也正是在这种形势下应运而生的 智能家居控制系统的主要功能包括通 信 设备自动控制 安全防范三个方面 随着新技术和自动化的发展 传感器的使用数量越来越大 功能也越来越 强 各种传感器都已经标准化 模块化这给智能家居控制系统的设计提供极大 方便 嵌入式的智能家居使系统的处理能力大大增强 可以带来更加逼真的图象 以及更加真实的语音等 根据系统定制的实时操作系统不仅可以最大限度的利 用硬件资源而且还避免了过于庞大的系统造成的系统冗余 一般只有一颗主处 理芯片 系统架构更加清晰简捷 软件采用分层设计 方便维护和升级 大大 提高了代码利用率 缩短开发周期 因为嵌入式技术是伴随着Internet 而生的 所以它具有更加卓越的网络性能 可以增加更多的网络应用 很显然嵌入式类 智能家居产品在应用方面具有相当的优势 应该是未来中国家庭智能化技术主 流发展方向 家居生活的智能化是当今计算机网络与通讯技术最人性化的应用 给人们 的家居生活带来了全新的感受 今天 借助电话控制或互联网 您几乎可以在 任何地方 任何时候监控您的家居状况 为您的家居生活带来前所未有的方便 2 63 随着社会全面的信息化 智能化和自动化 家庭智能化必将成为未来家居装饰 潮 流发展的最新方向 1 2 物联网概念的起源 早在 1995 年比尔 盖茨在 未来之路 中提到了物联网的概念 然而到 了 1998 年的时候美国的麻省理工学院 MIT 的 Kevin Ashton 把非接触式无 线识别技术 RFID 与传感器技术应用于日常物品中才形成一个真正所谓的 物联网 当时的物联网的概念就是利用产品电子代码 EPC 还有我们的射频 识别技术 通过网络 当时的网络还仅限于互联网来实现物品的互联互通 在 任何时候任何地点对任何物品识别和管理 这就是原来的物联网 在 1999 年 的时候 EPC global 的 Auto ID 中心提出 物联网就是成千上万的物品采用无 线方式接入了 internet 的网络 这是物联网概念真正的提出 在 2008 年 IBM 提出 互联网 物联网 智慧地球 就是把传感器设备安装到电网 铁路 桥梁 隧道 供水系统 大坝 油气管道等各种物体中 并且普遍链接成网路 及 物联网 至此最新的物联网概念形成了 新技术 网络技术 传感技术 数据库技术 云计算 移动计算等使得物 联网发生了很大的变换 内含增多增大 所谓的物不仅仅是物理实体 网络不 仅仅是各类信息的网络 还包括互联网 传感网 移动网 技术也把条码 射 频 传感器包含了进来 广义的物联网概念就是利用自动识别技术 这里包括条码 射频 全球定 位等按照标准的协议实现人与物 物与物在任何时候任何地点的链接 显著的 特点就是智能化 进行信息交换和通信 以实现智能识别 定位 跟踪 监控 管理 构建成为一个庞大的网络体系 1 3智能家居系统概述 随着社会信息化的加快 人们的工作 生活和通讯 信息的关系日益紧密 信息化社会在改变人们生活方式与工作习惯的同时 也对传统的住宅提出了挑 战 社会 技术以及经济的进步更使人们的观念随之巨变 人们对家居的要求 早已不只是物理空间 更为关注的是一个安全 方便 舒适的居家环境 家居 智能化技术起源于美国 它是以家为平台进行设计的 3 63 智能家居控制系统是以HFC 以太网 现场总线 公共电话网 无线网的 传输网络为物理平台 计算机网络技术为技术平台 现场总线为应用操作平台 构成一个完整的集家庭通信 家庭设备自动控制 家庭安全防范等功能的控制 系统 智能家居控制系统的总体目标是通过采用计算机技术 网络技术 控制技 术和集成技术建立一个由家庭到小区乃至整个城市的综合信息服务和管理系统 以此来提高住宅高新技术的含量和居民居住环境水平 大型的智能家居控制系统通常由系统服务器 家庭控制器 各种模块 各 种路由器 电缆调制解调器头端设备 CMTS 交换机 通讯器 控制器 无线收 发器 各种探测器 各种传感器 各种执行机构 打印机等主要部分组成 1 4 研究目的及意义 智能家居控制系统可以定义为一个过程或者一个系统 利用先进的计算机 技术 网络通讯技术 综合布线技术 将与家居生活有关的各种子系统 有机 地结合在一起 通过统筹管理 让家居生活更加舒适 安全 有效 与普通家 居相比 智能家居不仅具有传统的居住功能 提供舒适安全 高品位且宜人的 家庭生活空间 还将原来的被动静止结构转变为具有能动智慧的工具 提供全 方位的信息交换功能 帮助家庭与外部保持信息交换畅通 优化人们的生活方 式 帮助人们有效安排时间 增强家居生活的安全性 甚至为各种能源费用节 约资金 系统的网络化功能可以提供遥控 家电 电视 空调 热水器等 控制 照明控制 室内外遥控 窗帘自控 防盗报警 电话远程控制 可编程定时控 制及计算机控制等多种功能和手段 使生活更加舒适 便利和安全 因智能家 居控制系统简单 功能灵活 扩展容易而被人们广泛接受和应用 家居生活的智能化是当今计算机网络与通讯技术最人性化的应用 给人们 的家居生活带来了全新的感受 今天 借助电话控制或互联网 您几乎可以在 任何地方 任何时候监控您的家居状况 为您的家居生活带来前所未有的方便 随着社会全面的信息化 智能化和自动化 家庭智能化必将成为未来家居装饰 潮流发展的最新方向 4 63 1 5系统设计主要任务 本文利用凌阳ARM9嵌入式实验箱 S3C2440 CPU核心板和装有Linux系统或 装有Linux虚拟机的PC机一台 本设计包括 系统硬件的设计与调试和控制软件 的编写与调试 硬件部分 智能家居控制系统其硬件部分主要由五大部分构成 即 GPRS模组 以太网 模块 AD转换模块 S3C2440 CPU板模块与接口和电源部分 用户可以通过 GPRS模组上的RS232接口和PC机直接相连接使用 通过 AD转换模块检测温度变 化 电源部分则为各个部分提供工作电源 软件部分 软件设计部分主要由五大部分构成 即 Boa服务器搭建 Qt编程 CGI程序编 写 AT命令集 GPRS初始化驱动和各个驱动程序编写 5 63 2 方案论证 2 1 系统方案论证 2 1 1 控制部分 方案一 采用普通MCS 51单片机作为总的控制元件和信号处理单元 方案二 采用凌阳ARM9处理器作为总的控制元件和信号处理单元 比较论证 方法一MCS 51单片机功能较少 不含有模数转换等功能 因此需增 加一些外围电路来实现模数转换功能 使电路复杂化 精确度不高 且采样速率偏 低 而方案二简化了电路 增加了系统稳定性 凌阳 ARM9处理器在设计方面提 供了极大的方便 它的好处在于 功能较多 因为它不仅囊括了普通单片机的 所有功能 而且还有普通单片机所不具有的许多新的功能 如 A D D A转换 语音等 另外还提供了便利的编程环境 2 1 2 显示部分 方案一 采用数码管显示 方案二 用LCD显示器显示 比较论证 就我们的需要而言LED显示内容单一 不易产生生动具体的图文 而 LCD显示器则给我们提供了更大的发挥空间 看起来舒服自然 而且能增加显示的美 观性与直观性 最重要的是提供了友好的人机界面 2 1 3 服务器部分 方案一 采用TCP或UDP服务器 方案二 采用boa服务器 比较论证 方案一虽然可行 虽搭建容易但移植和执行比较困难 而方案 二则不同 Boa 是一款单任务的HTTP 服务器 与其他传统的Web 服务器不同的 是 当有连接请求到来时 它并不为每个连接单独创建进程 也不通过复制自身进 程来处理多链接 而是通过建立HTTP 请求列表来处理多路 HTTP 连接请求 同时 它只为CGI 程序创建新的进程 这样就在最大程度上节省了系统资源 这对嵌入 6 63 式系统来说至关重要 2 2 系统总体设计和分析 2 2 1 远程控制 利用 IE 浏览器访问 boa 服务器 通过在浏览器终端点击不同 button 使 boa 服务器调用不同的 cgi 脚本程序 完成对住宅内设备信息的读取及控制等 操作 从而完成对住宅的管理 如图 2 1 图 2 2 图 2 1 登录界面 7 63 图 2 2 系统设置平台 2 2 2 本地控制 在本地用 QT 方法实现 UI 并完成对住宅内设备信息的读取及控制等操作 从而完成对住宅的管理 2 2 3 总体分析 本设计属于嵌入式应用系统设计 确定嵌入式控制系统设计总体方案 是 进行系统设计最重要 最关键的一步 总体方案的好坏 直接影响整个控制系 统的性能及实施细则 总体方案的设计主要是根据被控对象的任务及工艺要求 而确定的 设计方法大致如下 根据系统的要求 首先确定出系统类型 选择 检测元件 在确定总体方案时 必须首先选择好的被测参数的测量元件 它是 影响控制系统精度的重要因素之一 选择执行机构 执行机构是微控制系统的 8 63 重要组成部件之一 执行机构的选择一方面要与控制算法匹配 另一方面要根 据被控对象的实际情况确定 选择输入 输出通道及外围设备 选择时应考虑 以下几个问题 被控对象参数的数量 各输入 输出通道是串行操作还是并行 操作 各通道数据的传递速率 各通道数据的字长及选择位数 对显示 打印 有何要求 2 3 系统框图 本控制系统是 32 位 ARM 处理器在系统检测以及工程控制方面的应用 其特点是体积小 成本低 功能强 功耗低 是微机应用产品化的最佳机种之 一 它已广泛地应用在产品智能化和工业自动化上 而把微处理器面向工控领 域对象 嵌入到工控应用系统中 实现嵌入式应用的计算机称之为嵌入式计算 机系统 简称嵌入式系统 本设计系统框图如图 2 3 所示 温湿传感模组 GPRS 模组 LED 显示模组 红外传感模组 LCD 触摸屏 IE 浏览器 BOA 服务器CGI 接口 S3C2440 CPU 图2 3 系统框图 9 63 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 均支持 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 3 存储器控制器特性 1 S3C2440 采用总线结构管理片上外设及内存 2 S3C2440 的存储器管理器提供访问外部存储器的所有控制信号 3 27 位地址信号 32 位数据信号 8 个片选信号 以及读 写控制信号等 4 总共有 8 个存储器 bank bank0 bank7 其中 bank0 bank5 为固定 128MB bank6 和 bank7 的容量可编程改变 可以是 2 4 8 16 32 64 128MB 最大共 1GB bank0 可以作为引导 ROM 其 10 63 数据线宽只能是 16 位和 32 位 其它存储器的数据线宽可以是 8 位 16 位和 32 位 5 8 个存储器 bank bank0 bank5 SRAM ROM Bank6 bank7 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 如下 11 63 图 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 集成 TCP IP 协议 方便实现上网功能 4 支持包交换广播控制通道 PBCCH 5 无限制的辅助服务数据支持 USSD GPRS 模组使用标准串口与主控制器进行通讯 模组带有一个 10 针的接 口 该接口可以和 MCU 相连接也可以通过模组上的 RS232 接口和 PC 机串口 相连接 GPRS 模组需通过 J4 的电源开关信号 PWRKEY 输入引脚向 GPRS 模 组输入如图 3 2 所示的上电时序 GPRS 才能被启动 启动后 GPRS 的信号指示 灯会闪烁 也可以手动按下 GPRS 模组上的 ON OFF 按键 大约 2 秒之后松开 GPRS 模组亦可以被启动 PowerON NNNNN ON 15000ms mms 图 3 2 GPRS 上电时序图 12 63 GPRS 模组实物图 3 3 如下 图 3 3 GPRS 模组实物图 当 GPRS 模组启动之后 就可以利用 AT 指令通过 UART 接口实现数据和 语音的通信功能 GPRS 的核心芯片 SIM300 通讯芯片的原理图 3 4 如下 图 3 4 SIM300 芯片原理图 13 63 GPRS 模组的部分接口电路如下图 3 5 图 3 5 GPRS 模组接口电路 连接 GPRS 模组到开发板的 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 温湿度传感器家 族中的贴片封装系列 传感器将传感元件和信号处理电路集成在一块微型电路 板上 输出完全标定的数字信号 传感器包括一个电容性聚合体测湿敏感元件 一个用能隙材料制成的测温元件 在同一芯片上 与 14 位的 A D 转换器以及 串行接口电路实现无缝连接 每个传感器芯片都在极为精确的湿度腔室中进行 标定 校准系数以程序形式储存在 OTP 内存中 用于内部的信号校准 两线 制的串行接口与内部的电压调整 使外围系统集成变得快速而简单 SHT1x 14 63 实物图如图 3 7 图 3 7 sht10 实物 接口定义如图 3 8 引脚引脚名称名称描述描述 1GND地 2DAT E 串行数据 3SCK串行时钟 输入口 4VDD电源 NCNC必须为空 图 3 8 接口定义图 SHT1x 的供电电压范围为 2 4 5 5V 建议供电电压为 3 3V 在电源引脚 VDD GND 之间须加一个 100nF 的电容 用作去耦滤波 如图 3 9 图 3 9 SHT10 的连接图 传感器不能按照 I2C 协议编址 但是 如果 I2C 总线上没有挂接别的元 件 传感器可以连接到 I2C 总线上 但处理器必须按照传感器的协议工作 15 63 SCK 用于微处理器与 SHT1x 之间的通讯同步 由于接口包含了完全静态 逻辑 因而不存在最小 SCK 频率 DATA 引脚为三态结构 用于读取传感器数据 当向传感器发送命令时 DATA 在 SCK 上升沿有效且在 SCK 高电平时必须保持稳定 3 1 4 红外传感器的介绍 1 红外技术在现代科技 国防和工农业等领域获得了广泛的应用 红 外传感系统是用红外线为介质的测量系统 按照功能能够分成五类 1 辐射计 用于辐射和光谱测量 2 搜索和跟踪系统 用于搜索和跟踪红外目标 确定其空间位置并对它 的运动进行跟踪 3 热成像系统 可产生整个目标红外辐射的分布图像 4 红外测距和通信系统 5 混合系统 是指以上各类系统中的两个或者多个的组合 2 红外传感器根据探测机理可分成为 光子探测器 基于光电效应 和热探测器 基于热效应 红外传感器图 3 10 红外模块实物图 3 11 图 3 10 红外传感器实物图 图 3 11 红外模块实物 16 63 模块接上电源后若检测到有人接近 输出端会输出 1 秒左右的高电平 随 后恢复到低电平 3 2 5 伏开关电源电路设计 由于本控制系统单元电路较多对且对 5V 电源的要求比较高 其中 TC35 模块的突发耗电电流峰值可达 2 5A 故外加的稳压器件必须达到足以提供 TC35 和其它电路额定电流的条件 在本系统中 采用了芯片 s3c2440 完成从 12V 到 5V 的转换 必须特别注意的是 如图 3 13 由 s3c2440 芯片完成开关电源转换需 要大功率的电感 100uH 和电容 以提高储能的能力 达到单元电路的耗电需求 s3c2440 为 5 0V3A 开关电源稳压器 3 13 5V 开关电源稳压器电路 17 63 4 软件平台 4 1 linux 操作系统介绍 Linux 是一套 Unix like 的操作系统 是 Unix 的一种 它控制整个系统 基本服务的核心程序 kernel 是由 Linus 带头开发出来的 Linux 这个名 称便是以 Linus s unix 来命名 Linus 选择用 大众公有版权 GPL 的方 式来发行这份程序 这个版权允许任何人以任何形式复制与散布 Linux 的原 始程序 换句话说 Linux 实际上是 免费的 使用者在网络上就可以找到 Linux 的原始程序代码 随心所欲的复制与更改 Linux 的原始程序 在因特 网的日渐盛行以及 Linux 开放自由的版权之下 吸引了无数计算机高手投入 开发 改善 Linux 的核心程序 使得 Linux 的功能日见强大 所以今日我们 可以在网络上免费下载 Linux 使用 或者花很少的一点费用就可以取得 Linux 光盘 这都是因为 Linux 是 GPL 版权的缘故 除了核心程序以外 一个操作系统还需要其它的系统程序跟应用程序才有 实用性 Linux 系统中常用的系统程序大部份是美国自由软件基金会 Free Software Foundation 开发出来的软件 而且也有不少机构或个人为 Linux 开 发应用程序 这些程序一样大多都是自由软件 任何人都可以免费的在网络上 取得 不过自行去取得这些程序再一一安装非常不便 于是有些公司或团体就 会去搜集 整合 Linux 上的程序 把 核心 系统程序 应用程序 总合起来构 成一个完整的操作系统 让一般使用者可以简便的安装完整个系统 这就是所 谓的 安装软件包 distribution 我们一般讲的 Linux 系统便是针对这些安 装软件包而言 同样是 Linux 系统 却分成不同公司 机构整合出来的不同 安装软件包 这就是大家常常在网络上看到 Linux 有那么多 种 的原因 近几年的发展 已使得 Linux 成为微软 升阳的另一大敌手 Linux 挟其 价格低廉 品质良好与稳定的竞争优势 正无形无影地扩散至众多以 PC 为主 的工作 平台上 早期因缺乏商业性应用软件 单凭学术味道浓厚的工具程序 是无法打入一般商家的主流操作系统的 然而 今日的 Linux 已非吴下阿蒙 KDE Gimp Gnome 等计划相继地开展 为 X 提供了更多图形接口的桌面操 作环境和应用软件 18 63 约 1993 年左右 Linux 首先以发行软 体 distribution 的型态出现 这是 一群完整的软件 包含安装程序 核心 应用软件 X 驱动程序等的软件包 经由 Internet 下载至磁 盘片进行安装 那时的安装程序简陋 难以成功地安装 妥当 接口亲和力不足和硬件支持不良是最大的障碍 4 2 Boa 服务器 4 2 1 Boa 简介 Boa 是一款单任务的 HTTP 服务器 与其他传统的 Web 服务器不同的是 当有连接请求到来时 它并不为每个连接单独创建进程 也不通过复制自身进 程来处理多链接 而是通过建立 HTTP 请求列表来处理多路 HTTP 连接请求 同时它只为 CGI 程序创建新的进程 这样就在最大程度上节省了系统资源 这 对嵌入式系统来说至关重要 同时它还具有自动生成目录 自动解压文件等功 能 因此 Boa 具有很高的 HTTP 请求处理速度和效率 在嵌入式系统中具有 很高的应用价值 4 2 2 Boa 服务器的实现机制 Boa 服务器和普通 Web 服务器一样 能够完成接收客户端请求 分析请求 响应请求 向客户端返回请求结果等任务 它的工作过程主要包括 1 完成 Web 服务器的初始化工作 如创建环境变量 创建 TCP 套接 字 绑定端口 开始侦听 进入循环结构 以及等待接收客户浏览器的连接请 求 2 当有客户端连接请求时 Web 服务器负责接收客户端请求 并保存相 关请求信息 3 在接收到客户端的连接请求之后 分析客户端请求 解析出请求的方 法 URL 目标 可选的查询信息及表单信息 同时根据请求做出相应的处理 4 Web 服务器完成相应处理后 向客户端浏览器发送响应信息 关闭 与客户机的 TCP 连接 Boa 服务器根据请求方法的不同 做出不同的响应 如果请求方法为 HEAD 则直接向浏览器返回响应首部 如果请求方法为 GET 则在返回响应首 19 63 部的同时 将客户端请求的 URL 目标文件从服务器上读出 并且发送给客户端 浏览器 如果请求方法为 POST 则将客户发送过来的表单信息传送给相应的 CGI 程序 作为 CGI 的参数来执行 CGI 程序 并将执行结果发送给客户端浏 览器 Boa 的功能实现也是通过建立连接 绑定端口 进行侦听 请求处理 等来实现的 4 3 CGI 工具 4 3 1 CGI 简介 CGI 是 Common Gateway Interface 的缩写 是服务器端和用户沟通的程 序 它可以使你的网页更生动 网络上很多工具例如搜索引擎 留言板 BBS 等都是 CGI 程序 CGI 是用来沟通 HTML 表单和服务器端程序的接口 interface CGI 并 不是一种语言 而是可以被其他语言所应用的一个规范集 理论上讲 你可以 用任何的程序语言来编写 CGI 程序 只要在编程的时候符合 CGI 规范所定义 的一些东西就可以了 由于 C 语言在平台无关性上表现不错 几乎在任何的系统平台下都有其相 应编译器 而且对大多数程序员而言都算得上很熟悉 因此 C 是 CGI 编程 的首选语言之一 4 3 2 CGI 的实现 CGI 是 公共网关接口 Common Gateway Interface 的简称 是 HTTP 服务器与其它程序进行 交谈 的一种工具 其程序须运行在网络服务器上 CGI 是一段程序 它运行在 Server 上 提供同客户端 Html 页面的接口 1 CGI 的功能 1 通常情况下 CGI 程序被用来解释处理来自表单的输入信息 在服务器 产生相应的处理 并将相应的信息反馈给浏览器 2 CGI 程序使网页具有交互功能 2 CGI 处理步骤 1 通过 Internet 把用户请求送到服务器 20 63 2 服务器接收用户请求并交给 CGI 程序处理 3 CGI 程序把处理结果传送给服务器 4 服务器把结果送回到用户 3 CGI 可以用任何一种语言编写 只要这种语言具有标准输入 输出 和环境变量 1 CGI 程序的输出 CGI 程序中的标准输出是经过重定向了的 CGI 程序并不会在服务器上产 生任何的输出内容 而是被重定向到客户浏览器 这样 如果编写一个 C 的 CGI 程序的时候 把一个 HTML 文档输出到它的 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 是一个跨平台的 C 图形用户界面库 由挪威 TrollTech 公司于 1995 年底出品 Trolltech 公司在 1994 年成立 但是在 1992 年 成立 Trolltech 公司的那批程序员就已经开始设计 Qt 了 Qt 的第一个商业版本于 1995 年推出 2008 年 1 月 31 日 Nokia 公司宣布通过公开竞购的方式收购 TrollTech 公司 旗下包括 Qt 在内的技术都归入 Nokia 旗下 Qt 的良好封装机制使得 Qt 的模块化程度非常高 可重用性较好 对于 用户开发来说是非常方便的 Qt 提供了一种称为 signals slots 的安全类型来 替代 callback 这使得各个元件之间的协同工作变得十分简单 丰富的 API Qt 包括多达 250 个以上的 C 类 还提供基于模板的 collections serialization file I O device directory management date time 类 甚至还包括正则表达式的处理 功能 支持 2D 3D 图形渲染 21 63 支持 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 Mobile Station 的 功能 与 GSM 网络业务进行交互 用户可以通过 AT 命令进行呼叫 短信 电话本 数据业务 补充业务 传真等方面的控制 SIM300 可设置的 AT 命令包括 GSM07 05 GSM07 07 ITU T 介绍的 AT 命令 除此之外 SIM300 还支持 SIM 公司扩展的 AT 命令 每个 AT 命令行必须以 AT 为前缀开始 以 r 结束 AT 命令通常跟随其 回应 回应的格式为 r n 回应 r n 下文中 r 或 r n 都被省略 SIM300 常用的 AT 命令表 1 1 详细的 AT 命令说明请参考 SIM300 AT Command Set 表 1 1 常用 AT 命令 命令命令格式功能描述 ATAT 测试连接是否正常 AT CMIC AT CMIC 设置 MIC 的通道及增益 AT CMGF AT CMGF 设置短消息格式 AT CHFA AT CHFA 切换声音通道 AT CLVL AT CLVL 喇叭音量调节 AT CSCS AT CSCS 选择 TE 字符集 ATDATD 拨号 建立会话 数据或传真等业 务 ATHATH 0 呼叫挂起 ATAATA 呼叫应答 AT VTS AT VTS 发送 DTMF 拨号音 AT CMGS AT CMGS 发送短消息 22 63 AT CMGS AT CMGR AT CMGR 读取短消息 4 5 2 GPRS 电话功能的实现 1 上电 按 J4 按钮 2 秒左右 出现信号灯闪烁 说明启动成功 启动超级终端 设置为 115200 2 测试 AT OK 成功 ERROR 失败 3 设置麦克风 设置 MIC AT CMIC 0 15 逗号前有 0 1 两项 0 为耳麦 1 为免提通话状态 逗号后即音量大小是对方听到你的声音大小 4 设置耳机 设置耳机 AT CHFA 1 0 1 此命令用来切换两个音频通道 sim300 提供两个音频通道 用此命令来切换 5 设置音量 设置音量 AT CLVL 100 范围是 0 100 数值越小 则音量越轻 6 拨打电话 输入 ATD 命令 ATD112 拨打 112 注意别少 号 挂机 ATH 7 二次拔号 电话中拨号 AT VTS 为要拨的号码 比如打 10086 后选择普通话服务 AT VTS 1 23 63 8 接电话 响 应 RING 有来电 命 令 ATA 应答此来电 响 应 OK 接受呼叫 命 令 ATH 挂断电话 响 应 NO CARRIER 电话已切断 9 来电显示 开来电显示 AT CLIP 1 GPRS 模组会每隔一会发 CLIP161 0 关来电显示 AT CLIP 0 4 5 3 GPRS 短信功能的实现 1 设置短消息模式 AT CMGF n n 0 时 选择 PDU 模式 只能发英文 n 1 时 选择文本模式 可发中文 执行命令后 模块返回 OK 一般选择文本格式 2 设置短消息编码方式 AT CSCS 可选 GSM 或 UCS2 或 IRA GSM 只支持英文编码 UICODE 支持任意文字编码 可根据实际情况选择 但一般选择 UCS2 码 3 设置短消息中心号码 AT CSCA 执行命令后 返回 OK 一般不设置 4 发送短信 AT CMGS 若设置 AT CSCS UCS2 则号码 信息均为 UICODE 码 若设置 AT CSCS GSM 则号码 信息均为 ASCII 码 24 63 发送短消息 AT CMGS 目的手机号码 1 指定收信人电话号码 1 UCS2 模式下发送格式 AT CMGS 00310033003400360036003600330030003200350039 注 发信息时国标码要转成 UICODE 码 收信息时 UICODE 码要转成国标码 2 GSM 模式下发送格式 AT CMGS2 输入短信内容 发送电话号码后超级终端显示 提示输入短信正文 输入完毕后 按 ctrl z 发送正文 ctrl z 发送信息标志 注 MCU 串口输出 032 5 列举短消息 AT CMGL REC UNREAD 列举未读消息 REC READ 接受已读 STO UNSENT 存储未发送 STO SENT 存储已发送 ALL 所有消息 6 阅读短消息 发送 AT CMGR 是短消息在当前存储区的索引号 执行该 命令后模块返回 CMGR 0 0 24 成功 OK 失败 ERROR 7 删除短消息 发送 AT CMGD 是短消息在当前存储区的索引号 正确执 行该命令后 模块返回 OK 否则返回 ERROR 25 63 4 6 boa 服务器的搭建 4 6 1 编译 boa 程序 1 www boa org 下载 boa 0 94 13 src tar gz 2 tar zxvf boa 0 94 13 src tar gz 解压 3 cd boa 0 94 13 src 4 cd src 5 configure 6 make clean 7 make 注 make 前如若想更改 boa conf 配置文件 应修改 defines h 文件 8 修改 Makefile 将 CC gcc CPP gcc E 改为 CC arm linux gcc CPP arm linux gcc E 4 6 2 配置 boa 1 建立 Smart home boa boa conf 目录 并复制 boa conf 到该目录 2 修改访问权限 修改 User nobody 为 User 0 修改 Group nogroup 为 Group 0 3 设定日志目录 建立 Smart home boa log 目录并设置为可读写权限 修改 boa conf 文件 ErrorLog mnt Smart home boa log error log AccessLog mnt Smart home boa log access log 26 63 4 设置 html 文件目录 DocumentRoot mnt Smart home boa www 5 设置默认索引文件 主页 DirectoryIndex login html 6 设置 cgi 脚本目录 ScriptAlias cgi bin mnt Smart home boa www cgi bin 7 根据 3 4 6 步的设置建立相关文件夹并放入文件 4 6 3 boa 配置 1 boa conf 的存放目录 默认 boa conf 是在 etc boa conf 目录的 boa 运行时会自动去找 etc bon conf 目录 这个设定是在 defines h 文件中定义的 因此必须在编译之 前进行修改在编译之前进行修改 define SERVER ROOT etc boa conf 为 define SERVER ROOT mnt Smart home boa boa conf 改变存放路径 2 log 目录 Boa 的日志分为 Errorlog 和 AccessLog 两部分 具体目录可在 boa conf 中 修改 如 ErrorLog mnt Smart home boa log error log AccessLog mnt Smart home boa log access log 3 html 文件目录 可在 boa conf 文件中修改 如 DocumentRoot mnt Smart home boa www 4 cgi 脚本目录 可在 boa conf 文件中修改 如 ScriptAlias cgi bin mnt Smart home boa www cgi bin 5 mime types 存放目录 拷贝 etc mime types 文件到开发板 Smart home boa 目录下 可在 boa conf 文件中修改 如 MimeTypes mnt Smart home boa mime types 若不使用则改为 MimeTypes dev null 6 编译 make clean make 7 运行 boa 程序 打开网址http 192 168 220 111并观察现象 27 63 4 7 HTML 的简介 4 7 1 什么是 HTML 1 HTML 是用来描述网页的语言 2 HTML 指的是超文本标记语言 Hyper Text Markup Language 3 HTML 不是一种编程语言 而是一种标记语言 Markup Language 4 标记语言是一套标记标签 markup tag 5 HTML 使用标记标签来描述网页 4 7 2 HTML 标签 1 HTML 标签是由尖括号包围的关键词 比如 2 HTML 标签是通常是成对出现的比如 3 标签中的第一个标签是开始标签 第二个标签是

温馨提示

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

评论

0/150

提交评论