智能家居远程监控系统开题报告

1.课题研究的意义,国内外研究现状、水平和发展趋势

    当网络席卷整个社会,带来经济飞速发展的同时,也给人们的生活带来无限的惊奇。不断更新的生活方式,使得越来越多的人追求对生活的舒适度和享受度。智能家居作为新生力量呼之欲出,自然地走进了我们的生活,随之,引领新一代的数字家庭生活。

    智能家居(Smart Home),又称智能住宅。它是以住宅为平台,兼备建筑、网络通信、信息家电、设备自动化,集系统、结构、服务、管理为一体的高效、舒适、安全、便利、环保的居住环境。与智能家居的含义近似的还有家庭自动化(Home Automation)、电子家庭(Electronic Home、E-home)、 数字家园(Digital family)、网络家居(Network Home),智能家庭/建筑(Inte1ligent home/building)等。智能家居也可以定义为一个系统。利用计算机技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全、有效。

    目前,智能家居在全球都呈现良好的发展趋势。国外,智能家居在美国、德国、新加坡、日本等国都有广泛应用。目前在新加坡也有近30个住宅小区近5000户的家庭采用了“家庭智能化系统”,美国已有近4万户家庭安装了这一类的“家庭智能系统”。三星已经开始在中、韩两国同时推出起智能家居系统。统计资料显示:2004年,家庭网络市场总额可达57亿美元,国际智能家居的产品销售额可达148亿美元。在国内,智能家居已经走过了“概念期”,正是基于对智能家居市场发展前景的展望,使得智能家居不断地纳入各研发单位、房产开发公司、网络公司下期的开发计划,也是竞相销售的卖点。他们正是基于对这个难得机遇的意识,开始为研究和开发相关系统和产品进行先期的部署和规划,越来越多的企业开始介入智能家庭网络这个全新的领域。

    智能家居与普通家居相比,它不仅具有传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间,还由原来的被动静止结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信息交流畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约资金。

    智能家居是数字家庭的一部分,只有将智能控制和上网功能集成起来,才形成真正意义上的数字家庭。数字家庭涉及的领域将综合生活中的娱乐、工作、投资理财、学习、医疗、教育等,是实现家庭内部、家庭和社会的实时性沟通的综合系统。数字家庭伴随着无线而产生,也使无线技术得到了充分的应用和体现。


 

2.课题的基本内容,可能遇到的困难,提出解决问题的方法和措施

本课题的基本内容:

   本课题是基于ARM9的智能家居监控模块开发与实现,我们采用ARM9 内核的S3C2410处理器为控制芯片,再将Linux系统移植到硬件平台上,然后设计好相应的驱动程序和应用程序,最后将软件下载到硬件平台来对家电进行本地和远程控制。系统主要有GSM通讯模块和ARM9系统板两个部分组成。而系统软件主要完成各个模块之间交互通信的功能,在下面会详细讲到。

可能遇到的困难:

    由于是首次接触GSM模块的开发,对其原理及应用程序的设计都还只是初步了解。而对于GSM的信号机制也正在研究阶段。如何将收到的信号解析,通过串口通讯显示到终端,这都是有待解决的问题。在选用系统平台时,采用嵌入式Linux作为系统运行平台,其内核裁剪,编译,bootloader移植及文件系统的制作,需要有很大的工作量来完成,由于以前未接触过嵌入式linux系统移植工作,估计在实际操作中会遇到很多困难。

2 智能家居控制器操作系统的移植及裁剪 

  考虑到成本,以及系统对实时性的要求不高等因素,所以决定选用Linux操作系统。目前发行的Linux操作系统都能支持ARM机的体系结构,所以只要根据平台的具体结构进行移植。移植主要包括建立交叉编译环境、修改内核源码、内核裁剪和内核编译4等个环节。

2.1 建立交叉编译环境 

  交叉编译是指利用运行在某台计算机上的编译器编译某个源程序生成在另一种结构计算机上运行的目标代码的过程。编译器的生成依赖于相应的函数库,而这些函数库又得依靠编译器来编译。建立交叉编译环境就是将ARM使用的编译器(如:arm-linux-gcc)和函数库(如:glibc)安装到指定目录,并使用configure配置好Makefile文件。

2.2 修改内核源代码 

  修改内核源代码主要包括启动代码的修改、内核的链接及装入、参数传递和内核引导几个部分。Linux内核分为体系结构相关部分和体系结构无关部分。在Linux启动的第一阶段,内核与体系结构相关部分首先执行,它会完成硬件寄存器设置,内存映射等初始化工作。

  然后把控制权转给内核中与系统体系结构无关的部分。在移植工作中要修改的代码主要集中在与体系结构相关的部分。ARM芯片的体系结构在arch/arm目录下。首先根据芯片手册修改boot/init.S文件中的:片选组基地址寄存器、DRAM存储配置寄存器、DRAM片选寄存器、中断屏蔽寄存器等。然后修改内核的链接及装入ELF。最后将系统中可用页面的数目、文件系统大小等信息以参数形式从启动代码传给内核,完成设置陷阱,初始化中断,初始化计时器,初始化控制台等一系列操作而使内核正常启动。

