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

上传人:b****5 文档编号:29757108 上传时间:2023-07-26 格式:DOCX 页数:72 大小:2.60MB
下载 相关 举报
基于物联网技术的智能家居嵌入式系统设计本科设计.docx_第1页
第1页 / 共72页
基于物联网技术的智能家居嵌入式系统设计本科设计.docx_第2页
第2页 / 共72页
基于物联网技术的智能家居嵌入式系统设计本科设计.docx_第3页
第3页 / 共72页
基于物联网技术的智能家居嵌入式系统设计本科设计.docx_第4页
第4页 / 共72页
基于物联网技术的智能家居嵌入式系统设计本科设计.docx_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

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

《基于物联网技术的智能家居嵌入式系统设计本科设计.docx》由会员分享,可在线阅读,更多相关《基于物联网技术的智能家居嵌入式系统设计本科设计.docx(72页珍藏版)》请在冰豆网上搜索。

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

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

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

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

摘要

从上世纪的住宅电子化、住宅自动化到今天的住宅智能化,基于物联网技术的智能家居正逐步融入到我们的生活当中来。

作为嵌入式Linux系统设计的一个典型应用,智能家居是融合自动化控制系统、网络通信系统于一体的网络化、智能化家居控制系统。

基于物联网的智能家居嵌入式系统设计,主要分为三个子系统,即前端数据采集子系统、终端服务器子系统、上位机反控子系统。

前端数据采集子系统,主要负责实时数据采集与传输,包括温度数据、湿度数据、时钟数据,与终端服务器子系统通过串口进行单工通信,其中包括单片机主控制处理模块、温度采集模块、时钟采集模块、报警模块、电平转换模块等。

终端服务器子系统,主要负责实时数据存储与传输,即存储从前端采集模子系统收到的实时数据,传输独立采集数据,其搭载的BOA服务器可以进行远程浏览访问控制,包括前台界面、后台控制模块、智能家居控制模块等,另外,也可以进行独立数据采集以及传输。

上位机反控子系统,主要负责数据存储备份以及网络数据远程访问控制。

解析由终端服务器传输来的实时数据,同步显示在上位机界面上,另外可以通过浏览器远程访问控制搭载在终端服务器上的BOA服务器,实现智能家居远程访问控制。

关键词物联网嵌入式系统智能家居

DesignofIntelligentHomeEmbeddedSystemBasedonInternetofThings

ABSTRACT

Fromthelastcentury’selectronichomeandautomationhome,intelligenthomebasedonInternettechnologyisgraduallycomingintoourlives.AsatypicalapplicationoftheembeddedLinuxsystem,theintelligenthomeisnetworkingandintelligenthomecontrolsystemwhichintegratedautomatedcontrolsystemsandnetworkcommunicationsystems.

TheintelligenthomeembeddedsystembasedonInternetofThingsismainlydesignedtobethreesubsystems.Theyarenamelythefrontdataacquisitionsubsystem,terminalserversubsystem,hostcomputeranti-controlsubsystem.

Thefrontdataacquisitionsubsystemmainlyrealizeddataacquisitionandtransmissionwhichincludetemperaturedata,humidityandclock.Itsimplexcommunicatedwithterminalserversubsystemthroughserialport.Thissubsystemincludesamicrocontrollermastercontrolprocessingmodule,temperatureacquisitionmodule,clockacquisitionmodule,alarmmodule,levelconversionmodule.

Terminalserversubsystemmainlyrealizedstorageandtransmission.Theprocessstoredreal-timedatareceivedfromfrontacquisitionsubsystemandtransmittedtohostcomputeranti-controlsubsystem.WecanremotelybrowseandcontroltheBOAserverequippedinthissubsystemwhichincludesthefrontinterfacemodule,thebackgroundcontrolmodule,intelligenthomecontrolmodule.Itcanalsoseparatelycarryoutdatacollectionandtransmission.

Hostcomputeranti-controlsubsystemmainlyrealizeddatastoragebackupandnetworkdataremoteaccesscontrol.Itsynchronouslydisplayedoninterfacebyanalyzingrealtimedatatransmissionfromterminalserver.Besides,itcanalsoremotelyaccessandcontrolBOAserverthroughawebbrowser.Sorealizetheremoteaccessandcontrolofintelligenthome.

KEYWORDSInternetofThings,embeddedsystem,intelligenthome

摘要I

ABSTRACTII

目录III

图目录V

表目录VII

缩略词表VIII

第1章绪论1

第2章嵌入式系统环境搭建3

2.1Bootloader的移植3

2.2Linux内核裁剪5

2.3根文件系统制作10

2.4嵌入式GUI移植14

