• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于ARM的智能家居远程监控系统设计

基于ARM的智能家居远程监控系统设计

录入:edatop.com     点击:

0 引言

随着计算机、通信及微电子技术的飞速发展和人民生活水平的提高,人们对居住环境的要求,也向着追求精神内涵、安全舒适、便捷智能化和自动化为理想目标,智能化的家居环境也逐渐备受人们的关注。目前,在智能家居系统设计中,智能家居控制中心与终端(家电设备、安防设备、三表等)之间多采用基于总线的有线连接方式(RS 485,CAN,LonWorks等),这种连接方式具有布线复杂、线路易腐蚀、维护不方便、影响室内美观等缺点;远程用户与智能家居控制中心之间的通信多采用电话线和网线的通信方式,未能将目前日益成熟的移动通信技术应用其中,给用户带来极大的不便;智能家居控制中心多采用单片机作为控制核心,随着用户功能需求的增加,由于单片机软硬件资源有限,给系统的升级、维护及调试带来极大困难。鉴于此,本文提出了基于ARM的智能家居远程监控系统设计方案,并对该方案进行了具体设计。

1 GPRS技术简介

GPRS(General Packet Radio Service),即通用无线分组业务,是一种基于GSM系统的无线分组交换技术,面向用户提供移动分组的IP或者X.25连接。与GSM电路交换数据相比,GPRS在数据业务的承载和支持上具有非常明显的优势:资源共享,频带利用率高,用户只有在进行数据传输时才占有系统资源;数据传输率高,GPRS采 用分组交换技术,每个用户能同时占用多个无线信道,同一无线信道又可由多个用户共享。理论上,GPRS最高传输率可达171.2kbit/s;支持 X.25协议和IP协议,可与现有的数据网络进行互通互连;用户永远在线且按流量、时间计费,通信成本低。由此可见,将GPRS技术应用于智能家居系统的数据传输是最理想的选择。

2 系统功能及总体结构设计

2.1系统实现的功能

该系统主要是针对普通住宅小区家庭用户而设计的,它可以对小区内用户住宅内安全状况进行集中监控和管理,同时还实现了门禁及抄表功能。用户可以根据自己需要进行监控状态、监控参数的设置。系统实现了以下功能:

(1)家居安防监控:当小偷闯入住宅或者有火灾、燃气泄漏等危急事件发生时,监控终端能实时地监测到险情,向监控中心发送告警信息,监控中心则以GSM短信的方式通知户主。

(2)家居安全状况远程实时监控与查询:主人离家在外,可通过发送手机短信的方式来查询家中安全状况信息。

(3)现场图像抓拍功能:在设防状态下,当红外传感器或者门磁触发告警时,系统将启动图像抓拍器,对现场进行拍摄,所拍摄的图像通过GPRS网络发送到监控中心的主机上进行备份。用户也可以通过发送送机短信的方式来启动图像抓拍的功能。

(4)"三表"远程自动抄送与门禁功能:可以定时或主动读取用户家中的水表、电表、煤气表的用量,并根据相应价格计算费用。当有刷卡开门事件时,判断卡合法则允许进入。

2.2系统总体结构

智能家居系统由监控终端,GSM短信收发模块,监控主机三部分组成。监控终端硬件采用ARM7平台,软件采用嵌入式实时操作系统VxWorks。监控主机是一台运行监控管理软件的PC机,一般置于小区的物业管理中心。图1是整个系统架构图。

图1 系统架构

系统工作时,监控终端循环检测安装在室内的门磁、红外、烟雾、燃气监测等传感器,当检测到有异常情况发生时,终端控制警笛发出告警声音,提醒户主及物业管理人员有险情发生并采取防范措施。另外,监控终端还通过GPRS网络向监控中心发送告警信息。当终端检测到门磁或红外告警时,将启动图像抓拍器,对用户室内现场进行连续拍照,拍摄到的图像终端先进行缓存,再通过GPRS网络发送至监控主机,监控主机将图像以文件的形式进行备份。

