APP下载

基于Android平台的智能家居安防系统设计

2012-01-25李元元

制造业自动化 2012年12期
关键词:智能家居报警远程

李元元

(上海电子信息职业技术学院,上海 201411)

1 研究背景

1.1 Android系统在智能家居领域的应用

智能家居是以住宅为平台,利用综合布线技术集成各种家居生活设施,构建高效的住宅设施与家庭事务的管理系统,与传统意义上的家居相比,智能家居提供了全方位的信息交换功能,帮助家庭与外部保持信息交流畅通。随着信息化技术的发展,采用高性能嵌入式芯片作为硬件、以Android作开发平台的系统模式被逐渐开始应用于各类智能家居系统。

Android是由Google主导的开放手机联盟于2007年发布的基于Linux的开源手机平台,在最初是为智能手机终端打造的操作系统。在2011年,Google正式提出了Android@Home计划,通过Android设备来实现家居安全布防、并实现对各种家用电器的自动控制。随着Android系统的发展,它已经不仅仅是一个移动设备的平台,未来将广泛应用于消费类电子和智能家居设备。 Android平台具备系统的开放性,应用上的无界限性,开发的快速性等优点,将是未来具有广泛应用的智能家居系统平台。

1.2 智能家居安防系统

安全防范系统是智能家居系统中非常重要的组成部分,在小区及户内可视对讲、家庭监控、家庭防盗报警、与家庭有关的小区一卡通等领域都有广泛应用。与传统安防系统相比,智能家居安防系统利用现代化的信息技术,具有如下的优势:

1)对报警信息实现快速传输。

2)对报警信息实现大容量存储。

3)对报警信息实现智能反馈控制。

4)利用信息技术,实现对报警系统的远程控制。

故使用智能家居安防增强了家居生活的安全性,将是未来安防技术的必然发展趋势。

2 基于Android平台智能家居安防系统总体设计方案

基于Android平台的智能家居安防系统使用传感器检测报警信号,可同时控制喇叭输出报警声音、驱动LED灯发光、使用3G语音模块拨打报警电话和发送报警消息、使用Wifi网卡对外传输报警信息。这样可以通过Android系统平台输出各种不同的报警信息,并通过通信技术实现报警信息的远程异地传输,使得人们对报警信息作出更快的反应,极大的提升了安防系统的应用价值。

基于Android平台的智能家居安防系统硬件平台采用高性能的ARM Cortex A8 处理器芯片,并连接7寸TFT触摸屏,采用基于Goldfish内核的Android 2.3系统平台。主控中央系统通过内置串口连接传感器、报警器、3G语音模块、Wifi无线网卡等外设硬件。

Android平台的系统框架如图1所示,从高到低可分为应用程序、用户空间、内核空间和硬件系统4个层次。智能家居安防系统控制软件处于最高的应用程序层,故在进行软件开发之前,需要移植相关硬件设备的Linux内核驱动到Android系统中。在智能家居安防系统中,需要移植的设备驱动包含显示、输入、电话、传感器、摄像头、音频播放、指示灯、电池等外设硬件。在软件系统开发过程中,只需要调用用户空间的Java框架和Android框架,并不需要直接访问硬件设备。

图1 Android平台系统框架

图2 软件系统架构图

智能家居安防系统软件可分为用户界面单位、中央控制单位、传感器模块、报警模块、语音模块和数据传输模块。软件系统架构如图2所示。

3 软件系统分模块设计

3.1 用户界面模块设计

用户界面单元提供人机交互的界面,主要包括登陆界面和布控设置界面。登陆界面提供用户身份信息的输入并进行验证,验证通过可进入布控设置界面,用户身份信息可存储于Android内置的SQLite数据库系统中。布控设置界面可以设置系统布控方式、传感器灵敏度、报警电话号码、报警短信号码和报警音频文件等参数。

布控方式可以为即时布控(立即启动报警布控)或定时布控(在某个时间布控),定时布控的时间可以设定在每天睡觉和上班的时间。若采用即时布控,则立即启动中央控制单元。若为定时布控,则需要使用Android系统的闹钟管理器设置一个闹钟实现,并设定一个类(设为TestReceiver)继承BroadcastRecever类,作为闹钟接受程序用于启动中央控制单元。具体代码如下:

