智能家居app的软件结构设计
2019-09-24 17:30    捷易智能办公

智能家居app软件结构设计的主要任务是分层设计软件模块,并明确中间件的特点和作用。分层设计软件模块结构主要是把软件模块组织成良好的层次系统,并描述各层次模块间的关系。层与层之间是松耦合的关系,下层模块负责为上层模块提供支持。

 

传统意义上的中间件是位于平台(硬件和操作系统)和具体应用之间的通用服务,这些服务具有标准的程序接口和协。智能家居app中间件是位于 Android 操作系统和用户功能之间可复用的功能模块,具有良好的复用价值和扩展性。开发人员可以基于此中间件进行二次开发,实现智能家居系统其他 APP。

 

1. 智能家居app软件模块结构 

 

软件分层是总体设计阶段常用的软件结构设计方法。如下图所示

d6c8db4e375c521c338954ccffd95d77.png

智能家居app软件层次图

 


智能家居
APP 采用分层结构,从上到下共分为四层,分别是用户界面层、用户功能层、中间件层和操作系统层,其中,中间件层又分为核心功能层和基础功能层。

 

层与层之间存在自上而下的依赖关系,下层为上层提供公开的服务接口,但隐藏具体的实现细节,当某一层的内部实现发生变化时,只要外部接口不变,就不会影响到其他层的实现。每个层次按模块划分,各模块之间相互独立,不同模块间通过接口相关联,尽量满足高内聚低耦合的准则。

 

2. 智能家居 APP 各层次的组成模块

智能家居app各层次组成模块如下图所示。

 

3d1c0dbde6e6b22aa063165b13e255a7.png

软件模块图

 

Android 操作系统为基础,中间件基础功能层为核心功能层提供网络通信、数据存储、数据管理和第三方库等基础服务。中间件核心功能层为用户功能层提供所需的设备模型、流媒体控制、语音控制、消息推送、数据访问代理、升级管理等核心服务。用户功能层依赖中间件层提供的服务,实现用户需要的具体功能。最终,用户功能层通过 UI 界面与用户交互。

 

用户功能是智能家居 APP 直接展现给用户的基础功能,这里仅仅列出了一些核心功能。中间件是介于用户功能和 Android 操作系统之间的服务支持层,可作为独立组件开发,具有重复使用的价值。基于中间件,开发人员可以开发智能家居系统其他APP,这也是智能家居app采用分层结构的优点。

 

3. 智能家居 APP 各层模块的功能

智能家居 APP 各层模块的功能下表所列。

层次/模块

模块

功能

UI界面层


提示UI展示界面

用户功能层

设备控制

实现对家居设备的远程操控

视频监控

通过手机实时监控家中场景。

情景模式

自定义对家居设备的便捷操作。

数据查询

根据关键字查询功能项、家居设备、信息服务记录等,或者直接控制设备。

安防警报

传感器报警与联动处理。

软件升级

智能家居app手动或自动升级功能。

用户管理

用户注册、登录等功能。

核心功能层

设备模型

对实际设备与设备关系的抽象建模。

语音控制

基于语音识别技术,实现对智能家居设备的语音控制。

流媒体控制

基于第三方类库的视频采集和播放。

升级管理

为智能家居app提供全量升级和增量升级。

消息推送

从服务端推送消息到手机端。

数据访问代理

为上层模块提供数据访问服务。

网络通信

网络监测

检测是否存在网络。

Socket,HTTP

提供阻塞和非阻塞的网络通信。

数据存储

数据库

基于sqlite数据库的数据操作。

文件

基于XMI,JSON文件的数据操作。

SharedPreferences

基于键值对的数据操作。

数据管理

数据解析

XMI和JSON格式数据的解析与系列化

provider

向其他模块提供数据支持。

第三方库

patchroid

支持智能家居app增量升级的第三方类库。

流媒体库

支持手机端视频监控的类库。

第三方应用

Google voice search

负责把中文语音转换为中文汉字。

百度云推送

为信息服务提供消息推送服务。

 

 

 

专题推荐
相关推荐
立即体验管理平台
温馨提示:提交成功后会自动跳转到体验管理后台
的页面,您可以根据系统自动发送的账号和密码登录
试用。.注:账号和密码同时适用于管理后台和小居APP。

手机扫一扫
关注捷易科技

  • 13502815687
  • 18026926246
  • 捷易科技智能家居联系人2
  • 捷易科技智能家居联系人1