基于Android平台的智能家居监控系统

嵌入式设计应用

132人已加入

描述

  本文设计的视频监控系统客户端设备为Android平板电脑,该客户端从IP摄像机获取实时的监控图片,根据不同场景用不同算法来判断家中有无人员出入,标注关注对象并智能跟踪,辨别各房间的照明情况及电视、计算机等家电的使用情况,可同时实现4路智能监控

  1 监控平台介绍

  1.1 客户端平台介绍

  客户端采用Android 智能操作系统,Android 是Google公司于2007年11月5日发布的基于Linux平台的开源手机操作系统的名称。该平台由操作系统、中间件、用户界面和应用软件组成,底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。

  2011年初数据显示,仅正式上市2年的Android操作系统已超越称霸10年的Symbian系统,跃居全球最受欢迎的智能手机平台。现在,Android系统不仅应用于智能手机,也在平板电脑市场急速扩张。同时,Android智能手机操作系统具有5大优势:开放性、摆脱运营商的束缚、丰富的应用选择、开发商不受任何限制和无缝结合的Google应用。

  1.2 IP摄像机介绍

  IP摄像机是一种可产生数字视频流,并将视频流通过有线或无线网络进行传输的设备,其不需要额外的软硬件,便可以将活动的数字图像直接传输到互联网上,使在世界各地的计算机都可以通过浏览器观看实时活动数字图像。IP摄像机支持TCP/IP,SMTP E-mail,HTTP以及其他Internet协议,支持诸如Windows,Unix,Mac及OS/2等多种操作系统。

  该设计采用海康威视公司的DS-2DM1-502型网络中速智能球型摄像机,支持客户端通过HTTP协议下载监控图片和H.264码流。

  2 程序设计原理及实现

  2.1 客户端设计原理。

  该设计采用Android系统的平板电脑为客户端,客户端的软件流程如图1所示。

  

Android平台

 

  系统的具体实现大体分为两部分:与IP摄像机连接,获取所需视频流;根据监控场景做出相应判断及响应。

  2.1.1 获取监控视频

  客户端通过WiFi与IP摄像机连接,登录IP摄像机后,选择监控频道,可同时实现4路智能监控,即可以观察家中的基本情况:家中有无人员进出,是否有人在家,对监控中出现的对象进行关注跟踪,辨别各房间照明情况以及电视、计算机等家电的使用情况等。客户端实现方法为启用多线程控制4路监控任务,使每路监控任务具有相对独立性,以便更换频道。

  多线程的具体实现方法有两种,分别是继承Thread线程类和实现Runnable 接口。客户端若采用继承Thread线程类的方法,则不能继承除线程类之外的其他类,而界面子线程必须继承View视图类,所以本设计采用第二种方法。监控实现中,每一路画面都是一个单独的线程,也是一个完整的视图,它是实现了Runnable接口且继承View类的类对象。因此每个对象之间相互独立,每路监控画面相互独立,可以灵活选择监控频道,以便后台控制管理。

  界面实现上,主界面为4路监控窗口,初始选择监控频道后便可通过HTTP协议获取监控图片序列,根据场景进行算法处理,并播放智能监控画面。

  2.1.2 程序优化

  客户端需要根据不同场景调用不同的智能监控算法对发生的事件进行判断与识别,这一过程包含了大量的图像处理运算,如灰度化、背景建模差分、中值滤波和形态学运算等。Android操作系统的开发语言为Java,但是纯Java编程的图像处理程序在Android手机上的运行速度是其很大的问题。通过JNI(Java Native Interface)技术在Java程序中调用C程序模块,明显地提高了应用程序的运行速度。笔者截取了40帧作为观察对象,程序各主要运算步骤的平均运行时间如表1所示,从中可以看出运行时间缩短到了原来的1/18~1/17.

  表1 主要算法Java和JNI实现的运行时间比较

  

Android平台

 

  2.2 功能与实现

  该设计的智能监控系统具有3大功能:管理家中所有摄像头,可灵活选择监控点;执行多种不同智能算法;能够和其他联网设备联动,实现智能家居控制。

  笔者用不同的实际场景对该系统进行了测试,系统的功能描述与实验结果如下。

  1)多路监控。

  获取实时监控图片,同屏显示最多4路经后台算法处理后的智能监控画面,如图2所示。若需更换监控频道,可点击监控界面右侧的路数列表,即可弹出频道选择栏,进行频道更换,以便更全面地实时监控家中情况,如图3所示。

  

Android平台

 

  

Android平台

 

  2)入侵检测。

  如图4所示,该系统利用运动物体检测和识别算法,实现对特定区域的入侵检测,从而判断人员进出情况,并在有陌生人入侵时启动报警。报警形式为弹出提示信息,并在该监控频道窗口外围添加不停闪烁的红色边框。

  

Android平台

 

  3)家电使用情况监测。

  该系统可检测各房间的照明情况,如某房间长时间无人活动或在室内光线充足时,将弹出提示信息提醒用户远程控制智能家电,关闭不必要的照明设备,如图5所示。

  

Android平台

 

  该系统也可根据计算机显示器或者电视屏幕的画面亮度与明暗变化和屋内有无人员来判断计算机和电视是否有人使用,并通知用户进行处理,如图6所示。

  

Android平台

 

  4)对象跟踪。

  用户可根据需求,选中监控画面中出现的对象作为感兴趣目标,该系统将执行运动检测程序,对该对象的运动范围进行实时圈定,方便监控管理,如图7所示。

  

Android平台

 

  3 总结

  该智能监控系统允许用户选定多个摄像机进行监视,从而能够全面及时地远程观察家中情况,并且可在异常情况发生时自动发出警报以提醒用户家中发生危险。另外,当家中无人或在某一房间无人员活动时,系统也可提醒用户关掉不需要工作的家电以节约能源,这一功能体现了监控系统与物联网的融合。此智能监控系统具有良好的便携性,功能较为完善。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分