基于Android的家用电器功耗分析系统的设计
扫描二维码
随时随地手机看文章
引 言
随着物联网技术的发展[1-3] 以及移动终端设备的普及,与因特网互联互通的计算机和许多普通家电及日常用品彼此结合的物联网概念也慢慢融入到百姓的生活中[4-5]。当下,许许多多的科技工作者已经将最新的科技与家居生活紧密的联系到一起 [6-9],勾起了人们渴望用此技术来实现各式各样与家庭生活有关的比较实用的功能的欲望,这其中就包括用户对家电在日常生活中所消耗的能源,因此,用户希望能够拥有一种对家电设备具有监测和分析功能并可及时分析其功耗情况的设备,实时监测家里过度耗电的设备,杜绝任何浪费资源及用电不合理的行为。
本系统根据现有智能插座所面临的问题,把安全和便利两个很好的特性融入到系统中去。本系统的优势在于仅需要对家庭中的插座进行改进,增加电能计量和WiFi 模块,通过家中的路由器(AP)就可以通过 Android 移动终端随时随地的监控连接在智能插座上家用电器的电压、电流、电能、有功功率、无功功率和功率因数等电力参数数据。同时,古老的家电监测分析系统必须要求用户通过人工的方式来比对数据,这种方式不仅繁琐,而且容易被用户遗忘,给用户带来了极大 的不便。目前,Android 操作系统在移动终端操作系统中十分 流行,且移动终端的设备已经成为大众生活的必备品。并且它 具有移动设备体积小,携带方便和无线通信等众多优点,对 该系统的设计及实现创造了有利条件。
通过深入了解当前市场上顾客的客观需求,结合各种可行的有利因素,本系统依据现有的条件和技术,将各种新技术进行整合和再创造,优化技术中的各种缺陷和被忽略的重点,设计出基于Android 的家用电器功耗分析系统。通过在Android 移动终端安装本系统的应用程序,即可让用户很直观地了解家中电器实时反馈过来的数据,并且通过特有的绘图功能生动形象的了解各种电器功耗的波动情况。
1 系统整体设计
本系统使用Android 移动终端(手机或平板)通过家中的路由器AP 读取智能插座(内嵌电能计量模块和 WiFi UART 模块)的电能量、电压、电流、有功功率、无功功率等数据, 从而实现对家电设备(冰箱、空调、热水器、电视机等)的电能量、功率等电力参数进行实时监测、存储及数据分析,提示用户合理的安排用电时间,提高电力资源的利用效率,节省用电费用。该系统的应用场景如图 1 所示。
本系统主要包括智能插座、路由器AP 以及Android 移动终端。智能插座内嵌电能计量模块及WiFi UART 模块,使该插座能够计量电压、电流、电能、有功功率、无功功率等电力参数,且具备WiFi 通讯功能,通过家中的路由器AP 与Android 移动终端进行通讯,Android 移动终端只需安装本系统所开发的应用程序(App),用户即可通过移动终端看到所关心的电力参数及其数据分析等。具体的系统架构如图 2 所示。
2 系统硬件设计
2.1 硬件内部结构介绍
目前市场上常见的插座功能十分简单,只具备供电、转换插孔的功能,更高级的可以支持ZigBee 协议,但需要对家中设备进行改造 [10-12]。而本系统所设计的智能插座无需对家中其他设备进行改造,仅需要改造家中的插座。下面来介绍所改造的智能插座的内部结构,主要在原有插座的基础上增加电能计量模块、无线传输通信的WiFi UART 模块,一个智能插座就诞生了。这个插座里面不仅功能多,而且还加装了漏点保护装置,有效保证用户用电的安全。改装后的智能插座实物如图 3 所示。
2.2 电能计量模块
电能计量模块可以对插座所连接电器的电压、电流、有功功率、无功功率、功率因数等电力参数进行测量。待测量完成后,该模块内置 UART 模块,采用主从应答方式(半双工) 的通讯协议,与无线传输通信的WiFi UART 模块通过串口进行连接,完成数据传输的功能。
2.3 WiFi UART模块
WiFi UART 模块是基于串口的嵌入式模块,此模块里面包含了无线网络协议及TCP/IP 协议栈,其符合WiFi 无线网络的标准。传统的串口设备可以在不需要任何配置下通过网络传输自己的数据,为用户使用以太网来传输数据提供了很好的解决方法。该模块包括五个工作模式 :AP(无线接入点)、客户端(无线客户端)、中继器(无线中继)、桥(无线桥接)和路由器(无线路由)。该模块的实物图如图 4 所示。
3 系统软件设计
3.1 软件设计架构
当家用电器通过电源线连接至智能插座后,因智能插座内置WiFi UART 模块,首先为此模块设定好 IP 地址,然后在 Android 移动终端安装本系统所开发的应用程序,就可以通过家中的AP 获取该插座所连接设备的电压、电流、电能、有功功率、无功功率等电力参数。该系统的应用程序基于Android 操作系统, 开发环境使用 jdk+Eclipse+Android SDK+ADT,开发语言采用 Java。应用程序的软件架构如图 5 所示。图中主要包括系统 UI 界面设计模块、数据连接与通信模块、数据存储模块以及数据分析模块。
3.2 系统的界面设计
本系统的界面主要包括 :主界面、系统配置界面、动态波形显示界面以及数据分析界面。具体如图 6 和图 7 所示。
系统主界面用于显示智能插座所连接的家用电器的实时电压、电流、电能、有功功率、无功功率、功率因数和WiFi 连接状态等信息,并将该智能插座所获取的这些数值存储至Android 系统自带的SQLite 数据库中。
系统配置界面主要用于设置所需查询的智能插座的IP 地址、端口号以及间隔时间。待Android 移动终端与智能插座连接成功后,设置间隔时间的目的是实时更新主界面所有的电力参数值。
动态波形显示界面主要用于动态显示家电设备的功耗状态信息,系统自动会获取后台数据库中的电能信息,以垂直方向代表电能值的大小,水平方向代表时间,从SQLite数据库中读取数据,绘制曲线,让用户实时了解每个时段的用电量。
数据分析界面主要用于动态加载数据库中的数据,如时间、有功功率、无功功率和功率因数。这里的数据根据系统配置界面所设置的间隔时间从后台数据库SQLite 中读取数据, 并逐条显示在界面上,且支持上下滑动浏览,让用户非常直观地看到这些电力参数的变化。用户若想清空当前界面的所有数据,只需要通过“清除所有数据按钮”即可实现。
3.3 数据连接与通信
在本系统中,当用户点击主界面的“”图标时,Android 移动终端即可通过家中的路由器AP与内部嵌入无线WiFi模块的智能插座建立Socket通信连接。当连接成功后,则在应用程序界面的“连接状态”处显示“已连接”,同时开始根据系统配置界面中所设置的间隔时间,定时在应用程序的实时显示界面更新该智能插座所连接的家用电器的电压值、电流值、电能值、有功功率值、无功功率值及功率因数值等数据。如果Socket连接超时或系统配置界面的IP地址异常则在“连接状态”处显示“未连接”,表示无法进行正常通信,具体的连接流程如图 8所示。
3.4 数据存储
本系统使用的是Android 操作系统自带的SQLite 数据库进行数据存储。SQLite 是一款轻型的数据库,遵守ACID 的关系型数据库管理系统,在嵌入式设备中,它占用系统资源少,支持 Windows/Linux/Unix 等主流的操作系统,同时能够跟很多程序语言相结合,还具备 ODBC 接口,比起MySQL、PostgreSQL 这两款世界著名的开源数据库管理系统,它的处理速度相对于其他数据库更快。
当Android 移动终端根据系统配置界面所设置的间隔时间定时刷新智能插座所传递过来的电流、电压、电能、有功功率、无功功率、功率因数等数据,然后系统会自动将这些数据保存在 SQLite 数据库中,以被数据分析及动态波形显示时使用。SQLite 数据库中所创建的表字段含义如表 1 所列。
4 结 语
随着 Android 操作系统的崛起和各种智能移动设备在百 姓日常生活中的不断普及,基于 Android 的各类 App 也直线向 上的发展起来。本系统基于 Android 移动终端通过 WiFi 实时 读取智能插座所连接的家用电器的电能量、电压、电流、有功 功率、无功功率等数据,从而实现对家用电器设备的电力参 数进行实时监测及数据分析,提示用电客户合理安排用电时间, 提高电力资源的利用效率,且操作方便。因此,本系统的开发 会有很广阔的应用前景。