基于移动端智能家电控制系统
2020-12-07彭鹏郑志浩江玲田野
彭鹏 郑志浩 江玲 田野
摘 要:移动端智能家电控制系统是一个利用物联网领域相关技术,将电器设备同互联网硬件、软件相结合的控制系统。它的核心问题是解决家电的联网和非接触式控制,改善现有智能家电设备存在协议不一致,单个设备独立生产使用成本较高的不足。文中硬件采用嵌入式Linux开发板TQ2440作为控制终端,Java服务器作为主机服务器,Web页面作为前端展示。系统协议统一,简化了设备拓展流程,降低了设备要求,能够极大提高系统的易用性。
关键词:物联网技术;嵌入式Linux;Java服务器;智能化;家电控制;移动设备
中图分类号:TP391文献标识码:A文章编号:2095-1302(2020)11-00-04
0 引 言
计算机及信息技术革命是继电力技术革命之后的第三次工业革命。自计算机技术的诞生以及高速发展,迅速将人们的日常生活、学习、交流和工作推向了信息化和便捷化。而随着计算机技术的发展,物联网理论构架逐渐成形,物联网技术对人们的生活提出了智能化和移动化等新的要求,也对传统家电发起了挑战。目前,先进的家电控制系统、高效完善的家电使用体验、自动智能的居家环境和信息化的资源配置管理和购物方式等,已经逐渐成为主流,家用电器的智能化已然成为了一种趋势[1]。
伴随着我国计算机技术高速发展的大环境,物联网技术进步飞快。在控制技术、传感技术和数据运用技术集中高速成长的大背景下,家用电器智能控制技术也在不断成熟,智能家电控制系统已经出现在不少家庭生活中,逐渐代替传统的家电。但目前市面上的智能家电控制界面,一般都采用的是嵌入式LCD触摸屏控制,或采用下载APP的形式进行联网控制,以上这两种方案都不算友好。目前市面上以智能家电单品居多,且各种智能家电单品有着不同的使用规范,用户很难将多个单品进行统一的控制管理,所以设计一款基于移动端的统一控制管理多个智能家电的控制系统很有必要。
鉴于此,本课题所提出的基于移动端智能家电控制系统的设计开发,目的就是利用成熟的JavaWeb技术和嵌入式Linux技术为用户展现一个便捷、友好的交互界面,集成一个统一规范的硬件和软件的数据管理系统。本系统以TQ2440作为开发板,在裁剪且移植好Linux系统和BOA服务器之后,驱动LED灯、光敏电阻、DS18B20和步进电机。当JavaWeb请求CGI程序时,CGI程序执行控制操作或者返回数据。前端使用HTML技术,使用兼容移动端显示的BootStrap框架,移动设备可以直接访问服务器,登录获得操作权限。也可以二次开发,例如以公众号为入口对家电进行控制等,轻松实现一个系统对多个家庭设备进行管理。
1 系统总体设计
1.1 系统概述
Linux系统从1991年问世到现在不断完善发展,如今的Linux系统已发展成为功能强大、趋于完善的操作系统之一[2]。故本系统提出了以嵌入式Linux系统作为数据收集终端,将用户数据展示、功能操作和数据持久化放到主机服务器的设计思想。使用TQ2440作为开发板,上位机部分则搭建JavaWeb服务器,使用MySQL数据库持久化系统数据。上位机的Web界面不仅展示数据,而且还可为用户对设备的控制提供指令操作接口。本系统将电器设备统一管理并展现给用户轻量级操作效果,使得用户对智能家电设备的管理和操作更加便捷。
1.2 系統体系结构
本系统通过传感器收集温度、光照等环境数据,开发板根据收集的数据对电器设备进行唤醒和关闭等智能控制。此外,本系统还可以通过移动设备访问主机服务器,查看部分环境信息,以及下发控制命令。命令通过主机服务器经过互联网下发至TQ440开发板,开发板根据命令对设备进行相应的操作。系统结构如图1所示。
2 系统模块
2.1 下位机
下位机部分由一块TQ2440开发板、一颗DS18B20温度传感器、一颗光敏传感器、若干LED灯和一台步进电机组成。它主要用来完成环境数据的实时收集,并将数据转发到主机服务器,响应主机服务器的相关操作命令。
2.2 上位机
嵌入式Linux是一种新型嵌入式操作系统,目前应用广泛[3]。考虑到系统的兼容性,本系统的设计开发都从Windows系统迁移到Linux系统中,上位机部分基于Linux桌面系统开发JavaWeb程序。该程序分为后端、前端两部分,前端是后端功能的可视化。为了完成对下位机设备的控制和对采集到的数据进行展示,上位机JavaWeb程序主要包括用户管理模块、设备管理模块、设备概览模块。
本系统主要是Java服务器和BOA服务器的协调工作。其工作流程为:由Java服务器发送请求给BOA服务器,BOA服务器调用CGI程序,从而调用驱动程序接口,写驱动完成数据采集[4]。系统流程如图2所示。
2.3 硬件功能设计
硬件的功能主要是完成数据采集、设备控制,因此其开发板TQ2440被设计为边缘系统,拥有独立的采集、控制运算逻辑。由于开发板TQ2440需要把采集和控制结果发送给服务器,故硬件需要搭建一个服务器来协调控制各个业务逻辑,并担负和服务器交互的功能。硬件功能实现如图3所示。
2.4 软件功能设计
为了统一管理电器设备,实现交互体验良好的前端页面,本系统软件部分的后端使用SSH框架,前端使用BootStrap框架的JavaWeb程序。软件功能设计主要有:
(1)用户管理:用户的登录注册,修改用户信息等;
(2)设备管理:设备的用户所属关系管理和远程控制;
(3)设备概览:设备运行状态的概览;
(4)环境概览:将采集的环境数据进行可视化展示。
软件功能设计如图4所示。