摘要:介绍了一种基于ARM平台、以太网和GPRS无线通信技术的智能家居远程监控系统,给出了系统的组成及工作原理,着重阐述了系统主要硬件和软件的设计。智能家居远程监控系统的核心是嵌入式Web服务器。通过该嵌入式Web服务器。在用户端只需要通过Web浏览器就可以对家用电器设备进行远程控制。该智能家居远程监控系统还实现了对家庭环境的实时监视和自动报警的功能。

0 引言

随着国民经济的快速发展和人们生活水平的不断提高,人们对居住房子的舒适性及安全性要求也提升到了更高的档次,同时计算机技术、网络和信息技术也在不断发展,这使得家庭智能系统的远程监控成为一种现实。本文设计的智能家居远程监控系统实现了家用电器等的智能化管理,对家庭环境的实时监视和自动报警功能。

1 智能家居系统的总体结构

智能家居远程监控系统的核心部分是一个嵌入式Web服务器,系统集有线和无线Web服务器于一体,用户可以利用办公室的PC登录家中的Web服务器,在通过用户名和密码验证后,便可以查看并控制家用电器。系统结构框图如图1所示。

2 系统硬件设计

本系统硬件电路框图如图2所示,主要由ARM9控制器S3C2440,FLASH,SDRAM,电源及复位模块,触摸屏显示模块,USB摄像头,以太网接口模块,GPRS模块,家电控制,安防控制等组成。

2.1 ARM9控制器S3C2440

ARM9控制器S3C2440是基于ARM920T内核的16/32位RISC处理器,具有功能强大、性价比高、功耗低的优点。

2.2 家电控制

本系统针对家电设备的智能化程度不同,提出了不同的解决方案。对于电灯开关等需要手工控制的传统家庭设备。系统添加了辅助控制器(继电器等),用户可通过以太网或手机短信的方式控制处理器GPIOn的状态,间接控制家庭设备;对于电视、空调等可通过红外线控制的电器设备,系统采用带有以太网接口的通用控制器统一遥控;对于自身具备网络接入功能,支持远程平台控制的智能电器设备,直接接入家庭以太网即可。

2.3 安防控制

系统使用的所有探测器(烟感传感器、煤气传感器、门磁传感器等)和报警设备,都是通过GPIO与控制器相连来完成报警输入输出的功能。然而这些输入输出信号都有很强的电流,对系统的干扰较大,因此采用TLP521光电隔离芯片和继电器对报警输入输出信号分别进行隔离,从而把外部信号对系统的影响降到最低。

2.4 GPRS模块

GPRS模块采用西门子公司的MC35i GPRS MODEM。当S3C2440控制器收到报警信号时,它通过UART控制MC35i,将预存的相应报警信息通过GPRS网络以短信的形式发送到用户的手机上,同时向小区物业中心发出报警,使用户和物业部门及时发现险情,并采取有效的处理措施减少经济损失。

2.5 以太网接口模块

由于S3C2440本身没有集成以太网控制模块,所以需要一个与之相匹配的DM9000控制芯片来实现以太网扩展接口。在DM9000和RJ45接口之间通过网络隔离变压器HR601627来连接,连接图如图3所示,网络隔离变压器起信号传输、高电压隔离等作用,以保护系统的安全。

2.6 USB摄像头

本系统所用的USB摄像头是中星微公司的ZC2301P。摄像头ZC301P采集的视频信号经压缩后形成的视频数据流会通过内部总线传送到嵌入式Web服务器上,用户可通过登陆网络直接观看Web服务器上的视频图像,实时监控家中的情况。

3 系统软件设计

本系统控制中心是ARM9控制器,其软件设计包括系统软件(嵌入式操作系统、硬件设备驱动程序、嵌入式Web服务器)设计和应用软件(网页设计及CGI应用程序)设计。

3.1 嵌入式操作系统在S3C2440上移植过程

(1)从网站上下载Linux的内核源码linux-2.6.31.tar.bz2和交叉编译器arm920t-eabi.tgz,这个交叉编译器是4.1.2版本的,支持EABI,可以提高编译的效率。

(2)在宿主机上将内核源码解压得到linux-2.6.31,将交叉编译器解压到指定目录。

(3)修改Makefile文件及相关硬件文件。由于内核的编译是根据Makefile文件的指示进行的,Makefile文件来组织内核的各模块之间的关系,记录了各个模块之间的相互联系和依赖关系。所以,修改Linux2.6.31根目录下的Maldile文件来指定平台和交叉编译器。

(4)通过命令# make menuconfig来配置内核。配置内核时,让它支持EABI编译。

