ImageVerifierCode 换一换
格式:DOCX , 页数:63 ,大小:2.59MB ,
资源ID:9860599      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9860599.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于物联网技术的智能家居嵌入式系统设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于物联网技术的智能家居嵌入式系统设计.docx

1、基于物联网技术的智能家居嵌入式系统设计基于物联网技术的智能家居嵌入式系统设计摘 要从上世纪的住宅电子化、住宅自动化到今天的住宅智能化,基于物联网技术的智能家居正逐步融入到我们的生活当中来。作为嵌入式Linux系统设计的一个典型应用,智能家居是融合自动化控制系统、网络通信系统于一体的网络化、智能化家居控制系统。基于物联网的智能家居嵌入式系统设计,主要分为三个子系统,即前端数据采集子系统、终端服务器子系统、上位机反控子系统。前端数据采集子系统,主要负责实时数据采集与传输,包括温度数据、湿度数据、时钟数据,与终端服务器子系统通过串口进行单工通信,其中包括单片机主控制处理模块、温度采集模块、时钟采集模

2、块、报警模块、电平转换模块等。终端服务器子系统,主要负责实时数据存储与传输,即存储从前端采集模子系统收到的实时数据,传输独立采集数据,其搭载的BOA服务器可以进行远程浏览访问控制,包括前台界面、后台控制模块、智能家居控制模块等,另外,也可以进行独立数据采集以及传输。上位机反控子系统,主要负责数据存储备份以及网络数据远程访问控制。解析由终端服务器传输来的实时数据,同步显示在上位机界面上,另外可以通过浏览器远程访问控制搭载在终端服务器上的BOA服务器,实现智能家居远程访问控制。关键词 物联网 嵌入式系统 智能家居Design of Intelligent Home Embedded System

3、Based on Internet of ThingsABSTRACTFrom the last centurys electronic home and automation home, intelligent home based on Internet technology is gradually coming into our lives. As a typical application of the embedded Linux system, the intelligent home is networking and intelligent home control syst

4、em which integrated automated control systems and network communication systems. The intelligent home embedded system based on Internet of Things is mainly designed to be three subsystems. They are namely the front data acquisition subsystem, terminal server subsystem, host computer anti-control sub

5、system.The front data acquisition subsystem mainly realized data acquisition and transmission which include temperature data, humidity and clock. It simplex communicated with terminal server subsystem through serial port. This subsystem includes a microcontroller master control processing module, te

6、mperature acquisition module, clock acquisition module, alarm module, level conversion module.Terminal server subsystem mainly realized storage and transmission. The process stored real-time data received from front acquisition subsystem and transmitted to host computer anti-control subsystem. We ca

7、n remotely browse and control the BOA server equipped in this subsystem which includes the front interface module, the background control module, intelligent home control module. It can also separately carry out data collection and transmission. Host computer anti-control subsystem mainly realized d

8、ata storage backup and network data remote access control. It synchronously displayed on interface by analyzing real time data transmission from terminal server. Besides, it can also remotely access and control BOA server through a web browser. So realize the remote access and control of intelligent

9、 home.KEYWORDS Internet of Things, embedded system, intelligent home图目录表目录缩略词表英文缩写英文全称对应中文BOA蛇,引申为单任务HTTP服务器ADSLAsymmetric Digital Subscriber Line非对称数字用户环路ARMAdvanced RISC Machines高级精简指令集制造公司AVRA与V先生共同研究的RISC精简指令集高速8位单片机CGICommon Gateway Interface通用网关接口CMOSComplementary Metal Oxide Semiconductor互补金属

10、氧化物半导体COMCommunication Port 串口CPUCentralProcessingUnit中央处理器CRCCyclical Redundancy Check循环冗余码校验DBDefineByte定义字节DSData Segment Register数据段寄存器GISGeographic Information System地理信息系统GNDGround地线或零线GNOMEThe GNU Network Object Model EnvironmentGNU网络对象模型环境GNUGNUs Not Unix引申为自由的软件GPGGAGlobal Positioning Syste

11、m Fix DataGPS系统固定数据GPRMCRecommended Minimum Specific GPS/TRANSIT Data建议使用最小GPS数据格式GPSGlobal Positioning System全球定位系统GRUBGRand Unified Bootloader多重操作系统启动管理器GUIGraphical User Interface图形用户接口HAHome Automation住宅自动化HEHomen Electronics住宅电子化HIHome Intelligent住宅智能化HTMLHypertext Markup Language超文本标记语言I/Oinpu

