APP下载

面向移动终端的智能花盆系统设计

2020-10-15殷西祥

乐山师范学院学报 2020年8期
关键词:服务端终端设备花盆

殷西祥

(安徽商贸职业技术学院,安徽 芜湖 241002)

0 引言

随着生活水平的不断提高,人们对美好生活的向往更加强烈,爱花人士越来越多,花盆是生活中必不可少的用具。人们常常根据个人喜好或植物的特性选用花盆,但是对于经常疏于照料或过度养护盆栽的用户来说,使用普通花盆容易导致植物因长时间缺少水分、光照等情况枯萎甚至死亡。用户更希望养护一次能维持较长时间内植物生长所需的水分和其他养分。

近年来,随着移动互联网技术和物联网技术的高速发展,人们更习惯于移动终端设备如手机、平板电脑的使用。因此,设计一款面向移动终端的智能花盆系统尤为重要。文献[1-4]主要是从硬件的角度和利用物联网技术去设计智能花盆;文献[5]设计了一款自动浇水补光的可旋转式智能花盆;文献[6]虽然也设计了Android APP,但是其核心还是注重花盆的内部结构设计。与此同时,Android操作系统的市场占用率远远领先于其他移动终端操作系统。本文以Android系统为例设计基于Android平台的智能花盆系统,该系统能将通过传感器搜集到的土壤温度、湿度、pH值等盆栽生长环境指标信息实时显示在基于Android平台的移动终端设备上。通过该系统的使用,用户能手动远程控制或自动控制水泵、LED灯光、报警器等控制器,可大量减少人工费时费力的操作,避免疏忽,并能精准地实现智能化养花服务。文章主要从基于Android平台的智能花盆系统物联网架构设计、系统模块设计、数据库设计、软件设计与实现等角度展开阐述。

1 基于Android平台的智能花盆系统物联网架构设计

智能花盆拟在传统花盆的基础上增加土壤温湿度、pH值、光照强度等传感器和水泵、LED灯光、卷帘等控制器。其物联网架构由应用层、感知层和网络层组成[7]。智能花盆物联网架构如图1所示,通过ZigBee、Http等网络技术与协议,各传感器将获取到的数据传递到Web服务端的数据库,基于Android平台的移动终端通过网络访问Web服务端的相关接口获取各传感的实时数据。

图1 智能花盆物联网架构

网络层的ZigBee技术主要负责发送感知层获取的各传感器数据到Web服务端,同时接收来自控制模块如水泵控制器、LED灯光控制器、卷帘控制器和报警器等的受控信息。感知层的受控模块在花盆环境监测到的传感器数据出现异常,即超出植物生长的相关阈值时,通过控制单元控制受控设备如水泵、LED灯光、卷帘和报警器等进行相应的植物生长环境补偿。Http协议主要作用于应用层的Web服务端与Android移动端之间的数据交互。

2 基于Android平台的智能花盆系统模块设计

智能花盆系统的软件总体架构主要分为Web服务端和Android移动终端,它们之间通过JSON数据进行交互。Web服务端的主要功能模块有用户管理模板、数据管理模块和操作日志管理模块。用户管理模块主要是对用户的角色、用户名称和密码等数据进行加密、管理。数据管理模块主要是存储从温湿度传感器、光照强度传感器和pH值传感器获取到的数据并形成与Android端的数据交互,操作日志管理模块主要是对用户的系统操作和用户对控制器的操作进行存储记录,方便对用户的操作进行记录与追溯。Web服务端的主要功能模块如图2所示。

图2 Web服务端主要功能模块

Android移动终端的主要功能有获取各传感器的数据,用户信息的管理和消息推送,使用移动终端设备对智能花盆的各个控制器进行远程控制,也可以根据用户在移动终端设备上设置的各传感器阈值进行自动控制等功能。主要功能模块如图3所示。

图3 Android移动终端功能模块

3 基于Android平台的智能花盆系统数据库设计

数据库是软件系统的重要组成部分,合理的数据库设计往往能使系统的设计减少冗余,使系统的编码实现更加健壮,使系统的维护更加便利。

