彭鵬 鄭志浩 江玲 田野
摘 要:移動(dòng)端智能家電控制系統(tǒng)是一個(gè)利用物聯(lián)網(wǎng)領(lǐng)域相關(guān)技術(shù),將電器設(shè)備同互聯(lián)網(wǎng)硬件、軟件相結(jié)合的控制系統(tǒng)。它的核心問題是解決家電的聯(lián)網(wǎng)和非接觸式控制,改善現(xiàn)有智能家電設(shè)備存在協(xié)議不一致,單個(gè)設(shè)備獨(dú)立生產(chǎn)使用成本較高的不足。文中硬件采用嵌入式Linux開發(fā)板TQ2440作為控制終端,Java服務(wù)器作為主機(jī)服務(wù)器,Web頁面作為前端展示。系統(tǒng)協(xié)議統(tǒng)一,簡(jiǎn)化了設(shè)備拓展流程,降低了設(shè)備要求,能夠極大提高系統(tǒng)的易用性。
關(guān)鍵詞:物聯(lián)網(wǎng)技術(shù);嵌入式Linux;Java服務(wù)器;智能化;家電控制;移動(dòng)設(shè)備
中圖分類號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1302(2020)11-00-04
0 引 言
計(jì)算機(jī)及信息技術(shù)革命是繼電力技術(shù)革命之后的第三次工業(yè)革命。自計(jì)算機(jī)技術(shù)的誕生以及高速發(fā)展,迅速將人們的日常生活、學(xué)習(xí)、交流和工作推向了信息化和便捷化。而隨著計(jì)算機(jī)技術(shù)的發(fā)展,物聯(lián)網(wǎng)理論構(gòu)架逐漸成形,物聯(lián)網(wǎng)技術(shù)對(duì)人們的生活提出了智能化和移動(dòng)化等新的要求,也對(duì)傳統(tǒng)家電發(fā)起了挑戰(zhàn)。目前,先進(jìn)的家電控制系統(tǒng)、高效完善的家電使用體驗(yàn)、自動(dòng)智能的居家環(huán)境和信息化的資源配置管理和購物方式等,已經(jīng)逐漸成為主流,家用電器的智能化已然成為了一種趨勢(shì)[1]。
伴隨著我國計(jì)算機(jī)技術(shù)高速發(fā)展的大環(huán)境,物聯(lián)網(wǎng)技術(shù)進(jìn)步飛快。在控制技術(shù)、傳感技術(shù)和數(shù)據(jù)運(yùn)用技術(shù)集中高速成長(zhǎng)的大背景下,家用電器智能控制技術(shù)也在不斷成熟,智能家電控制系統(tǒng)已經(jīng)出現(xiàn)在不少家庭生活中,逐漸代替?zhèn)鹘y(tǒng)的家電。但目前市面上的智能家電控制界面,一般都采用的是嵌入式LCD觸摸屏控制,或采用下載APP的形式進(jìn)行聯(lián)網(wǎng)控制,以上這兩種方案都不算友好。目前市面上以智能家電單品居多,且各種智能家電單品有著不同的使用規(guī)范,用戶很難將多個(gè)單品進(jìn)行統(tǒng)一的控制管理,所以設(shè)計(jì)一款基于移動(dòng)端的統(tǒng)一控制管理多個(gè)智能家電的控制系統(tǒng)很有必要。
鑒于此,本課題所提出的基于移動(dòng)端智能家電控制系統(tǒng)的設(shè)計(jì)開發(fā),目的就是利用成熟的JavaWeb技術(shù)和嵌入式Linux技術(shù)為用戶展現(xiàn)一個(gè)便捷、友好的交互界面,集成一個(gè)統(tǒng)一規(guī)范的硬件和軟件的數(shù)據(jù)管理系統(tǒng)。本系統(tǒng)以TQ2440作為開發(fā)板,在裁剪且移植好Linux系統(tǒng)和BOA服務(wù)器之后,驅(qū)動(dòng)LED燈、光敏電阻、DS18B20和步進(jìn)電機(jī)。當(dāng)JavaWeb請(qǐng)求CGI程序時(shí),CGI程序執(zhí)行控制操作或者返回?cái)?shù)據(jù)。前端使用HTML技術(shù),使用兼容移動(dòng)端顯示的BootStrap框架,移動(dòng)設(shè)備可以直接訪問服務(wù)器,登錄獲得操作權(quán)限。也可以二次開發(fā),例如以公眾號(hào)為入口對(duì)家電進(jìn)行控制等,輕松實(shí)現(xiàn)一個(gè)系統(tǒng)對(duì)多個(gè)家庭設(shè)備進(jìn)行管理。
1 系統(tǒng)總體設(shè)計(jì)
1.1 系統(tǒng)概述
Linux系統(tǒng)從1991年問世到現(xiàn)在不斷完善發(fā)展,如今的Linux系統(tǒng)已發(fā)展成為功能強(qiáng)大、趨于完善的操作系統(tǒng)之一[2]。故本系統(tǒng)提出了以嵌入式Linux系統(tǒng)作為數(shù)據(jù)收集終端,將用戶數(shù)據(jù)展示、功能操作和數(shù)據(jù)持久化放到主機(jī)服務(wù)器的設(shè)計(jì)思想。使用TQ2440作為開發(fā)板,上位機(jī)部分則搭建JavaWeb服務(wù)器,使用MySQL數(shù)據(jù)庫持久化系統(tǒng)數(shù)據(jù)。上位機(jī)的Web界面不僅展示數(shù)據(jù),而且還可為用戶對(duì)設(shè)備的控制提供指令操作接口。本系統(tǒng)將電器設(shè)備統(tǒng)一管理并展現(xiàn)給用戶輕量級(jí)操作效果,使得用戶對(duì)智能家電設(shè)備的管理和操作更加便捷。
1.2 系統(tǒng)體系結(jié)構(gòu)
本系統(tǒng)通過傳感器收集溫度、光照等環(huán)境數(shù)據(jù),開發(fā)板根據(jù)收集的數(shù)據(jù)對(duì)電器設(shè)備進(jìn)行喚醒和關(guān)閉等智能控制。此外,本系統(tǒng)還可以通過移動(dòng)設(shè)備訪問主機(jī)服務(wù)器,查看部分環(huán)境信息,以及下發(fā)控制命令。命令通過主機(jī)服務(wù)器經(jīng)過互聯(lián)網(wǎng)下發(fā)至TQ440開發(fā)板,開發(fā)板根據(jù)命令對(duì)設(shè)備進(jìn)行相應(yīng)的操作。系統(tǒng)結(jié)構(gòu)如圖1所示。
2 系統(tǒng)模塊
2.1 下位機(jī)
下位機(jī)部分由一塊TQ2440開發(fā)板、一顆DS18B20溫度傳感器、一顆光敏傳感器、若干LED燈和一臺(tái)步進(jìn)電機(jī)組成。它主要用來完成環(huán)境數(shù)據(jù)的實(shí)時(shí)收集,并將數(shù)據(jù)轉(zhuǎn)發(fā)到主機(jī)服務(wù)器,響應(yīng)主機(jī)服務(wù)器的相關(guān)操作命令。
2.2 上位機(jī)
嵌入式Linux是一種新型嵌入式操作系統(tǒng),目前應(yīng)用廣泛[3]。考慮到系統(tǒng)的兼容性,本系統(tǒng)的設(shè)計(jì)開發(fā)都從Windows系統(tǒng)遷移到Linux系統(tǒng)中,上位機(jī)部分基于Linux桌面系統(tǒng)開發(fā)JavaWeb程序。該程序分為后端、前端兩部分,前端是后端功能的可視化。為了完成對(duì)下位機(jī)設(shè)備的控制和對(duì)采集到的數(shù)據(jù)進(jìn)行展示,上位機(jī)JavaWeb程序主要包括用戶管理模塊、設(shè)備管理模塊、設(shè)備概覽模塊。
本系統(tǒng)主要是Java服務(wù)器和BOA服務(wù)器的協(xié)調(diào)工作。其工作流程為:由Java服務(wù)器發(fā)送請(qǐng)求給BOA服務(wù)器,BOA服務(wù)器調(diào)用CGI程序,從而調(diào)用驅(qū)動(dòng)程序接口,寫驅(qū)動(dòng)完成數(shù)據(jù)采集[4]。系統(tǒng)流程如圖2所示。
2.3 硬件功能設(shè)計(jì)
硬件的功能主要是完成數(shù)據(jù)采集、設(shè)備控制,因此其開發(fā)板TQ2440被設(shè)計(jì)為邊緣系統(tǒng),擁有獨(dú)立的采集、控制運(yùn)算邏輯。由于開發(fā)板TQ2440需要把采集和控制結(jié)果發(fā)送給服務(wù)器,故硬件需要搭建一個(gè)服務(wù)器來協(xié)調(diào)控制各個(gè)業(yè)務(wù)邏輯,并擔(dān)負(fù)和服務(wù)器交互的功能。硬件功能實(shí)現(xiàn)如圖3所示。
2.4 軟件功能設(shè)計(jì)
為了統(tǒng)一管理電器設(shè)備,實(shí)現(xiàn)交互體驗(yàn)良好的前端頁面,本系統(tǒng)軟件部分的后端使用SSH框架,前端使用BootStrap框架的JavaWeb程序。軟件功能設(shè)計(jì)主要有:
(1)用戶管理:用戶的登錄注冊(cè),修改用戶信息等;
(2)設(shè)備管理:設(shè)備的用戶所屬關(guān)系管理和遠(yuǎn)程控制;
(3)設(shè)備概覽:設(shè)備運(yùn)行狀態(tài)的概覽;
(4)環(huán)境概覽:將采集的環(huán)境數(shù)據(jù)進(jìn)行可視化展示。
軟件功能設(shè)計(jì)如圖4所示。