12、t/output输入输出端口I2CInterIntegrated Circuit内部整合电路ICIntegrated Circuit集成电路IPInternet Protocol网络之间互联的协议KDEKool Desktop EnvironmentK桌面环境LCDLiquid Crystal Display液晶显示器LEDLight Emitting Diode发光二级管LILOLinux LoaderLinux加载程序MCSMicrocontroller System微控制系统MIMEMultipurpose Internet Mail Extensions多用途网际邮件扩充协议MJPEG

13、Motion Joint Photographic Experts Group运动联合图像专家小组PCPersonal Computer个人计算机PNGPortable Network Graphic Format可移植的网络图像格式QTEQuickTimeEvent快速反应事件RAMRandom Access Memory随机存储器RISCReducedInstructionSetComputer精简指令集计算机ROMRead-Only Memory只读存储器RSRecommended Standard推荐标准RXReceive接收SDSecure Digital Memory Card安全

14、数码卡SPISerial Peripheral Interface串行外设接口STMSynchronous Transfer Module同步传输模式TCPTransmission Control Protocol传输控制协议TTLTime To Live生存时间TXTransmit传送UARTUniversal Asynchronous Receiver/Transmitter通用异步接收/发送装置UDPUser Datagram Protocol用户数据包协议USBUniversal Serial Bus通用串口总线UVCUSB Video ClassUSB视频类别VCCVolt Curr

15、ent Condenser电源第 1 章 绪 论从20世纪80年代初,家用电器开始采用电子工艺技术,住宅电子化概念(HE,Homen Electronics)逐渐出现在人们的视野当中。到90年代中期,将家用电器、网络设备、家庭安防设备等各自独立的系统整合为一体后,人们进入到了住宅自动化HA,Home Automation)的时代。而进入到21世纪,随着电子工艺技术的革新,信息技术的迅猛发展,嵌入式设备以崭新的面孔出现在人们的生活中,它将网络设备、家电设备、安保设备通过主控制器进行控制、管理,即现如今的住宅智能化(HI,Home Intelligent),也就是智能家居的雏形。智能家居,即通过物

16、联网技术整合自动化控制系统、计算机通信系统于一体的网络化、智能化家居控制系统。智能家居能够让用户使用更加便捷、人性化的方式来控制管理家用电器,比如,通过触摸屏、遥控器、电话、互联网等控制家用设备;另一方面,智能家居内的各种设备相互间可以通讯,不需要用户指挥也能根据不同的状态互动运行,从而给用户带来最大程度的高效、便利、舒适与安全。智能家居系统一般主要包括:智能家居(中央)控制管理系统、灯光控制系统、家庭安防系统、家居布线系统、家庭网络系统、背景音乐控制系统、家庭多媒体系统、家庭环境控制系统等八大子系统1。其中,智能家居(中央)控制管理系统、家居照明控制系统、家庭安防系统是其必备系统。而基于物联

17、网的智能家居嵌入式系统设计,正是智能家居系统的一个简单缩影,在三大必备系统的基础之上,参考增加了背景音乐控制系统、家庭网络系统等功能模块。下面是系统的整体架构框图,如图 11所示。图 11 系统整体架构框图基于S3C2440的智能家居嵌入式系统,整个系统分为三个子系统,即前端数据采集子系统、终端服务器子系统、上位机反控子系统。其中前端数据采集子系统主要负责实时数据采集与传输,与终端服务器子系统通过串口或者I2C进行单工通信;终端服务器子系统负责实时数据存储与传输,其搭载的嵌入式BOA服务器可以通过网络浏览器进行远程访问控制,并且该子系统也可以进行独立数据采集传输;上位机反控子系统负责数据存储与

18、备份,另外可以通过网络进行远程访问控制。第 2 章 嵌入式系统环境搭建一般嵌入式Linux系统主要包括以下几个部分1:(1) 引导加载程序:其中包括内部ROM中的固化启动代码和Bootloader两部分。固化启动代码是厂家生产芯片时固化在ROM中的,其主要作用是引导Bootloader;而Bootloader是用来初始化硬件环境,加载Linux内核。(2) Linux内核:通过Bootloader传递内核参数来引导加载内核。(3) 文件系统:包括根文件系统和建立在Flash设备上的其他文件系统,包含了Linux系统能够运行所必需的应用程序、库文件等,比如用户操作Linux的控制界面shell程