监控终端还循环接收监控主机下发的数据请求命令,终端对这些命令进行解析。如果是查询传感器及门磁状态,监控终端对相应传感器的状态进行检测,向监控主机返回传感器的状态信息;如果是查询水表、电表或者煤气表的用量命令,监控终端根据"三表"的RS-485协议,构造查询帧命令,发送相应的查询命令,将"三表"返回的数据按照系统的通信协议打包,通过终端上内置的GPRS模块发送到监控主机。监控主机接收到终端发送的数据后,先对数据帧进行解析。若是告警信息,则监控主机将根据不同的告警播放相应的告警提示音,提醒管理员作出处理。当有告警发生时,监控主机通过RS232接口输出AT指令,控制外置GMS模块向系统预先设置好的住宅主人的手机号码发送告警短信,通知户主家中有警情发生。同时,监控主机还将把告警事件以日志的形式记录下来,以便事后对告警信息进行查询;当接收到的数据帧是抄表命令返回的数据时,主机将把数据写入到系统数据库。同时,在显示界面上弹出一个新窗口,显示户主信息、查询时间、表的用量、相应费用等信息。

3 系统硬件设计

监控终端的原理图如图2所示。

图2 终端原理图

终端硬件采用的是嵌入式硬件平台,CPU选用三星公司的基于ARM7TDMI内核的S3C440X微处理器,该处理器是三星公司专为PDA和一般应用开发提供的高性价比和高性能的解决方案。经过性能与成本的综合考虑,GPRS模块选用明基公司的 M22模块。该模块可工作在三种频率下:900/1800/1900MHz。支持语音通信,具有GPRS、USSD和CSD三种数据方式及SMS和FAX 功能;内嵌TCP/IP协议,软件支持标准AT 指令并遵循3GPP 27.07/27.05规范。

S3C44B0的IO口的D口扩展了三个按键,它们是设防键、开门键、消告警键。按下设防键,CPU检测到IO口为低电平,系统进入监控状态。该状态下,系统将循检测门磁及所有已经安装的传感器。由于选用的传感器输出电平为0V或12V,而S3C44B0的外围接口电平为0V~3.3V,传感器的输出需经光耦隔离后连接至CPU的IO引脚。采用光耦隔离还有一个作用:在雷雨天气,传感器输出导线很容易引入雷电,导线上会有瞬时高压脉冲,用光耦将传感器的输出与CPU的IO口隔离后,起到保护CPU的作用。当监测到开门键按下,电控锁吸合,门将打开,此时为合法开门状态,不会产生告警。如果是在监控状态下,门被强行打开,则门磁输出由低电平变为高电平,CPU检测到门磁传感器输出高电平,产生告警,CPU控制GPD3口输出低电平,触发警铃产生告警音。告警发生时,CPU通过UART0发送AT指令来控制GPRS模块,经GPRS网络向系统监控主机发送告警信息,监控主机对告警信息进行分析处理。M22模块与CPU采用115200bps的波特率进行通信。它们之间的接口比较简单,只需要将接收和发送两个引脚进行连接。考虑到本系统运行过程中需要保存大量的事件日志,如"三表"查询的数据、告警事件日志以及告警抓拍到的50张图像等,系统扩展了大容量的外部存储器HY57V641620(容量为8MB的 SDRAM),SST39VF1601(2MB的FLASH)。其中SDRAM主要负责程序运行以及中间数据的保存,2MB的FLASH主要负责源程序的保存以及一些掉电需要保存的历史数据,事件日志、图像数据等。

图像抓拍器的主要作用是当有盗情发生时,进行现场抓拍。目前在国内市场上已经有很多该类型的产品。我们选择了深圳安信阳光科技有限公司的彩眼 HRM600GJ图像抓拍器。HRM600GJ自带以太网接口。HRM600GJ在接收到S3C44B0发来的拍照命令包后进行连续拍照,所拍摄的图像为静态JPEG格式图象,解析度为320×240,图像经过网口发送给ARM处理器等待处理。由于S3C44B0片内并不带以太网接口,因此必须扩展一片以太网接口芯片实现彩眼和 ARM处理器之间的互连。这里我们选用比较常见的也是性价比相对较高的RTL8019AS作为以太网接口芯片。

SN75LBC184是RS485驱动芯片。我们将S3C44B0的第二个串口(UART1)扩展为系统的RS485总线接口。该接口是CPU与"三表" 及刷卡器等设备的通信接口。CPU按照主从模式与"三表"进行通信。CPU定义为主设备,"三表"为从设备。主从设备都有唯一的设备地址,通信时,主设备向指定地址的从设备发查询命令,从设备返回当前数据给主设备。