(5)在linux-2.6.31根目录下执行命令# make zImage来编译内核,将生成的内核镜像文件zImage通过相应的固化软件固化到系统相应的存储器中,完成linux-2.6.31内核在ARM微处理器上的移植。

3.2 驱动程序的设计

控制器需要多个设备驱动程序。嵌入式Linux系统中设备驱动程序有一个标准的框架,可以根据硬件结构来填写框架中的函数。主要的函数包括open(),read(),write(),ioctl(),release(),module_init()和module_exit()等。为了减小内核的大小,把编写好的驱动程序编译成模块。编写Makefile、Kconfig文件,分别执行make menuconfig命令选择驱动程序的加载方式,利用makemodules命令生成目标文件,最后利用insmod命令调用initial_module函数将编译好的模块调入内存即可。

3.3 Web服务器Boa移植

Boa是一个嵌入式Web服务器,能够生成动态的页面,支持CGI,比较适合嵌入式系统。在硬件电路板上存放一个网页,在用户端可以通过浏览器来访问硬件电路板上这个网页,然后通过网页中的内容就可以和硬件电路板上的硬件设备进行交互。具体移植过程如下:

(1)从网上下载Boa服务器源码压缩包boa-0.94.13.tar.gz,将其解压得到boa-0.94.13,在boa-0.94.13/src下编译生成boa可执行程序。

(2)把宿主机Linux操作系统下的/etc/mime.types复制到根文件系统的/etc目录中,在根文件系统的/etc中建立boa文件夹,根文件系统的/etc/boa目录下建立www、cgi-bin目录,www中存放HTML文件,cgi-bin中存放CGI脚本,把网页文件index.files和index.html复制到根文件系统的/etc/boa/www目录下,在根文件系统的/var目录下建立日志目录log/boa。

(3)对Boa作配置和修改。主要通过对defines.h,boa.conf和mime.types文件进行修改来实现。修改defines.h指定Web服务器的根目录路径(SERVER_ROOT)。boa.conf文件由一些规则组成,用于配置Boa服务器,指定相应端口,服务器名称,一些相关文件的路径等。Boa服务器要想正确运行,必须保证该文件是正确配置的,而且该文件和某些静态网页,CGI可执行程序等都放于某特定目录下。

(4)把boa-0.94.13/sre下编译出的boa可执行程序复制到根文件系统的/usr/bin目录下,把修改过的配置文件boa.conf复制到开发板的/etc/boa目录下,并将一些静态页面放在由boa.conf指定的目录下。

(5)重新编译根文件系统。把根文件系统下载到硬件电路板上。

在硬件电路板上运行嵌入式Web服务器Boa,通过浏览器就能访问系统所设计的网页。

3.4 应用软件设计

本系统的核心是一个嵌入式Web服务器,其应用软件的设计包括网页设计和CGI应用程序设计两部分。

(1)网页设计:网页设计采用设计工具Dreamweaver,FrongtPage等来实现。

(2)CGI应用程序设计:采用C语言来编写CGI应用程序,实现外部实时数据采样、与家电设备的通信与控制等。CGI技术可以实现浏览器与嵌入式Web服务器的动态数据交互。CGI程序保存在嵌入式Web服务器端。在用户端打开HTML页面,点击HTML页面上设备的控制按钮,就会通过Internet把用户请求送到嵌入式Web服务器中,服务器接收用户请求并交给CGI程序处理,实现用户的功能需求,这就做到了通过对HTML页面上相应设备的点击实现家庭网络中设备的远程控制。

4 结束语

该系统硬件采用ARM9 S3C2440 微处理器作为控制核心,软件采用linux-2.6.31内核作为系统的嵌入式操作系统,采用Boa作为嵌入式Web服务器,结合以太网通信技术和GPRS无线通信技术实现了对家庭环境的远程实时监控、安防自动报警和对家电设备远程控制的功能。本监控系统具有较大的实用价值,未来的发展空间非常大,能够使人们生活得更加舒适安全

