彭鵬 鄭志浩 江玲 田野



摘 要:移動端智能家電控制系統是一個利用物聯網領域相關技術,將電器設備同互聯網硬件、軟件相結合的控制系統。它的核心問題是解決家電的聯網和非接觸式控制,改善現有智能家電設備存在協議不一致,單個設備獨立生產使用成本較高的不足。文中硬件采用嵌入式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所示。