3.2 中央控制单元

中央控制单位负责开启或关闭布控,收集和处理传感器的信息,控制报警模块报警,控制语音模块拨打报警电话,使用数据传输模块与远程终端之间双向进行通信。

中央控制单位首先根据用户界面单元或数据传输模块的信息确定是否开启布控方式,只要布控方式开启,即调用中央控制单元处理程序。中央控制单元处理程序首先调用传感器模块注册传感器,然后启动一个线程处理传感器模块传递的传感器数据。若传感器数据达到某个阀值而报警装置尚未启动,则立即启动报警模块和语音模块。

3.3 传感器模块设计

在智能家居安防系统中使用的传感器主要为光传感器和压力传感器,传感器模块的软件工作流程包括传感器检测、传感器事件获取、传感器数据获取。

检测传感器可使用SensorManager对象,它可返回一个可用传感器对象列表,并可注册程序中需要使用的传感器。在使用SensorManager对象注册传感器时,需要设定合适灵敏度,过高的灵敏度会加大系统负荷并出现误警现象,在智能家居安防系统中一般选择中等灵敏度。传感器事件监听可通过继承SensorEventListener接口实现,当传感器检测的信息发生变化即可触发SensorEvent事件。可通过SensorEvent事件的onSensorChanged方法获得传感器数据,并将传感器数据传递给中央控制单元进行解释,主要代码如下:

3.4 报警模块设计

可以在Android系统中事先录制报警音频文件(mp3)并存储与SD卡上,出现告警时直接播放音频文件实现报警,音频播放可使用MediaPlayer类实现,主要代码如下:

另外为了加强报警装置的使用效果,还可以使用Android系统的光源接口控制LED发光设备在报警装置启动的同时发光,主要代码如下:

3.5 语音模块设计

语音模块的功能是当存在告警信息时,通过Android系统内置电话模块硬件接口,可实现智能拨打报警电话,并同步发送报警短消息。

为了使应用程序直接实现拨出电话和发送短信,需要在AndroidManifest.xml设置拨号权限android.permission.CALL_PHONE和短信发送权限android.permission.SEND_SMS。然后在应用程序中通过Intent调用Dialer应用程序实现电话拨打,代码如下:

对于短信发送,可以使用SmsManager类的sendTextMessage方法实现。

3.6 数据传输模块设计

数据传输模块用于中央控制单元与远程终端之间的通信,用户可使用自身的智能手机作为智能终端,远程实现对智能家居安防系统的布控设置。

数据传输模块需要启动一个线程,用于接收接收远程终端传输的布控设置数据。布控参数与用户界面模块的设置参数基本相同,采用xml文档包装数据,数据传输模块与远程终端之间的通信使用面向连接的Socket套接字技术实现。

4 结论

本文对基于Android平台的智能家居安防系统进行了详细的分析与设计并最终实现,系统设计具有如下优点:

1)基于开源Android平台的开发,系统可运行于各种Android设备上,系统运行成本较低。

2)系统利用信息化技术构建了报警信息远程传输体系,体现了智能视频监控系统的最新发展方向。

3)软件设计时采用了模块化设计思想,系统具有较好的逻辑性,充分考虑到以后的移植、维护和扩展。

[1]沈华东,周义,张坤.基于GSM网络的柔性制造车间安防报警系统设计[J].机械设计与制造,2009,8(8):252-253.

[2]管凤旭,徐冉,杨伟.基于WinCE和GPRS的安防报警系统设计[J].实验技术与管理,2009,11(26): 45-48.

[3]夏继媛,冯明发.网络化智能家居控制系统中安防报警功能的设计[J].深圳职业技术学院学报,2005,(1):40-42.

猜你喜欢

智能家居报警远程
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
基于PLC的智能家居控制系统研究
远程诈骗
LKD2-HS型列控中心驱采不一致报警处理
基于Zigbee的无线通信技术在智能家居中的应用
智能家居发展或将实现弯道超车
2015款奔驰E180车安全气囊报警
死于密室的租住者
奔驰E260车安全气囊报警