智能家居远程监控系统的设计及实现相关推荐

  1. 基于迅为i.MX6平台 | 智能家居远程监控系统

    随着互联网时代的到来,人们对居住环境的安全性的有了更高的要求,这使得智能家居远程监控系统出现了新的机遇.比如说人们外出时,通过智能居家远程监控系统就可以及时帮助我们对家里情景进行控制. 智能终端主要负 ...

  2. 基于智能矿山电力监控系统的设计与应用方法

    摘要:随着煤矿建设的智能化程度越来越高,构建智能电力监控系统实现对矿山生产的有效监控至关重要.首先分析了矿山电力监控系统存在的主要问题,其次重点介绍了基于智能矿山电力监控系统的设计过程,后提出了加强智 ...

  3. 油田智能化远程监控系统_研华智能油井远程监控系统解决方案

    石油天然气生产一直是工业生产的重要组成部分,作为中国石油行业的龙头企业,中国石油在其十二五规划中,明确提出了把油气生产物联网作为油田生产中的数据采集管理系统,随着中石油十二五计划的全面启动,越来越多的 ...

  4. 基于单片机的粮仓远程监控系统的设计

    1绪论 1.1 课题研究背景及意义 中国自古以来就是一个大国,地大物博,特别是新中国成立以来,粮食的产量屡创新高,但是中国也是一个人口大国,人口达14亿位居世界第一[1].我国以占世界不到10%的耕地 ...

  5. 服务器发送消息到客户端互斥,小车远程监控系统 课程设计

    <小车远程监控系统 课程设计>由会员分享,可在线阅读,更多相关<小车远程监控系统 课程设计(17页珍藏版)>请在人人文库网上搜索. 1.课程设计n报告(2016/2017学年 ...

  6. UPS远程监控系统的设计与实现

    本文介绍了在UPS现有设备的前提下,为了提高设备的可靠性以及设备监控管理的科学化和自动化,通过软件与硬件的设计,构建一个UPS设备远程监控系统的过程,并阐述了该系统的工作原理.应用效果和前景. 引   ...

  7. 有关实验室电源远程监控系统的设计与实现

    有关实验室电源远程监控系统的设计与实现 为实现实验室电源智能化管理,减少人力与物力的浪费,设计了实验室电源集控系统.该系统包括上位机集控程序.下位机基于 PLC的电源控制两大部分. 1. 系统总体设计 ...

  8. 基于云平台的智能变电站远程监控系统

    智能变电站远程监控系统是通过智能网关将变电站相关数据实时地传输到通信网络中,通过网络传输,将现场的数据实时地传送到远程监控中心.通过远程监控中心可以实现现场的实时数据采集.通信和显示,并通过移动终端将 ...

  9. 智能电力远程监控系统解决方案

    智能电力远程监控系统解决方案 一.现状及遇见的问题 电力供应是整个社会生产.人民生活的基本保证之一.随着电力系统的快速发展,电力通信和信息系统对智能化的需求日益增加,其存在的问题也不断暴露出来.尤其是 ...

最新文章

  1. eclipse安装lombok插件 ,但是:lombok注解不起作用(亲测有效!)
  2. 10你当前无权访问该文件夹_「文件保密小技巧」教你创建一个别人打不开也无法删除的文件夹...
  3. troubleshoot之:使用JFR分析性能问题
  4. 【个人笔记】OpenCV4 C++ 快速入门 29课
  5. mysql的数据备份及恢复
  6. JS实现随机切换姓名与头像
  7. get/post在线接口
  8. Spark 连接kafka报错: Error while fetching metadata with correlation id xx [topicName=INVALID_REPLICATIO]
  9. opencv - viz 画出SLAM轨迹
  10. 用HTML5实现手机摇一摇的功能并配上声音
  11. SIP语音对讲从零到整之(一)sip介绍
  12. 海龟交易法则12_脚踏实地地测试
  13. 神经网络之极限学习机(ELM)
  14. pycharm连接mysql5.7
  15. canvas电子画板 涂鸦、橡皮擦、保存图片,图片放大缩小
  16. 关于python字符编码以下选项中错误的是_关于 Python 字符编码,以下选项中描述错误的是...
  17. linux的early printk的探讨
  18. Linux下基于SDL库贪吃蛇游戏
  19. 王道计算机考研机试指南刷题笔记-自用3
  20. python 基础代谢率计算_BMR计算(Python),的

热门文章

  1. 老牌系统:雨一直下win7主题
  2. 雷神之战html5游戏在线玩,每周30命!5.2雷电王座BOSS莱登限制挑战次数
  3. LATEX简介以及相应的环境配置方案(附带刘海洋的LATEX入门书籍链接)
  4. 关于乱码(MessyCode)问题
  5. 泊松抽样与伯努利抽样主要联系与区别
  6. addrow是什么意思java_如何在JTable中添加行?
  7. 地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法
  8. mysql按天,按周,按月,按季度,按年统计数据
  9. 笔记:《高效能人士的七个习惯》第八章 习惯五 知彼解己——移情沟通的原则
  10. 【Unity编程】Unity中的欧拉旋转