19、序、动态链接的程序运行时所需要的glibc等。(4) 用户应用程序:用户自定义的应用程序,它们也存储在文件系统当中,当然在用户应用程序以及内核层之间还可能包含嵌入式用户界面GUI。嵌入式Linux系统的典型架构,如图 21所示。图 21 嵌入式Linux系统中的典型分区结构根据上述嵌入式Linux系统的结构组成,基于物联网的智能家居嵌入式系统的设计,需要构建嵌入式系统开发环境,这其中包括Bootloader的移植、Linux内核裁剪、Rootfs根文件系统制作、QT4 GUI的移植、Sqlite3嵌入式数据库的移植、Boa嵌入式服务器的搭载等。2.1 Bootloader的移植Bootload

20、er是在操作系统内核启动之前运行的一段小程序,通过这段程序,可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备一个正确的环境,然后从别处(比如Flash、NET、SD卡等)引导Linux内核映像文件,最终加载Linux内核,启动Linux系统。现如今,bootloader的种类非常多,一般比较常用的bootloader1,在x86架构上有GRUB、LILO等,而在ARM架构上则有Vivi、U_Boot等,其适用性如表 21所示。从表中可以看出,U_boot对各种平台的支持性比较好,事实上,U_boot是遵循GNU条款的开放源代码项目,可以引导多种操作系

21、统、支持多种架构的CPU,比如ARM、X86、PowerPC等。支持多种操作系统,比如Linux、NetBSD、VxWorks、Windows等。表 21 bootloader的分类Bootloader描述 X86 ARM PowerPCVivi针对三星的引导程序 否 是 否 U_Boot 通用引导程序 是 是 是 LILO Linux磁盘引导程序 是 否 否 GRUBGNU的LILO替代程序 是 否 否但是,U_Boot一直以来都没有支持S3C2440,移植U_Boot仍是使用SBC2410的文件作为蓝本,主要针对S3C2440与S3C2410的不同,以及SBC2410与Micro440外设

22、的不同来做相应的调整与修改,并增加新的功能特性。S3C2440与S3C2410的主要区别是22440的主频更高,在接口方面,增加了摄像头接口和AC97音频接口,在寄存器方面,NAND FLASH控制寄存器有较大变化,另外,芯片的时钟控制寄存器也有一定的变化,其他寄存器是兼容的。下面是Bootloader移植的简要步骤:步骤一:修改顶层Makefile,定义交叉编译工具链和开发板配置选项,在/board目录中建立开发板micro2440目录,并拷贝复制sbc2410x的文件到此,并作适当修改;步骤二:测试编译环境,对出现的错误进行相应的调整修改。如果测试编译通过,说明编译环境的基本的开发板代码没

23、有问题,由于编译的蓝本是基于SBC2410的,接下来的工作主要是按照代码的执行流程来针对mico2440做相应的修改;步骤三:进入/cpu/arm920t/start.S初始化代码,针对CPU频率的不同修改初始化设置,针对寄存器配置的不同,作相应的调整与修改;步骤四:在UBoot启动的其一阶段,初始化Nand Flash控制器,起到代码重定向的作用,但是在第二阶段的start_armboot函数还是需要再次初始化Nand Flash控制器,真正启动U_boot,2410与2440 Nand Flash控制器上的寄存器和启动流程差别很大,需要修改Nand Flash底层驱动代码。接下来增加对ya

24、ffs2文件系统的支持,对网络协议、串口传输等作相应的修改;步骤五:根据配置文件,重新编译移植。2.2 Linux内核裁剪相比于Linux2.4内核,2.6内核支持更多的平台架构,采用新的调度算法,使进程间的切换更加高效。而基于物联网的的智能家居嵌入式系统则是在Linux2.6.32的基础上裁剪移植的。在虚拟机下建立内核源码树,对于ARM架构的S3C2440,与其体系相关的内核代码在arch/arm目录下,在后面相关的移植裁剪工作,也主要是针对此目录下的文件。对于ARM架构,通过缺省配置内核,在顶层目录下执行命令make menuconfig,选择支持的平台S3C2410进行相应的配置,同样在

