24小时论文定制热线

热门毕设:土木工程工程造价桥梁工程计算机javaasp机械机械手夹具单片机工厂供电采矿工程
您当前的位置:论文定制 > 代做毕业设计 >
快速导航
毕业论文定制
关于我们
我们是一家专业提供高质量代做毕业设计的网站。2002年成立至今为众多客户提供大量毕业设计、论文定制等服务,赢得众多客户好评,因为专注,所以专业。写作老师大部分由全国211/958等高校的博士及硕士生设计,执笔,目前已为5000余位客户解决了论文写作的难题。 秉承以用户为中心,为用户创造价值的理念,我站拥有无缝对接的售后服务体系,代做毕业设计完成后有专业的老师进行一对一修改与完善,对有答辩需求的同学进行一对一的辅导,为你顺利毕业保驾护航
代做毕业设计
常见问题

嵌入式Web服务器下智能家居系统的开发

添加时间:2018/07/10 来源:未知 作者:admin
学习及工作方式逐渐趋于网络化和智能化, 许多人已不满足传统的家居生活环境, 如何利用信息化的电子设备提供更安全、更舒适、更便捷的居住环境成为一个新的研究热点, 在这个背景下智能家居系统应运而生, 成为了一个发展趋势。
以下为本篇论文正文:

  摘要:针对智能化家居环境的需求, 提出了基于嵌入式Linux的智能家居系统的设计方案, 并从硬件和软件两方面对系统进行设计。着重从系统交叉编译环境的搭建、嵌入式Linux内核移植和Linux根文件系统的移植三个方面阐述了系统的设计及实现过程, 并对系统进行了测试, 结果显示性能良好, 基本功能能够实现。

  关键词:智能家居; ARM; Linux; 嵌入式;

  Abstract:For intelligent Home Furnishing environment, this paper presents a design scheme of intelligent Home Furnishing system based on embedded Linux, and the system design are from two aspects of hardware and software.Three aspects of the system, building the cross compiler environment, the transplantation of the embedded Linux kernel and Linux root file system transplant and realization is discussed the system design process.The final test of the system shows that the system performance is good and can achieve the basic functions.

  Keyword:smart home; ARM; Linux; embedded;

  信息技术、通信技术及嵌入式技术等技术的快速发展促使人们的生活、学习及工作方式逐渐趋于网络化和智能化, 许多人已不满足传统的家居生活环境, 如何利用信息化的电子设备提供更安全、更舒适、更便捷的居住环境成为一个新的研究热点, 在这个背景下智能家居系统应运而生, 成为了一个发展趋势。通过智能家居系统人们可以将家庭中的家电设备连接到家庭网络中进行集中、实时、远程的监测和控制, 为人们提供智能化的生活方式。

  1、系统总体方案设计及关键技术介绍

  本文设计的系统包括Zig Bee无线传感器网络、智能家庭网关及终端用户三部分, 能够通过对家庭温湿度、灯光及窗帘等的控制来实现家居生活的智能化。系统总体设计框架如图1所示。

系统总体设计框架图

  1.1、总体方案设计

  (1) Zig Bee无线传感器网络

  Zig Bee技术是目前比较流行的短距离双向无线通信技术, 它具有低功耗、低成本及高可靠性等特点。在智能家居系统中利用Zig Bee组建家庭无线传感器网络, 可将家居环境中的设备通过各自的节点连接到智能家居系统中。Zig Bee协调器将获取的网关指令传递给各Zig Bee终端节点, 对家居设备进行信息采集或控制。例如在本系统中, 通过Zig Bee节点可采集家居环境的温湿度, 或通过网关获取终端用户对家居设备的控制命令, 然后再通过网关将收集的家居信息或根据控制命令完成的相应操作及结果反馈给终端用户。

  (2) 智能家庭网关

  家庭网关是智能家居系统的核心部分, 用来采集与处理家居系统中各Zig Bee节点的数据, 并向电脑、智能手机等客户终端发送相应的数据信息, 同时接受客户终端发送的控制命令。本系统网关平台处理器采用三星公司推出的S5PV210嵌入式处理器, 该处理器采用了ARM Cortex-A8内核, 具有超强的运算能力, 能够保证系统即时高效地执行应用程序。通过ARM芯片与网卡芯片实现网关功能, 并进行Linux操作系统和U-boot的移植, 建立根文件系统, 最终实现家居系统的内网与Internet网的连接。

  (3) 终端用户

  由PC机、智能手机、PAD等智能设备组成的终端用户能够通过Internet网实现对家居设备的实时监测和控制, 而且终端操作界面简单, 用户可以轻松实现与家居设备的交互控制功能, 满足用户的需求。本文以PC作为终端用户, 对家居环境和设备进行监测及控制。

  1.2、关键技术

  1.2.1、嵌入式技术

  (1) ARM处理器

  ARM处理器是嵌入式系统的核心部分, 它是为特定工作场合设计的处理器, 具有体积小、功耗小、数据处理快及兼容性好等特征, 适合智能家居系统的设计与开发。

  (2) Linux操作系统

  Linux操作系统是开源软件, 具有强大的二次开发功能和丰富的软件资源, 不仅支持多种硬件平台, 而且在网络服务方面具有高稳定性, 能够针对专用的设备完成特定的功能, 本文结合Linux的灵活性及其网络功能, 搭建Web服务器, 完成家居系统的远程控制功能。

  1.2.2、无线通信技术

  随着无线通信技术的快速发展, 智能家居系统也广泛采用无线网络进行部署。目前比较流行的无线通信技术有红外技术、蓝牙技术、Wi Fi技术以及Zig Bee技术。红外技术容易受到障碍物的阻挡, 蓝牙技术传输距离过短 (大约为10m) , Wi Fi技术相对功耗较高, 相对比而言, Zig Bee技术的高可靠性、低功耗、低成本、短距离 (通常可达到45m左右) 等特性更适合智能家居的环境。

  2、系统硬件设计

  基于ARM处理器的嵌入式智能家居系统的核心部分是家庭网关, 本系统的硬件部分主要包含ARM处理器、Zig Bee协调器、网络通信、串口和LCD显示等模块, 网关硬件结构如图2所示。