2.5嵌入式数据库sqlite3的移植17

2.6嵌入式BOA服务器的移植18

第3章前端数据采集子系统20

3.1单片机主控制处理模块20

3.2温度采集模块22

3.3时钟采集模块23

3.4电平转换模块25

3.5报警电路模块26

第4章终端服务器子系统27

4.1主控制模块27

4.2GPS数据采集模块29

4.3人体红外感应模块31

4.4前台界面模块32

4.5电源模块34

4.5.1+5V电源供电34

4.5.2+12、-12V电源供电35

4.5.3+3.3V电源供电35

4.6路由器端口映射36

第5章上位机反控子系统38

5.1背景音乐控制模块38

5.2USB/CMOS摄像头控制模块40

5.3智能家居控制模块41

5.4上位机界面41

5.5网页界面42

5.6循环冗余CRC校验算法44

第6章智能家居系统测试45

6.1前端实时数据采集测试报告45

6.2终端服务器配置测试报告45

6.3网络浏览反控测试报告47

6.4智能家居系统压力测试报告47

6.5上位机实时数据测试报告48

第7章智能家居系统问题与持续改进49

7.1内存泄漏问题的改进49

7.2系统代码的重构以及优化49

7.3系统硬件电路设计的问题49

7.4系统软件架构的问题50

第8章智能家居系统未来畅想51

8.1一键式遥控功能51

8.2集中控制处理功能51

8.3网络反向控制功能51

8.4电话远程控制功能51

8.5家居综合布线功能52

第9章总结53

参考文献54

图目录

图11系统整体架构框图1

图21嵌入式Linux系统中的典型分区结构3

图22主配置菜单界面5

图23LCD驱动配置界面6

图24触摸屏驱动配置界面6

图25USB鼠标键盘配置界面7

图26USB摄像头驱动配置界面7

图27DM9000网卡驱动配置界面8

图28AC97音频驱动配置界面8

图29串口驱动配置界面9

图210yaffs2文件系统配置界面9

图211nfs文件系统配置界面9

图212busybox主配置界面11

图213压缩、解压缩工具命令ArchivalUtilities11

图214核心命令CoreUtilities12

图215控制台相关命令ConsoleUtilities12

图216编辑相关命令EditorUtilities13

图217网络相关命令NetworkingUtilities13

图218进程相关命令ProcessUtilities13

图31前端数据采集子系统架构框图20

图32前端数据采集子系统流程框图21

图33单片机最小系统电路图22

图34DS18B20温度寄存器格式22

图35DS18B20数值样例22

图36DS18B20读写0时隙23

图37DS18B20读写1时隙24

图38DS18B20复位时序24

图39DS1302寄存器地址24

图310DS1302读写时序25

图311max232电平转换电路25

图312KD9561集成芯片26

图41终端服务器子系统架构框图27

图42终端服务器子系统架构框图28

图43通讯包结构组成29

图44人体红外感应范围示意图31

图45人体红红外感应触发方式示意图31

图46登录窗体对话框32

图47数据曲线对话框33

图48软键盘33

图49系统状态34

图410A型B型USB接口的外观图35

图411双12V稳压电源电路图35

图412+3.3V稳压电源36

图413路由器转发规则配置37

图414路由器虚拟服务器配置37

图51上位机反控子系统架构框图38

图52上位机反控子系统程序流程框图39

图53背景音乐及摄像头控制模块40

图54智能家居控制模块41

图55上位机界面42

图56网页界面

(一)42

图57网页界面

(二)43

图58网页界面(三)43

图61前端数据采集测试45

图62串口管理对话框测试46

图63用户管理对话框测试46

图64通讯管理对话框测试47

图65网页界面测试

(一)47

图66网页界面测试

(二)48

图67上位机界面测试48

表目录

表21bootloader的分类4

表41通讯包结构组成说明29

表42GPRMC定位信息说明30

表43GPGGA定位信息说明30

缩略词表

英文缩写

英文全称

对应中文

BOA

蛇,引申为单任务HTTP服务器

ADSL

AsymmetricDigitalSubscriberLine

非对称数字用户环路

ARM

AdvancedRISCMachines

高级精简指令集制造公司

AVR

A与V先生共同研究的RISC精简指令集高速8位单片机

CGI

CommonGatewayInterface

通用网关接口

CMOS

ComplementaryMetalOxideSemiconductor

互补金属氧化物半导体

COM

CommunicationPort

串口

CPU

Central Processing Unit

中央处理器

CRC

CyclicalRedundancyCheck

循环冗余码校验

DB

Define Byte

定义字节

DS

DataSegmentRegister

数据段寄存器

