基于Android 的远程视频监控系统的设计与实现

2022-07-21 03:40燕,梁
无线互联科技 2022年9期
关键词:远程监控传感器

苏 燕,梁 武

(北海职业学院电子信息工程系,广西 北海 536000)

0 引言

作为首个真正完全开发的手机移动平台,Android以其开源性及强劲的功能被称为目前世界上最为流行的手机操作系统之一。 Android 系统最初由安迪鲁宾等人开发研制,最初的目的是为数码照相机提供一个先进时尚的操作系统,经过发展后发现市场需求根本不大,然而智能手机市场又刚好适应社会需求快速成长,于是Android 系统被他们改造成一款专门适合智能手机的操作系统。 Android 一词英文本意为“人形机器人”。 2007 年11 月5 日,Google 公司正式对外宣布,并展示了基于Linux 内核系统的开放源代码移动设备操作系统并宣布将其命名为Android。 自此Android 便以最具开放性的手机开发系统在操作系统中崭露头角。为了更好地开发与推广Android 手机操作系统,2007 年11 月,Google 公司与34 家手机企业携手建立了开发手机联盟。 随着Android 操作系统的不断完善和快速发展,Android 操作系统慢慢逐渐替代并拓展到平板电脑及其他领域[1-3]。

1 Android 系统的固有特点及其特殊优势

(1)可自由随时在无线网络间切换,大大地节省上网费用。

(2)系统操作界面更加简单方便,操作也更加便利。

(3)网络链接简单快速,是移动终端的最佳搭档。

(4)支持多项任务同时进行,任务之间切换简单。

(5)与微软的Exchange 可以同步,使工作娱乐可同时进行。

(6)系统发展前景更加广阔,软件卸载安装更便捷。

(7)Linux 内核非常强大,几乎不死机。

2 Android 体系结构

由于Android 系统需要支持Java 代码的运行,最底层 LinuxKernel (Linux 内核)的所有程序几乎都是用C语言来编写的,因此最底层是整个系统的核心支持库。HAL 层,硬件抽象层,Android 体系结构没有HAL 层、硬件抽象层。 个性定制无法改变其源码。 几乎都是驱动代码封装起来。 Lib 库层,为了方便程序员的学习,封装起来的一个层,这样就更加简单方便了,全部都是C 语言编写的封装方法,不需要操作底层。 应用框架层与应用层都是用Java 代码写,在编写过程中为了让程序员方便用Java 直接调用C 语言,封装了新的层,通过这样的方式直接用Java 调用方法就可以了。

3 Android 生命周期

Android 系统中,每个Android 应用都将运行在自己的Linux 进程当中。 当一个程序或其某些部分被请求时,它的进程就被创建了;当这个程序没有必要再进行下去且系统需要回收这个进程的内存用于其他程序时,这个进程就“死亡”了。 Android 系统主动管理资源,为了保证高优级程序正常运行或者为了减轻系统内存负载,Android 系统会主动终止低优先级的程序,因此程序的生命周期是由Android 系统独立控制的。Android 系统中的进程优先级,如图1 所示,由优先级从低级到高级的顺序进行[3]。

图1 进程优先级

4 Android 系统视频监控传感器的应用

Android 系统是一个面向应用程序开发的平台,它拥有具有吸引力的用户界面元素、数据管理和网络应用等优秀的功能。 Android 还提供了许多颇具特殊的接口,如传感器。 传感器是让Android 设备区别于其他计算机的重要功能。 如果没有传感器,Android 设备只是一个动力不足、屏幕太小的Web 浏览器,同时其输入机制也很笨拙。 只要手机设备自带的硬件可以提供这些监控传感器,Android 系统应用就可以从外界条件通过传感器来获取,其中包括手机设备的运行状态、温度和压力、目前的摆放方向、外界的磁场等。 该系统可以保障提供驱动程序去管理这些传感器,然而当这些传感器迅速感到外部环境发送改变时,这些传感器数据由Android 系统负责管理[4-6]。

