基于Android的家用電器功耗分析系統的設計
引 言
隨著物聯網技術的發(fā)展[1-3] 以及移動終端設備的普及,與因特網互聯互通的計算機和許多普通家電及日常用品彼此結合的物聯網概念也慢慢融入到百姓的生活中[4-5]。當下,許許多多的科技工作者已經將最新的科技與家居生活緊密的聯系到一起 [6-9],勾起了人們渴望用此技術來實現各式各樣與家庭生活有關的比較實用的功能的欲望,這其中就包括用戶對家電在日常生活中所消耗的能源,因此,用戶希望能夠擁有一種對家電設備具有監(jiān)測和分析功能并可及時分析其功耗情況的設備,實時監(jiān)測家里過度耗電的設備,杜絕任何浪費資源及用電不合理的行為。
本系統根據現有智能插座所面臨的問題,把安全和便利兩個很好的特性融入到系統中去。本系統的優(yōu)勢在于僅需要對家庭中的插座進行改進,增加電能計量和WiFi 模塊,通過家中的路由器(AP)就可以通過 Android 移動終端隨時隨地的監(jiān)控連接在智能插座上家用電器的電壓、電流、電能、有功功率、無功功率和功率因數等電力參數數據。同時,古老的家電監(jiān)測分析系統必須要求用戶通過人工的方式來比對數據,這種方式不僅繁瑣,而且容易被用戶遺忘,給用戶帶來了極大 的不便。目前,Android 操作系統在移動終端操作系統中十分 流行,且移動終端的設備已經成為大眾生活的必備品。并且它 具有移動設備體積小,攜帶方便和無線通信等眾多優(yōu)點,對 該系統的設計及實現創(chuàng)造了有利條件。
通過深入了解當前市場上顧客的客觀需求,結合各種可行的有利因素,本系統依據現有的條件和技術,將各種新技術進行整合和再創(chuàng)造,優(yōu)化技術中的各種缺陷和被忽略的重點,設計出基于Android 的家用電器功耗分析系統。通過在Android 移動終端安裝本系統的應用程序,即可讓用戶很直觀地了解家中電器實時反饋過來的數據,并且通過特有的繪圖功能生動形象的了解各種電器功耗的波動情況。
1 系統整體設計
本系統使用Android 移動終端(手機或平板)通過家中的路由器AP 讀取智能插座(內嵌電能計量模塊和 WiFi UART 模塊)的電能量、電壓、電流、有功功率、無功功率等數據, 從而實現對家電設備(冰箱、空調、熱水器、電視機等)的電能量、功率等電力參數進行實時監(jiān)測、存儲及數據分析,提示用戶合理的安排用電時間,提高電力資源的利用效率,節(jié)省用電費用。該系統的應用場景如圖 1 所示。
本系統主要包括智能插座、路由器AP 以及Android 移動終端。智能插座內嵌電能計量模塊及WiFi UART 模塊,使該插座能夠計量電壓、電流、電能、有功功率、無功功率等電力參數,且具備WiFi 通訊功能,通過家中的路由器AP 與Android 移動終端進行通訊,Android 移動終端只需安裝本系統所開發(fā)的應用程序(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 移動終端安裝本系統所開發(fā)的應用程序,就可以通過家中的AP 獲取該插座所連接設備的電壓、電流、電能、有功功率、無功功率等電力參數。該系統的應用程序基于Android 操作系統, 開發(fā)環(huán)境使用 jdk+Eclipse+Android SDK+ADT,開發(fā)語言采用 Java。應用程序的軟件架構如圖 5 所示。圖中主要包括系統 UI 界面設計模塊、數據連接與通信模塊、數據存儲模塊以及數據分析模塊。
3.2 系統的界面設計
本系統的界面主要包括 :主界面、系統配置界面、動態(tài)波形顯示界面以及數據分析界面。具體如圖 6 和圖 7 所示。
系統主界面用于顯示智能插座所連接的家用電器的實時電壓、電流、電能、有功功率、無功功率、功率因數和WiFi 連接狀態(tài)等信息,并將該智能插座所獲取的這些數值存儲至Android 系統自帶的SQLite 數據庫中。
系統配置界面主要用于設置所需查詢的智能插座的IP 地址、端口號以及間隔時間。待Android 移動終端與智能插座連接成功后,設置間隔時間的目的是實時更新主界面所有的電力參數值。
動態(tài)波形顯示界面主要用于動態(tài)顯示家電設備的功耗狀態(tài)信息,系統自動會獲取后臺數據庫中的電能信息,以垂直方向代表電能值的大小,水平方向代表時間,從SQLite數據庫中讀取數據,繪制曲線,讓用戶實時了解每個時段的用電量。
數據分析界面主要用于動態(tài)加載數據庫中的數據,如時間、有功功率、無功功率和功率因數。這里的數據根據系統配置界面所設置的間隔時間從后臺數據庫SQLite 中讀取數據, 并逐條顯示在界面上,且支持上下滑動瀏覽,讓用戶非常直觀地看到這些電力參數的變化。用戶若想清空當前界面的所有數據,只需要通過“清除所有數據按鈕”即可實現。
3.3 數據連接與通信
在本系統中,當用戶點擊主界面的“
”圖標時,Android 移動終端即可通過家中的路由器AP與內部嵌入無線WiFi模塊的智能插座建立Socket通信連接。當連接成功后,則在應用程序界面的“連接狀態(tài)”處顯示“已連接”,同時開始根據系統配置界面中所設置的間隔時間,定時在應用程序的實時顯示界面更新該智能插座所連接的家用電器的電壓值、電流值、電能值、有功功率值、無功功率值及功率因數值等數據。如果Socket連接超時或系統配置界面的IP地址異常則在“連接狀態(tài)”處顯示“未連接”,表示無法進行正常通信,具體的連接流程如圖 8所示。
3.4 數據存儲
本系統使用的是Android 操作系統自帶的SQLite 數據庫進行數據存儲。SQLite 是一款輕型的數據庫,遵守ACID 的關系型數據庫管理系統,在嵌入式設備中,它占用系統資源少,支持 Windows/Linux/Unix 等主流的操作系統,同時能夠跟很多程序語言相結合,還具備 ODBC 接口,比起MySQL、PostgreSQL 這兩款世界著名的開源數據庫管理系統,它的處理速度相對于其他數據庫更快。
當Android 移動終端根據系統配置界面所設置的間隔時間定時刷新智能插座所傳遞過來的電流、電壓、電能、有功功率、無功功率、功率因數等數據,然后系統會自動將這些數據保存在 SQLite 數據庫中,以被數據分析及動態(tài)波形顯示時使用。SQLite 數據庫中所創(chuàng)建的表字段含義如表 1 所列。
4 結 語
隨著 Android 操作系統的崛起和各種智能移動設備在百 姓日常生活中的不斷普及,基于 Android 的各類 App 也直線向 上的發(fā)展起來。本系統基于 Android 移動終端通過 WiFi 實時 讀取智能插座所連接的家用電器的電能量、電壓、電流、有功 功率、無功功率等數據,從而實現對家用電器設備的電力參 數進行實時監(jiān)測及數據分析,提示用電客戶合理安排用電時間, 提高電力資源的利用效率,且操作方便。因此,本系統的開發(fā) 會有很廣闊的應用前景。