GIS

GeographicInformationSystem

地理信息系统

GND

Ground

地线或零线

GNOME

TheGNUNetworkObjectModelEnvironment

GNU网络对象模型环境

GNU

GNU'sNotUnix

引申为自由的软件

GPGGA

GlobalPositioningSystemFixData

GPS系统固定数据

GPRMC

RecommendedMinimumSpecificGPS/TRANSITData

建议使用最小GPS数据格式

GPS

GlobalPositioningSystem

全球定位系统

GRUB

GRandUnifiedBootloader

多重操作系统启动管理器

GUI

GraphicalUserInterface

图形用户接口

HA

HomeAutomation

住宅自动化

HE

HomenElectronics

住宅电子化

HI

HomeIntelligent

住宅智能化

HTML

HypertextMarkupLanguage

超文本标记语言

I/O

input/output

输入输出端口

I2C

Inter-IntegratedCircuit

内部整合电路

IC

IntegratedCircuit

集成电路

IP

InternetProtocol

网络之间互联的协议

KDE

KoolDesktopEnvironment

K桌面环境

LCD

LiquidCrystalDisplay

液晶显示器

LED

 LightEmittingDiode

发光二级管

LILO

LinuxLoader

Linux加载程序

MCS

MicrocontrollerSystem

微控制系统

MIME

MultipurposeInternetMailExtensions

多用途网际邮件扩充协议

MJPEG

MotionJointPhotographicExpertsGroup

运动联合图像专家小组

PC

PersonalComputer

个人计算机

PNG

PortableNetworkGraphicFormat

可移植的网络图像格式

QTE

Quick Time Event

快速反应事件

RAM

RandomAccessMemory

随机存储器

RISC

Reduced Instruction Set Computer

精简指令集计算机

ROM

Read-OnlyMemory

只读存储器

RS

RecommendedStandard

推荐标准

RX

Receive

接收

SD

SecureDigitalMemoryCard

安全数码卡

SPI

SerialPeripheralInterface

串行外设接口

STM

SynchronousTransferModule

同步传输模式

TCP

TransmissionControlProtocol 

传输控制协议

TTL

TimeToLive 

生存时间

TX

Transmit

传送

UART

UniversalAsynchronousReceiver/Transmitter

通用异步接收/发送装置

UDP

UserDatagramProtocol

用户数据包协议

USB

UniversalSerialBus

通用串口总线

UVC

USBVideoClass

USB视频类别

VCC

VoltCurrentCondenser

电源

 

第1章绪论

从20世纪80年代初,家用电器开始采用电子工艺技术,住宅电子化概念(HE,HomenElectronics)逐渐出现在人们的视野当中。

到90年代中期,将家用电器、网络设备、家庭安防设备等各自独立的系统整合为一体后,人们进入到了住宅自动化HA,HomeAutomation)的时代。

而进入到21世纪,随着电子工艺技术的革新,信息技术的迅猛发展,嵌入式设备以崭新的面孔出现在人们的生活中,它将网络设备、家电设备、安保设备通过主控制器进行控制、管理,即现如今的住宅智能化(HI,HomeIntelligent),也就是智能家居的雏形。

智能家居,即通过物联网技术整合自动化控制系统、计算机通信系统于一体的网络化、智能化家居控制系统。

智能家居能够让用户使用更加便捷、人性化的方式来控制管理家用电器,比如,通过触摸屏、遥控器、电话、互联网等控制家用设备;另一方面,智能家居内的各种设备相互间可以通讯,不需要用户指挥也能根据不同的状态互动运行,从而给用户带来最大程度的高效、便利、舒适与安全。

智能家居系统一般主要包括:

智能家居(中央)控制管理系统、灯光控制系统、家庭安防系统、家居布线系统、家庭网络系统、背景音乐控制系统、家庭多媒体系统、家庭环境控制系统等八大子系统[1]。

其中,智能家居(中央)控制管理系统、家居照明控制系统、家庭安防系统是其必备系统。

而基于物联网的智能家居嵌入式系统设计,正是智能家居系统的一个简单缩影,在三大必备系统的基础之上,参考增加了背景音乐控制系统、家庭网络系统等功能模块。

下面是系统的整体架构框图,如图11所示。

图11系统整体架构框图

基于S3C2440的智能家居嵌入式系统,整个系统分为三个子系统,即前端数据采集子系统、终端服务器子系统、上位机反控子系统。

其中前端数据采集子系统主要负责实时数据采集与传输,与终端服务器子系统通过串口或者I2C进行单工通信;终端服务器子系统负责实时数据存储与传输,其搭载的嵌入式BOA服务器可以通过网络浏览器进行远程访问控制,并且该子系统也可以进行独立数据采集传输;上位机反控子系统负责数据存储与备份,另外可以通过网络进行远程访问控制。