视频监控实现应用开发的必备条件就是对传感器的灵活运用,传感器不仅仅是一种检测装置,同时也能检测到被测量的信息,并能将被检测到的信息,通过一定的规律转换成其他所需形式或电信号的信息输出,以此来满足达到所需信息的传输、处理、存储、显示、记录和控制等要求,它也是实现自动控制以及自动检测的首要环节。 Android 系统中内置了很多类型的传感器,这些传感器被封装在Sensor 类中。 Sensor 类是管理各种传感器共同属性(名字、供应商、类型、版本)的类。SensorManager 类就是全部传感器的一个综合管理类,也同样包括传感器的种分类、采样率、精确度等,是Android 为应用提供传感器硬件访问能力的系统服务。和其他系统服务一样,它允许用户注册或注销传感器相关事件。 一旦注册成功,应用将会接收到从硬件传来的传感器数据。

5 Android 中常用的传感器

Android 中的传感器大致可以分为六大类。

5.1 光线传感器

光线传感器主要是用来检测手机周围光的强度,位于一个小的黑色玻璃开口下面。 它只是一个光敏二极管,工作方式和LED 的物理原理相同,但是发光条件却正好相反。 不是在施加电压时发光,而是在光入射时产生电压。 与其他传感器区别之处就是,该传感器只能读取一个数值,也就是手机周围光的强度,单位为勒克斯(LX)。

5.2 接近传感器

接近传感器包含一个在光电探测器边上的弱红外LED。 当有物体离传感器足够近时,光敏传感器会检测到反射的红外光。 接近传感器分为两类:一类是用来检测物体与手机的距离,单位是CM,另一类则是现在大多数智能手机中的接近传感器用法——测量物体是否在一个阈值距离内,其有价值的阈值距离一般为2~4 CM。 其中一些接近传感器往往只能返回远和近两种状态。 接近传感器可以将最大距离返回状态,而小于最大距离就是返回近状态。 接近传感器可用于在接听电话时自动关闭LCD 屏幕以达到节省电量的目的。 而另外一些芯片集成了接近传感器和光线传感器的共同功能。

5.3 环境温度传感器

环境温度传感器提供室内温度,这种传感器是为了取代已逐步淘汰的用于检测CPU 温度。 环境温度传感器感应后会返回一个数据,收到的该数据表明了手机设备周围的温度。

5.4 方向传感器

方向传感器主要用来感应手机设备的状态摆放,并且方向传感器可以返回3 个角度,而这3 个角度就可确定手机的摆放状态,分别为:方向角、倾斜角以及旋转角。

5.5 加速度传感器

加速度传感器或许是目前为止最成熟的一种微机电传感器,现如今市面上看到的加速度传感器种类繁多。 而我们的手机中常用的加速度传感器有BOSCH的BMA 系列、AMK 系列、ST 系列。

5.6 磁场传感器

磁场传感器主要工作用来获取手机设备外部的磁场强硬度。 哪怕周围没有任何的直接磁场感应,手机设备也都会始终处于地球磁场中。

6 Android 远程视频监控系统的设计与实现

视频的开始和停止是由晃动手机来实现的,其主要思路是:当手机晃动时,加速度的变化幅度超过设定界定,视为决定播放和停止。 与获取传感器值类似,首先通过gessystemService 方法得到SensorManager 对象,然后通过RegisterListener 方法来对其进行注册,并在onSensorChanged()方法中设置监听器以实现该功能,最后注销传感器。 视频监控系统实现代码如下:

7 结语

远程视频监控已经成为社会发展的潮流,基于Android 系统的远程视频监控更是极其方便用户随时随地查看,保障安全性和及时性,Android 系统的远程视频监控作为一项新流行的科学技术,虽然目前还在不断研究和探索中,但随着社会的不断发展,设备及系统的不断完善,计算机网络的飞快进步,Android 系统的远程视频监控将会运用到各个领域。

猜你喜欢
远程监控传感器
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
The Great Barrier Reef shows coral comeback
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
“传感器新闻”会带来什么
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
跟踪导练(三)2
远程诈骗