25、顶层目录下执行命令make zImage,编译内核,在arch/arm/boot目录下生成相应的内核映像文件zImage。下面主要是针对与平台相关的驱动,手工定制Linux内核。(1) 主配制菜单界面,如图 22所示。图 22 主配置菜单界面(2) LCD驱动配置界面在主菜单界面,进入Device Drivers-Graphic Support-LCD Select 选择如图 23所示的LCD型号支持。图 23 LCD驱动配置界面(3) 触摸屏驱动配置界面在主菜单界面,进入Device Drivers-Input device Support-Touchscreens 选择如图 24所示的触摸

26、屏配置支持。图 24 触摸屏驱动配置界面(4) USB鼠标键盘配置界面在主菜单界面,进入Device Drivers-HID Device- USB Device选择如图 25所示的USB鼠标键盘配置支持。(5) USB摄像头驱动配置界面在主菜单界面,进入Device Drivers-Multimedia device-Video capture adaptersV4L USB device选择如图 26所示的USB摄像头配置支持。图 25 USB鼠标键盘配置界面图 26 USB摄像头驱动配置界面(6) DM9000网卡驱动配置界面在主菜单界面,进入Networking Support-Net

27、working Options,缺省配置一般网络支持,比如TCP等,进入Device Drivers-Network Device support-Ethernet(10M or 100M)选择如图 27所示的网卡驱动配置支持。(7) AC97音频驱动配置界面在主菜单界面,进入Device Drivers-Sound card support -Advanced Linux Sound Architecture选择如图 28所示的音频驱动配置支持。图 27 DM9000网卡驱动配置界面图 28 AC97音频驱动配置界面(8) 串口驱动配置界面在主菜单界面,进入Character devices

28、-Serial drivers选择如图 29所示的串口配置支持。(9) 文件系统配置界面在主菜单界面,进入File systems-Miscellaneous filesystems选择如图 210所示的yaffs2支持。进入File systems-Network filesystem,选择如图 211所示的NFS文件系统支持。图 29 串口驱动配置界面图 210 yaffs2文件系统配置界面图 211 nfs文件系统配置界面2.3 根文件系统制作区别于Windows系统,Linux中并没有C、D、E等盘符的概念,它是以树状形式来组织管理所有目录、文件的,而其他分区则是以挂载的形式挂接在某个

29、目录上,然后通过访问目录来访问相应分区上的文件。事实上根文件系统就是被挂载在目录“/”上,在根文件系统目录下又有其相应的各个目录、文件,比如/etc、/mnt、/dev、/lib等,其他分区挂载在/mnt目录下,比如CDRom等。每一个分区上的文件需要遵循一定的文件系统类型,比如常见的yaffs、ntfs、fat32、ext3等。实际上,除了这几种确实存储在存储分区上的文件系统类型以外,Linux还有几种虚拟的文件系统,比如sysfs、proc等,与实际存在的文件系统区别是,他们的目录文件并不存储在实际的存储设备上,而是在访问时由内核临时动态生成。嵌入式Linux系统,在由U_boot引导内核

30、之后,需要加载根文件系统,而所谓的根文件系统,是根据需要专门定制后移植到嵌入式开发板上的。实际上,制作根文件系统,就是按照需要创建各种目录,并在里面存放需要的文件,比如在/etc目录下存放系统配置文件,在/lib目录下存放系统库文件,在/dev目录下存放设备节点文件,在/sbin、/bin目录下存放可执行文件等。在虚拟机下编辑执行脚本程序rootfs .sh,完成根文件系统目录的创建工作,完善最小根文件系统,其中包括/bin、/dev、/lib等。使用BusyBox工具创建嵌入式根文件系统/bin、/sbin目录下的可执行文件,另外在/dev目录下创建必要的设备节点,在/lib目录下创建必要的

31、动态链接库,在/etc目录下创建必要的配置文件,在/dev目录下创建必要的配置文件等。类似于裁剪Linux内核,解压源码包进入相应目录后,执行make menuconfig命令即可进入相应的配置界面。包含各个配置选项,如核心命令Coreutils、控制台相关命令Console Utilities、网络方面的命令Networking Utilities、进程相关的命令Process Utilities等。(1) 主配置菜单界面,如图 212所示。(2) 压缩、解压缩工具命令配置界面在主配置菜单界面,选择Archival Utilities选项,进入如图 213所示的压缩、解压缩工具命令配置界面。图 212 busybox主配置界面

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1