SQLite数据库是一种嵌入式的、占用资源非常低的轻量级关系型数据库,被广泛运用于移动终端设备中[8]。本系统移动端的数据库采用SQLite数据库。移动终端设备不像传统服务器拥有几TB甚至更大的容量,在Android移动终端中数据库只存放系统必需的各传感器的数据、用户设置的阈值和用户的基础信息,其他的信息都存放在Web服务端的数据库中。移动终端数据模型如图4所示,数据库具体设计如表1、表2和表3所示。

图4 系统数据模型

表1 传感器属性值

表2 传感器阈值设置

表3 用户

4 系统实现

该基于Android平台的智能花盆系统分为服务端和移动端两部分组成,服务端与移动端通过Http协议实现JSON数据的交互,采用MVC架构模式,即“模型—视图—控制”模式[9]。由于考虑到Android设备的容量和网络延迟等问题,系统中需要频繁访问的数据如用户访问权限、用户设置的阈值等信息利用键值对的方式存放在SharedPreferences中,方便用户的存取。Android移动终端系统采用MVP模式和Material design设计风格,使用Volley网络框架实现与服务端进行数据请求交互。

Web服务端设计与实现的实验环境是Eclipse 64位JavaEE企业级开发环境eclipse-jee-neon-3-win32-x86_64,数据库采用 MySQL v5.7.27;移动端设计与实现的实验环境是Android Studio 3.1.2集成开发环境,大量使用Gson、GsonFormat和FindViewByMe等依赖库和第三方插件技术。Android移动终端数据库采用轻量级嵌入式数据库SQLite,辅助开发工具为HBuilder、Adobe Photoshop CC 2019和Apache Tomcat 7等。以下重点介绍系统的Android移动终端的主要功能实现。

4.1 主界面设计

主界面设计如图5所示,主要是智能花盆系统各模块的入口,提供侧滑和底部导航两种方式进入相关功能模块。侧滑部分主要完成移动端的“系统登录、远程控制、手动控制与传感器指标、关于我们”等功能。底部导航部分主要完成“阈值设置、我的信息”等功能。

图5 主界面设计

功能实现:主界面使用Android 5.0以上组件开发,能很好地兼容Android 4.0以上版本的移动终端设备。使用CoordinatorLayout来作为顶层布局协调各子布局,使用DrawerLayout与NavigationView来实现侧滑及侧滑菜单的功能实现。底部导航使用RadioGroup与Fragment来实现。

4.2 手动控制与传感器指标功能实现

手动控制与传感器指标界面设计如图6所示,手动控制包括对LED灯光、卷帘、报警器和水泵等的远程控制,达到通过Android移动终端设备远程操作相关控制器的功能,通过模拟实现当花盆缺少相关环境指标时及时地进行补充光照、浇水或遮光等功能。传感器指标的功能是通过服务端实时获取各传感器的值并显示在移动终端设备上。

图6 手动控制与传感器指标界面设计

功能实现:传感器指标的功能是获取传感器的实时数据即JSON数据包,通过GSON等依赖包解析JSON数据包后显示在Android移动终端设备上并实时更新;手动控制功能是通过Android移动终端传递相关JSON数据到Web服务端,Web服务端解析传来的JSON数据,通过串口对相关的设备进行操作。操作完毕后,Web服务端将JSON数据传递到Android移动终端即Android客户端,Android客户端根据操作的完成情况收到相关的提示。便于用户远程操作并及时了解操作是否如期完成等情况。

5 结语

该基于Android平台的面向移动终端的智能花盆系统通过联想智能农业模拟设备测试[10],能将传感器采集的数据直观地显示在移动设备中。用户可以在Android移动终端APP中设置阈值。当植物生长环境指标超出阈值设置的范围时,系统会自动触发报警器报警,并通过WebSocket等技术实时推送消息给用户。用户可以通过移动终端设备远程操作该系统,手动或自动处理水泵、灯光、卷帘等控制器来进行相应的植物生长环境补偿。该系统能顺利地解决盆栽在种植过程中出现的养分不足或过剩等问题,减少用户费时费力的人工操作,精准地实现智能化养花服务。

猜你喜欢

服务端终端设备花盆
视频监视系统新型终端设备接入方案
搬花盆
找花盆
云存储中基于相似性的客户-服务端双端数据去重方法
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
配电自动化终端设备在电力配网自动化的应用
车站信号系统终端设备整合及解决方案
为什么花盆花盆底部有小洞?
基于手持终端设备中软件通信架构的应用