第2章嵌入式系统环境搭建

一般嵌入式Linux系统主要包括以下几个部分[1]:

(1)引导加载程序:

其中包括内部ROM中的固化启动代码和Bootloader两部分。

固化启动代码是厂家生产芯片时固化在ROM中的,其主要作用是引导Bootloader;而Bootloader是用来初始化硬件环境,加载Linux内核。

(2)Linux内核:

通过Bootloader传递内核参数来引导加载内核。

(3)文件系统:

包括根文件系统和建立在Flash设备上的其他文件系统,包含了Linux系统能够运行所必需的应用程序、库文件等,比如用户操作Linux的控制界面shell程序、动态链接的程序运行时所需要的glibc等。

(4)用户应用程序:

用户自定义的应用程序,它们也存储在文件系统当中,当然在用户应用程序以及内核层之间还可能包含嵌入式用户界面GUI。

嵌入式Linux系统的典型架构,如图21所示。

图21嵌入式Linux系统中的典型分区结构

根据上述嵌入式Linux系统的结构组成,基于物联网的智能家居嵌入式系统的设计,需要构建嵌入式系统开发环境,这其中包括Bootloader的移植、Linux内核裁剪、Rootfs根文件系统制作、QT4GUI的移植、Sqlite3嵌入式数据库的移植、Boa嵌入式服务器的搭载等。

2.1Bootloader的移植

Bootloader是在操作系统内核启动之前运行的一段小程序,通过这段程序,可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备一个正确的环境,然后从别处(比如Flash、NET、SD卡等)引导Linux内核映像文件,最终加载Linux内核,启动Linux系统。

现如今,bootloader的种类非常多,一般比较常用的bootloader[1],在x86架构上有GRUB、LILO等,而在ARM架构上则有Vivi、U_Boot等,其适用性如表21所示。

从表中可以看出,U_boot对各种平台的支持性比较好,事实上,U_boot是遵循GNU条款的开放源代码项目,可以引导多种操作系统、支持多种架构的CPU,比如ARM、X86、PowerPC等。

支持多种操作系统,比如Linux、NetBSD、VxWorks、Windows等。

表21bootloader的分类

Bootloader

描述

X86

ARM

PowerPC

Vivi

针对三星的引导程序

U_Boot

通用引导程序

LILO

Linux磁盘引导程序

GRUB

GNU的LILO替代程序

但是,U_Boot一直以来都没有支持S3C2440,移植U_Boot仍是使用SBC2410的文件作为蓝本,主要针对S3C2440与S3C2410的不同,以及SBC2410与Micro440外设的不同来做相应的调整与修改,并增加新的功能特性。

S3C2440与S3C2410的主要区别是[2]2440的主频更高,在接口方面,增加了摄像头接口和AC97音频接口,在寄存器方面,NANDFLASH控制寄存器有较大变化,另外,芯片的时钟控制寄存器也有一定的变化,其他寄存器是兼容的。

下面是Bootloader移植的简要步骤:

步骤一:

修改顶层Makefile,定义交叉编译工具链和开发板配置选项,在/board目录中建立开发板micro2440目录,并拷贝复制sbc2410x的文件到此,并作适当修改;

步骤二:

测试编译环境,对出现的错误进行相应的调整修改。

如果测试编译通过,说明编译环境的基本的开发板代码没有问题,由于编译的蓝本是基于SBC2410的,接下来的工作主要是按照代码的执行流程来针对mico2440做相应的修改;

步骤三:

进入/cpu/arm920t/start.S初始化代码,针对CPU频率的不同修改初始化设置,针对寄存器配置的不同,作相应的调整与修改;

步骤四:

在UBoot启动的其一阶段,初始化NandFlash控制器,起到代码重定向的作用,但是在第二阶段的start_armboot函数还是需要再次初始化NandFlash控制器,真正启动U_boot,2410与2440NandFlash控制器上的寄存器和启动流程差别很大,需要修改NandFlash底层驱动代码。

接下来增加对yaffs2文件系统的支持,对网络协议、串口传输等作相应的修改;

步骤五:

根据配置文件,重新编译移植。

2.2Linux内核裁剪

相比于Linux2.4内核,2.6内核支持更多的平台架构,采用新的调度算法,使进程间的切换更加高效。

而基于物联网的的智能家居嵌入式系统则是在Linux2.6.32的基础上裁剪移植的。

在虚拟机下建立内核源码树,对于ARM架构的S3C2440,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科

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

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