网关硬件结构图

  家庭网关平台采用三星公司的S5PV210嵌入式处理器, 该处理器采用64/32位总线结构, 主频高达1GHZ, 运算能力达到2000DMIPS, 同时具有接口多、低功耗、性能高等特征, 能够很好地运行Linux系统, 处理器内部集成的USB控制器、LCD控制器及UART等丰富的内外设资源能够轻松完成系统外部设备的驱动。

  Zig Bee模块采用TI公司的CC2530芯片开发, 该模块以串行通信的方式实现Zig Bee与ARM之间的信息传送。CC2530芯片不仅具有系统可编程闪存, 而且具有多种运行模式, 可以随时从睡眠状态唤醒, 适合低功耗要求的智能家居系统。

  处理器通过LAN9220网卡芯片和RJ-45接口接入互联网, 该芯片不仅支持双工和半双工的工作模式, 而且体积小, 引脚少, 适合智能家居系统等小型系统的设计。

  本文采用DHT22温湿度复合传感器, MQ2气体传感器以及YL-78继电器等实现家居环境的控制。外设通过can总线、spi总线以及USB接口等方式通信, 电灯通过继电器和NPN型三级管来控制;窗帘通过步进电机的旋转角度控制开合程度, 本文采用ULN2003A芯片驱动步进电机的旋转方向及调速;当检测到室内气体超过阈值时继电器将关闭气体阀门;液晶模块采用LCD1602进行显示;复位电路采用功耗小, 稳定性高的MAX811S芯片来实现对处理器供电压和给予处理器复位信号的检测;整个家庭网关的电源采用LM1117-1.2三端集成稳压芯片, 能够为处理器电源提供稳定性高、文波小的电压, 满足整个平台的供电。

  3、系统软件设计

  3.1、嵌入式软件平台的搭建

  嵌入式软件平台的搭建主要包括交叉编译环境的搭建、嵌入式Linux内核移植和Linux根文件系统的移植等。

  3.1.1、交叉编译环境的搭建

  嵌入式智能家居系统中程序的最终运行载体是嵌入式终端, 通常是在PC机上编写程序, 而这些程序不能直接在嵌入式平台上运行, 因此, 在搭建嵌入式软件平台前需要创建一个交叉编译工具[1]。通过该工具的翻译、链接等操作将程序以串口下载工具、USB下载工具等方式烧写到目标嵌入式平台上。嵌入式软件开发环境示意图如图3所示。