2.3 内核裁剪和编译 

  内核裁剪是根据控制系统的要求将不需要的模块从内核中裁剪了,Linux内核的裁剪有好几个版本,可以使用命令make menuconfig对系统进行裁剪。

  内核裁剪之后,最后要进行交叉编译生成内核映象文件zImage。具体命令如下:

make clean //清理编译环境

make dep //编译依赖文件

make zImage //编译内核

3.课题拟采用的研究手段(途径)和可行性分析

研究途径:

在设计智能家居控制器时,考虑到系统的稳定性和扩展性,因此将控制器硬件设计成核心板和控制板2部分。核心板主要用来构成一台嵌入式计算机系统,控制板主要是一些外围接口。系统硬件如图1所示。

图1 智能家居硬件结构图

根据图1所示核心板采用三星公司生产的S3C2410微处理器。ROM采用SAMSUNG K9F1208芯片构成64M NAND FLASH,将FLASH芯片连接到系统的nGCS0,所以它的起始地址为:0x00000000。

RAM采用2片HY57V561620AT-H构成64M ,将它连接到系统nGCS6,所以它的起始地址为:0x03000000。为了让系统从NAND FLASH启动,要将S3C2410的OM0和OM1引脚都接地。最后将S3C2410处理器的串口控制信号、USB主机控制信号、LCD控制信号、触摸屏信号、数据总线、地址总线、控制总线、外部中断等信号全部连接到核心板上的200芯插座上。

GPRS模块采用SIMCOM公司生产的SIM100-E芯片。通过第三个串口信号线TXD2和RXD2和处理器相连接。

LCD直接由CPU来控制,不过要增加驱动电路。

  触摸屏采用4线电阻式,直接将它和CPU的nYPON、YMON、nXPON、XMON相连。

  传感器接口的输出信号连接到CPU的EINT9外部中断引脚上,当传感器接收到某个信号时,就可以通过外部中断引脚向CPU申请服务。

  家电控制接口的输入控制信号连接到CPU的GPIO端口,当要对某个家电进行控制时,只需向指定的端口写入0或1,然后再由家电控制接口发遥控信号去控制相应的家电。

应用程序的设计 

  为了提高应用程序的运行速度,以及程序运行的稳定性,所以将应用程序设计成多线程结构,如图2所示。应用程序由7个线程和一个共享数据结构组成。

图2 应用程序结构框图

共享数据主要用于存放家电开启和关闭时间,发送短信的电话号和短信内容等信息。共享数据是通过2个设置线程来修改的。家电控制线程主要是根据控制数据、检测短信线程的内容和操作线程的内容来进行操作。发送短信线程主要是根据控制数据、检测传感器线程的内容和操作线程的内容来进行操作。

应用程序的具体内容如下。

#include<pthread.h> //线程库头文件

 

int main()

{ 

pthread_creat(&th_a,NULL,send_msg,0); //创建发送短信线程

pthread_creat(&th_b,NULL,control_driver,0); //创建家电控制线程

 

pthread_join(th_b,&retval); //等待家电控制线程结束

pthread_join(th_a,&retval); //等待发送短信线程结束

}

/*发送短信线程*/

int send_msg()

{ 

tty_init(); //初始化串口

gprs_init(); //初始化GPRS模块

tty_writecmd(“at”,strlen(“at”)); //发送AT命令

tty_writecmd(“at+cmgf=1”,strlen(“at+cmgf=1”));//发送修改字符集命令

tty_write(“at+cmgs=”,strlen(“at+cmgs=”)); //发送短信命令

tty_writecmd(msg.send_tel,strlen(msg.send_tel)); //发送电话号码

tty_writecmd(msg.send_text,strlen(msg.send_text)); //发送短信内容

tty_end();

 

return 0;

}

  其它线程的设计方法有很多相似之处。应用程序设计完成之后,再经过交叉编译就可生成目标文件。

可行性分析:

1.技术可行性

该系统主要使用C/C++语言来完成,使用linux交叉编译环境和S3C2410开发板。整个系统开发思路比较清晰,使用成熟的开发工具和开发环境,且国内外已有类似成熟产品上市,在技术上是完全可行的

2.经济可行性

目前,嵌入式系统的开发一般都是在单片机或者是ARM上进行,相比之下,无论在功能以及技术支持方面还是硬件资源方面,ARM都要比单片机强得多,而两者之间价格的差距却越来越小,所以,用ARM来做相关的开发,在经济上占据绝对优势。操作系统采用免费的嵌入式linux,不需支付额外的费用。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值