岳宏伟 伍军
摘 要:随着嵌入式技术的发展和高速宽带网络的普及,利用网络实现智能化的远程监控已为人们广泛接受,嵌入式网络监控系统正是在此条件下逐步发展成熟起来的。本系统采用MCU(S3C2440)作为主控器件,单片机应用系统由硬件和软件组成。本设计完成了单片机应用系统其开发过程的系统的整体设计、硬件设计、软件设计和系统调试,根据开发的实际需要,相互协调、交叉,有机的进行,并实现了智能家居监控系统的基本功能。
关键词:嵌入式 网络 智能 监控
中图分类号:T31 文献标识码:A 文章编号:1672-3791(2013)03(c)-0017-02
智能家居控制系统利用先进的计算机技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全、有效。与普通家居相比,智能家居不仅具有传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间。还将原来的被动静止结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信息交换畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约资金。而且,随着新技术和自动化的发展,传感器的使用数量越来越大,功能也越来越强,各种传感器都已经标准化、模块化这给智能家居控制系统的设计提供极大方便。
本设计应完成利用本地浏览器通过以太网来访问S3C2440开发板上Linux平台下的Boa服务器,然后再调用CGI程序来完成对LED灯的控制或获取其实时状态,完成对摄像头的控制,完成获取当前环境的实时温度和实时湿度信息。这些控制和信息的反馈都是在Web页面来交互完成。并通过此设计来模拟一个真实可行的智能家居监控系统。
1 系统整体设计框图
本系统是单片机在系统检测以及工程控制方面的应用,其特点是体积小,成本低,功能强,功耗低,是微机应用产品化的最佳机种之一,它已广泛地应用在产品智能化和工业自动化上。而把单片机面向工控领域对象,嵌入到工控应用系统中,实现嵌入式应用的计算机称之为嵌入式计算机系统,简称嵌入式系统。本设计系统框图如图1所示。
在此系统框图中,S3C2440开发板是整个系统的核心,所有功能的执行都是通过该开发板来执行的;CGI接口可以使得用户和Boa服务器之间进行交互和数据的传递;Boa服务器在此作为Web服务器;浏览器作为用户的终端用于控制LED灯、温湿度传感器和摄像头模块。
2 硬件方案设计
本系统采用的开发板具有由韩国三星公司推出的32位RISC微控制器s3c2440,其CPU采用的是ARM920T内核。
具有16KB指令Cache、16KB数据Cache和存储器管理单元MMU,指令高速存储缓冲器(I-Cache),数据高速存储缓冲器(D-cache)提高指令执行效率及数据存储效率,减少主存带宽和响应性带来的影响,加强的ARM体系结构MMU,用于支持winCE、linux等操作系统,内部高级微控制总线(AMBA)体系结构(AMB2.0,AHB/APB)。
此微处理器为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。因此特别适合应用于本设计的开发。
3 软件方案设计
3.1 软件功能框图
本系统主要是通过用户利用远程登录来控制此系统的,用户的各种操作都是通过外地Web浏览器来实现的。本设计的功能框图如图2所示。
3.2 软件设计方法
在本系统中软件部分分为:嵌入式Web网页、嵌入式CGI(公共网关接口)、MJPG-STREAMER的移植、设备驱动程序的安装。
本系统中的嵌入式Web网页的设计方法和传统网页一样,都是通过HTML语言来编写的。Web网页分为:登录网页login.html用于验证登陆者的信息,如果是合法的用户则可进入本监控系统;主界面home.html用于显示本监控系通的各个子系统,如:LED控制系统,温湿度监控系统,视频监控系统;LED控制系统页面function1.html用于控制LED灯的亮灭和显示当前LED灯的亮灭;温湿度监控系统页面function2.html用于实时显示当前环境的温度和湿度。
本系统中的嵌入式CGI(公共网关接口)程序是通过C语言来编写的。CGI程序都是通过C语言来编写的,分为:验证登录者的信息login.c;读取LED状态led.c;LED的初始化ledinit.c;获取温度get_temperature.c;获取湿度get_humidity.c。
本系统中的视频服务器是通过将开源项目MJPG-STREAMER适当修改并移植到开发板上来实现的。mjpg-streamer是一个很好的开源项目,用来做视频服务器,使用的是v4l2的接口。在这里通过将其显示页面做适当的修改就能变成自己的视频服务器,然后通过交叉编译arm-linux-gcc编译后,再下载到S3C2440开发板上运行。
本系统中需要给LED灯、温湿度传感器和摄像头安装驱动程序。在LINUX操作系统中是以文件的形式来管理各个硬件设备的,可以用命令ls/dev/来查看这些硬件设备。在本设计中另外使用的硬件設备的有LED灯、温湿度传感器和摄像头。因为有些硬件设备本身不自带驱动程序就必须给这些硬件设备添加相应的驱动程序才能系统识别这些硬件设备。在这里我们可以通过insmod命令来插入驱动程序,如插入LED灯的驱动insmod gpiodriver.ko,插入温湿度传感器的驱动insmod sht10.ko。
4 系统调试及结果
(1)按图3连接好硬件,如图3所示。
(2)在客户终端输入登录网址:
192.168.222.66/login.html,如图4所示。
(3)输入正确的用户名和密码后进入主界面,如图5所示。
(4)点击主界面上的LED控制系统,进入如图6所示的界面。
(5)点击主界面上的温湿度控制系统,进入如图7所示的界面。
(6)点击主界面上的温湿度控制系统,进入如图8所示的界面。
5 结论
本设计阐述了智能家居的概念及应用前景,对S3C2440开发板,以及Linux操作系统、Boa服务器和CGI的介绍。设计中充分利用了系统的硬件和软件资源,实现了各个模块的协调控制,提高了系统的可靠性和通用性。通过本设计实现了智能家居监控系统的基本功能,并可在此基础上添加各种不同的模块以相同的工作原理来扩展各种不同的功能。本系统具有投资少、成本低、可靠性高等特点,还具有良好可扩展性和实用价值,符合了未来家电的智能化、网络化发展方向。本系统还可以应用于工农业生产中,实现对无人值守岗位的远程控制和安全报警等。
参考文献
[1]于彤.传感器应用[M].北京:人民邮电出版社,2010,3.
[2]沙占友.智能化集成温度传感器原理与应用[M].机械工业出版社,2011,5,24.
[3]百度百科.物联网传感器[EB/OL].http://baike.baidu.com/view/3739725.htm,2011,6,1.
[4]张新成,宛京京,周璐.物联网智能家居系统的设计与应用[J].高教论述,2010(5).http://wenku.baidu.com/view/8bd6450d76c66137ee061922.html
[5]唐勤强.物联网传感器-智能家居的定义及简介[EB/OL].http://www.qianyan.biz/info_show.do?nid=304247,2011,6,7/2011,6,9.
[6]郝轶钢.智能家居是物联网应用的新亮点[EB/OL].http://www.chinavalue.net/Media/Article.aspx?ArticleId=73692,2011,4,20/2011,6.