4 系统软件设计

4.1终端软件

传统的单片机程序设计基本上都采用顺序结构,实时性低且CPU对资源的利用率不高。这里,我们采用了嵌入式实时操作系统VxWorks,它是美国风河(WindRiver)公司于1983年设计开发的一种嵌入式实时操作系统(RTOS)。终端软件设计包括针对系统硬件平台进行的操作系统的移植和在 VxWorks平台上应用程序的设计两部分。操作系统的移植的重点也即难点是BSP(Board Support Package)的设计。VxWorks本身提供了针对许多处理器的BSP,但针对S3C44B0的BSP并未提供。在设计系统BSP时,我们首先仔细研究了其中一种BSP代码范例,了解并掌握了BSP的结构,然后在风河公司针对ARM处理器提供给用户的BSP模板的基础上设计了本系统的BSP,限于篇幅,对操作系统的移植部分本文将不作阐述。

监控终端的应用程序采用模块化的设计思想。由于VxWorks支持多任务,我们将每个功能模块以一个任务来实现。从时间上看,各个任务处于并行运行的状态,极大地提高了系统对事件响应的速度,有效地提高了CPU对资源的利用率。终端应用程序包含五个任务,分别是:消息处理任务、传感器检测任务、 GPRS通信任务、RS485总线设备通信任务、按键检测及处理任务。除消息处理任务以外,其它五个任务优先级相同。VxWorks中任务优先级从0到 255,0为最高优先级,255为最低优先级。我们将消息处理任务优先级设定为90,其它四个任务优先级都设定为100。这样可使消息处理任务尽快的处理其它任务发送来的消息,提高系统对外部事件的响应速度。下面分别对各个任务所实现的功能进行简要的介绍。

(1)消息处理任务

该任务循环检测自己的消息队列,当有其它任务发送来的消息时,读取消息,对消息进行解析,确定事件类型,然后调用事件相应的处理函数进行处理。本系统定义了多种事件类型,主要有如下几种事件:传感器告警事件、设置终端参数事件、传感器状态请求事件、刷卡开门事件、水表数据查询事件、电表数据查询事件、煤气表数据查询事件和按键设置事件。

(2)传感器检测任务

在任务运行的时间片内,首先判断系统当前所的处状态,如果系统处于设防状态,那么CPU将对室内所有已安装传感器进行循环检测。如果系统工作在撤防状态下,那么只对烟雾、煤气传感器进行检测。当任务检测到某一传感器的输出达到系统设定的告警阈值时,将向消息处理任务的消息队列发送一条传感器告警消息,消息中包含传感器通道编号。

(3)GPRS通信任务

此任务完成GPRS模块的初始化、终端与监控中心建立连接以及数据通信功能。

(4)RS485总线设备通信任务

任务完成"三表"数据的读取以及用户刷卡检测功能。

(5)按键检测及处理任务

该任务完成对终端上三个功能键的扫描。当其中某个按键被按下时,CPU检测到键值,向消息处理任务发送消息,消息任务将调用相应的处理函数进行处理。

4.3监控中心软件

监控中心软件采用Borland C++ Builder 6.0开发。它使用WinSock控件接收和发送数据。中心软件采用模块化的设计思想,分别实现系统参数设置、操作员权限管理、用户管理、告警事件处理、数据库的维护以及数据打印和系统帮助等功能。

5 结束语

本系统实现了对住宅小区内多用户室内安全状况的集中监控与管理,还实现了对用户家中的水表、电表、煤气表的远程无线抄送。该系统在实用性、可靠性以及成本等方面取得了较为满意的效果。目前,本系统已经完成最后调试,即将进入现场试运行。由于系统在硬件设计上充分考虑到了不同的应用场合,留有较大的扩展空间,因此相信该系统将会有较为广阔的应用前景。

作者:李红刚 张素萍 方佳 董玲娇 来源:《现代电子技术》

我推荐大家读

轻松参与

VS

表达立场

这是垃圾文章

上一篇:基于FPGA的正交数控振荡器(NCO)的设计与实现
下一篇:基于ARM的汽车“黑匣子”设计

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图