柳 盼,付 蔚
(重庆邮电大学自动化学院,重庆 400065)
基于And roid系统的室内移动控制终端设计
柳 盼,付 蔚
(重庆邮电大学自动化学院,重庆 400065)
随着物联网技术的快速发展,家用设备网络的潮流将不可逆转,智能家居时代即将到来.针对目前一般家庭内部的应用环境,对智能家居系统进行分析和研究,设计了基于Android系统的移动终端,实现家居安防、家电控制、环境监测、门禁管理、可视对讲等功能.
物联网;Android系统;智能家居
随着信息技术的发展,电子信息应用范围得以不断延伸,物联网、通信网络与终端为代表的电子信息技术得到了前所未有的发展.开展电子信息技术在智能家居的集成技术及应用模式的研究,通过物联网等多种电子技术让人与其生活,居住的家庭物理空间和信息空间完美融合,实现家庭生活“低碳、绿色、舒适和智能化”的目标.在智能家居控制系统中,核心设备是家居智能控制终端,本文将Android系统与智能家居联系起来,在系统中,Android控制终端对智能家居系统进行控制,实现对于家中设备的控制、环境值得读取、能耗的管理和家居安防的实现.
Android系统是嵌入式设备或移动终端的软件环境,它允许研发人员根据自己的硬件环境,对其核心代码进行改编.尽管如此,Android系统仍可自上而下的分为四个层次,分别为Linux内核层、系统运行库层、应用程序框架和应用程序层,如图1所示[1].
Linux内核层即Linux Kernel,是Android系统的最底层,使用了Linux2.6的内核,包括有安全性、网络协议、内存管理、进程管理和驱动程序等.该层是为软件层和硬件层建立的一个抽象层,使得应用程序开发人员不用关心硬件的细节,给开发者带来极大的方便.
系统运行库包括有两个部分,Libraries和Android Runtime.Libraries为Android系统提供各种系统库,Android Runtime则是负责提供运行环境.
应用程序框架即Application Framework,是Android原创的架构层,由几个Java库组成.其中,视图系统提供各种视图组件,活动管理器管理各个应用程序的生命周期,内容提供者是应用程序之间用来相互存取/分享数据的工具,还有窗口管理器、电话管理器、位置管理器等等.
应用程序层即Application,是由Java代码、资源文件、工程描述文件(AndroidManifest.xm l)成产的各个单独的应用程序包.值得一提的是Android系统中每个应用程序的地位是相同的,即系统自带电话、短信等应用程序与第三方应用程序完全平等的,这个特性为一些特殊功能软件的开发提供了方便.
图1 Android系统架构图
文中设计的智能家居控制系统主要包括有Android控制终端、家庭智能网关和底层组网节点、设备等三大部分.系统的总体结构示意图如图2所示[2].
图2 系统的总体结构示意图
Android智能手机或者平板控制终端,安装控制程序后,与用户进行交互.家庭智能网关作为下层节点和上层终端之间信息的提供和转换站,其负责转发各类传感器数据和各类控制命令以及提供音频、视频信息等.手机或者平板与家庭智能网关通过家里的无线路由器连接.
4.1 终端软件的功能设计
家居控制终端的主界面主要包括两大块,一部分为主控制模块,包括场景控制、环境值查看、家电控制、视频监控、背景音乐、视频对讲、家居安防、能耗管理和门禁管理这九大类,另一部分为快速控制模块,是为了用户使用方便,在主界面上提供给用户的进出门是常用的功能的快捷方式,包括有空调控制、灯光控制、外出和回家两张场景控制.在主界面部分的九大块,点击之后会分别进入相应的控制界面.每个界面都会针对用户不同的操作进行相应的逻辑处理.在场景控制界面下,考虑到为用户提供个性化控制,设计了场景控制设置界面,让用户自主设置在不同场景的控制方式,如图3所示.
图3 控制终端的功能图
4.2 传终端软件的流程图
终端软件进入主界面,就对用户操作进行监听并启动数据接收服务线程和对讲请求监听线程,开始接收和储存环境值数据,并对对讲请求进行监听.同时当程序首次运行时,会建立相应的数据库文件,来存储开门和撤防密码,用户使用习惯和当前环境值.当用户进行手动操作时,监听器根据不同的手势指令进行相应的处理.当用户长时间未进行操作时,系统将释放该界面所占的相关资源并自动跳转到待机界面.待机界面设计显示当前时间和日期.当用户进行任意操作时,程序就从待机界面跳转到主控制界面,并重新开始进行跳转待机界面定时,如图4所示.
5.1 传输协议的选择
家居控制系统采用WiFi进行通信,Android系统提供了Socket套接字来实现通信.Socket可遵循TCP和UDP两种协议进行通信.TCP和UDP是工作在运输层上的协议,它们在网络层上都是采用IP协议,向上面的应用层提供通信服务,它们提供的通信可以理解成为进程之间的逻辑通信.TCP协议是提供面向连接点对点可靠交付的服务,具有流量控制和拥塞控制.而UDP协议是提供无连接尽最大的努力交付的服务,没有流量控制和拥塞控制,同时与TCP协议点到点通信的不同是UDP协议支持一对一、一对多、多对多的交互通信.在面向字节的TCP中,Socket以流套接字形式存在,提供一种可信赖的字节流传输服务.在面向报文的UDP中,Socket以数据报套接字形式存在,提供一种数据打包服务.
通过对Socket网络通信的两种不同形式的分析,以及对TCP和UDP协议的研究,考虑到控制命令和数据的信息量小,系统采用的是非连接的UDP协议.而视频对讲通信模块中,视频数据对数据顺序要求高、数据量大,因此采用TCP协议通信;音频数据相对数据量小,为保证在网络情况差时,对讲功能的正常进行,音频数据也采用UDP协议.
5.2 数据库模块设计
本系统内置数据库的设计主要分为三个部分:用户习惯信息存储,主要是存储用户对场景控制功能的设置;家居环境值存储,主要是存储网关发送过来的家中各个房间的环境值,方便用户随时了解家中环境;门禁密码和撤防密码存储,主要是存储家中开门和撤防密码.由于Android本身不自动生成数据库[3],需要我们自己创建数据库.核心代码如下:
考虑到数据库应该在程序第一次建立时被创建,因此程序设计在程序一开始就会立即启动的MessageService服务中第一次实例化DBHelper来创建数据库文件.
图4 控制终端软件设计流程图
根据家居控制终端系统的对控制功能的设计,控制功能主要在控制终端的主界面、能耗管控界面、场景控制界面、家电控制界面和环境值查看界面上完成.主控制界面主要完成快捷控制功能,包括空调制冷、制热控制、灯光控制、外出、回家场景控制.能耗管控界面实现能耗消耗的实时情况和无线插座的开断控制.家电控制界面实现对于灯、风扇、窗帘、电视等设备的控制.环境值查看界面能够实时查看温度、湿度、烟雾等传感器数值.
本文主要是介绍了基于Android系统的室内移动控制终端设计和关键技术,包括有Android的系统架构、智能家居系统的设计和Android控制终端的功能模块和实现,较好的满足了系统的设计要求,操作简易,为智能家居控制系统提供了一个良好的终端系统应用平台.
[1]韩超.Android核心原理与系统级应用高效开发[M].北京:电子工业出版社,2012.
[2]陈培培,顾韵华.Android平台下基于ROI运动检测的视频字符实时定位[J].微电子学与计算机,2013,30(8):86-89.
[3]刘琳.嵌入式数据库SQLite的安全性研究[D].昆明:昆明理工大学,2012.
Design of Indoor Mobile Control Terminal Based on Android System
LIU Pan,FUWei
(School of Automation,Chongqing University of Posts and Telecommunications,Chongqing,400065,China)
With the rapid development of networking technology,the trend of home networking equipment will be irreversible,smart home era is coming.Aiming at the currentgeneral applicationswithin the family environment,analysis and research of the smarthome system,we design Android-basedmobile terminals,to achieve home security,appliance control,environmentalmonitoring,access control,video intercom and other functions.
networking;Android system;smart home
TP273.5
A
1672-2590(2015)03-0040-05
2015-03-04
柳 盼(1990-),男,湖北荆州人,重庆邮电大学自动化学院硕士研究生.