嵌入式软件开发环境示意图

  本文使用Vmware11创建一个虚拟机运行在Window7系统上, 并在该虚拟机下安装Fedora10Linux操作系统, 智能家居系统中的相关嵌入式程序都在该系统下进行开发, 以下对本文中的虚拟机资源配置进行简要说明。

  内存:2G;

  硬盘:10G (2个) ;分别用于安装Fedora10 Linux操作系统及系统相关文件;存储智能家居系统开发中设计的相关应用程序及文件;

  虚拟网卡:2个;一个以NAT方式连接, 保证Linux系统和Internet网的连接;一个以Bridged方式连接, 保证和window7系统组建局域网, 方便FTP、NFS等文件传输;

  虚拟USB接口:允许与实际USB接口共用, 但只允许在同一系统下同时使用。

  在搭建交叉编译环境的实际操作中, 首先下载解压系统设计开发所需要的GCC编译器并安装到指定的虚拟机目录下, 然后配置相应的环境变量, 将系统默认的编译器指向相应的GCC编译器。

  3.1.2、嵌入式Linux的移植

  (1) Boot Loader的移植

  Boot Loader在Linux系统内核运行之前运行, 相当于PC机的BIOS, 为系统的正常运行提供相应的引导和加载准备。Boot Loader在系统运行时一般采用加载模式将系统内核通过NAND Flash加载拷贝到ARM中并运行。为适应不同的嵌入式环境, 不同的处理器和外部设备所需的Boot Loader也不太相同, 本文使用一个开源项目U-Boot作为Boot Loader进行移植, U-Boot具有强大的代码可移植性, 在第一次移植时, Boot Loader会在命令模式下将PC机中的相关文件保存到目标机的ARM中, 之后再被烧写到NAND Flash的相应地址中, 而且系统开发后也会根据需求对系统底层软件进行更新[2]。移植步骤如下:

  (1) 下载U-Boot源码包u-boot.tar.bz2拷贝到虚拟机中并解压。

  (2) 配置U-Boot, 执行#make S5PV210_config命令, 修改U-Boot目录中的Makefile文件, 制定交叉编译器、CPU架构等。

  (3) 修改配置文件, 添加U-Boot对NAND Flash、LAN9220网卡芯片等设备的支持。

  (4) 编译U-Boot源代码, 执行#make ARCH=arm CROSS_COMPILE=arm-linux-, 生成u-boot.bin二进制镜像文件。

  (5) 将编译成功的镜像文件通过JTAG接口烧写到NAND Flash的制定地址中, 完成U-Boot的移植工作。

  (2) 嵌入式Linux内核的移植

  嵌入式操作系统平台的核心是Linux内核, 具有虚拟内存、共享库、多任务及可执行程序等功能。Linux内核不仅能通过编程管理和接口操作实现对系统底层各接口部件的管理, 而且其核心代码由C语言编写, 具有良好的可移植性, 能够提供高级的应用程序执行环境。Linux作为开源操作系统, 其内核源文件数目已超过2万, 源码也已超过1000万行, 随着系统的更新会继续增加, 而嵌入式操作系统和硬件设备紧密相关, 对于不同的硬件平台, 其上运行的操作系统的内核也是不相关的, 需要根据具体的硬件平台对Linux的内核源码进行有选择性的裁剪, 删除不用的功能和模块, 加入或移植平台所需的硬件驱动[3]。本文采用Linux 2.6.35版本内核, 移植步骤如下:

  (1) 下载并解压Linux-2.6.35.tar.gz源码包到指定用户目录,

  #tar zxvf linux-2.6.35.tar.gz

  #cd linux-2.6.35

  (2) 修改目录下的Makefile文件, 指定硬件的架构以及交叉编译器等。

  (3) 配置内核, 执行#make menuconfig ARCH=arm命令, 打开Linux内核配置界面, 根据硬件平台的具体情况对相应的驱动程序进行添加或删除, 并对其他一些相关选项进行设置。

  (4) 复制U-Boot源代码下tools目录中的mkimage文件到Linux虚拟机中的bin目录中。

  (5) 对配置好的Linux内核进行编译, 执行#make u Image ARCH=arm CROSS_COMPILE=arm-linux-命令。

  编译成功后, 会在/Linux-2.6.35/arch/arm/boot目录下生成Linux内核的镜像文件即uimage文件, 完成对Linux内核的移植。

  3.1.3、Linux根文件系统的移植

  根文件系统是Linux系统启动时挂载的第一个系统, 它的作用非常重要, 包含了启动Linux系统所需要的目录以及关键性的文件, 内核代码的映像文件也是保存在根文件系统中[4]。当Linux根文件系统成功挂载后, Boot Loader会将一些基本的初始化脚本和服务加载到内存中, 同时根文件目录被挂载到“/”下后, 根目录下就会有/bin、/dev、/usr等各子目录。Linux支持多种文件系统类型, 常用的存储文件系统类型有cramfs、jffs2、yaffs等, 其中yaffs是专门针对NAND Flash设计的嵌入式文件系统, 目前有yaffs1和yaffs2两个版本, 其中后者比前者支持更大容量的NAND Flash芯片, 本文采用yaffs2文件系统进行移植, 移植过程如下: (1) 创建根文件系统目录。在Linux虚拟机的/home目录下创建根文件系统目录rootfs, 并在该目录下创建所需要的各个子目录。

  (2) 编译Busy Box。Busy Box是一个集成了上百种常用Linux命令和工具的软件, 不仅功能丰富, 而且占用空间很少。对Busy Box的编译首先需要到其官网上下载并解压Busy Box源代码;其次进入源码目录, 通过对Makefile文件的修改来指定处理器架构及交叉编译器;最后进入到图形化配置界面实现对其配置。

  (3) 制作文件系统。在dev目录中创建主设备节点和从设备节点, 为系统串口和其他设备使用;进入etc目录, 添加并配置文件, 然后制作文件系统映像, 并将其烧录到ARM中, 至此, Linux系统全部烧写完毕。

  3.2、嵌入式Web服务器的搭建

  为方便用户对家居环境中网络设备状态的了解及控制, 智能家居系统允许用户通过网络访问系统的网关设备。这就要求网关能够作为一个Web服务器, 不但能接受远程的网络请求, 进行数据分析和处理, 而且能收集家居设备的信息状态及时反馈给用户[5]。基于Linux嵌入式系统的特征, 本文采用具有体积小、性能高、速度快等优势的Boa服务器来提供网络服务。嵌入式Web服务器的结构如图4所示, Boa的编译与移植过程如下:

Boa的编译与移植过程

  (1) 下载boa源码包boa-0.94.13.tar.gz, 并将其拷贝到Linux的/home目录下进行解压。

  (2) 进入到src子目录中, 执行./configure命令生成Makefile配置文件, 为使其能在Linux系统中正常运行, 需要修改Makefile配置文件, 将CC=gcc CPP=gcc-E修改为CC=arm-linux-gcc CPP=armlinux-gcc-E, 然后通过make命令进行编译, 得到Boa可执行程序。

  (3) 在Linux根文件系统中建立相关子目录, 拷贝boa.config到相应目录中, 并在boa.config文件里配置boa, 使其能够支持CGI程序的运行。

  (4) 将boa可执行文件拷贝到根文件系统中的/bin目录中, 在终端中运行/bin/boa命令, 就可运行Boa, 用户在浏览器中输入http:// (开发板IP) : (端口号) 就可访问Boa服务器。

  4、测试

  4.1、远程访问测试

  本测试在局域网中进行。首先, 设置PC和网关的IP地址在同一网段内, 分别为192.168.1.14和192.168.1.17, 然后, 在PC上执行>ping192.168.1.1, 在网关终端执行#ping192.168.1.17, 回车后如果两边都能ping通, 则说明网络能连通。用户通过浏览器输入地址, 回车后即可打开智能家居系统登录界面。通过注册用户, 可以登录到智能家居系统中, 图5、图6分别是智能家居系统的灯光控制和温湿度控制界面。通过灯光控制界面中的按钮可以控制家居灯光的开关, 环境监测界面可以看到传感器采集的环境信息, 每隔1秒刷新1次。

界面演示

  4.2、性能测试

  (1) 系统功耗测试。本系统中网关采用5V开关电源, 通过万用表多次测量得出电源接口的平均电流大小为450m A, 网关的平均功率为2.15W, 符合系统的低功率需求。

  (2) 系统响应速度。分别在20m、50m、100m三个距离进行通信测试, 浏览器到终端节点做出的响应时间基本没有较大延迟。

  (3) 丢包率测试。通过Internet对智能家居系统的多次长时间访问得出的结果来看, 当Zig Bee终端节点距离协调器的距离在20m之内时, 基本无丢包现象, 当该距离超过50m后丢包的现象也是偶尔出现。

  5、总结

  本文构建了智能家居系统的总体架构, 且从系统的软硬件方面进行详细的设计并进行性能测试, 达到了预期设计的目标, 用户能够通过Internet实现对家居环境的控制, 具有一定的实用价值。在以后的研究中可以通过嵌入式Web服务器添加家庭办公、空气置换等服务, 进一步提高家居系统的服务功能。

  参考文献
  [1]孙泽鸿, 关维国, 刘志建.基于Cortex_A8的智能云家居Web控制系统设计[J].微电子学与计算机, 2016, 33 (7) :159-168.
  [2]刘显强.基于嵌入式无线传输文件系统的研究与设计[D].成都:电子科技大学, 2012.
  [3]冯开林, 刘春艳, 韩东旭.基于S3C2440平台搭建linux环境[J].通信技术, 2013, 46 (11) :120-123.
  [4]董萍.基于nRF2401A的家庭智能系统的设计与实现[J].武汉轻工大学学报, 2015, 34 (2) :87-91.
  [5]尹然然.基于嵌入式Web的智能家居远程控制系统[J].合肥师范学院学报, 2016, 34 (3) :35-37.

相关内容
相关标签:Linux毕业设计
好优论文定制中心主要为您提供代做毕业设计及各专业毕业论文写作辅导服务。 网站地图
所有论文、资料均源于网上的共享资源以及一些期刊杂志,所有论文仅免费供网友间相互学习交流之用,请特别注意勿做其他非法用途。
如有侵犯您的版权或其他有损您利益的行为,请联系指出,论文定制中心会立即进行改正或删除有关内容!