盛 雪 豐
(蘇州信息職業(yè)技術(shù)學(xué)院 江蘇 吳江 215200)
在智慧校園建設(shè)的大背景下,智能化的宿舍管理不僅能夠在一定程度上預(yù)防突發(fā)事故的發(fā)生,同時也能節(jié)省大量的人力和物力。
在宿舍生活中,我們經(jīng)常會遇到各種各樣的困擾。例如當(dāng)我們在使用大功率電器時,突然出現(xiàn)跳閘的情況,對其他電器會產(chǎn)生一定的傷害。如果此時有智能語音的提醒,我們將免除突然斷電的煩惱。再比如睡覺時,忘記關(guān)掉風(fēng)扇/空調(diào)的電源,睡醒后,才發(fā)現(xiàn)它們還在辛勤地工作。這不僅會引起我們身體的不適,也是一種對能源的極大浪費。同樣,宿舍的安全問題也需要被重視。如果我們能通過煙霧探測器對火災(zāi)或突發(fā)事件信息進行捕捉并提醒,將極大地方便我們的生活。智能宿舍管理產(chǎn)品設(shè)計的初衷就是希望能夠用手機等移動終端對宿舍的用電、照明、空調(diào)等進行管理。
智能化的宿舍管理產(chǎn)品主要能夠?qū)崿F(xiàn)對宿舍用電的管理、照明的管理、空調(diào)的管理以及消防安全管理等。所謂的智能化就是通過相應(yīng)的傳感器對外界環(huán)境變化的參數(shù)進行采集,再進行判斷。同時采用無線通訊技術(shù),實現(xiàn)移動化控制。從而把整個智能宿舍終端和移動終端緊密聯(lián)系起來,實時進行數(shù)據(jù)交互。
在功能設(shè)計上,智能化的宿舍管理終端可通過手機APP對所有設(shè)備進行管理,同時還提供不同的“場景模式”:自動模式、手動模式,方便用戶進行管理。在具體用電管理、照明管理、空調(diào)管理以及消防安全等方面上的功能設(shè)計如表1-表4所示。
表1 用電管理
表2 照明管理
表3 空調(diào)管理
表4 消防安全管理
如圖1所示,智能宿舍管理產(chǎn)品包括宿舍管理終端和移動控制端,主要分為四層結(jié)構(gòu),包括傳感器層、主控層、執(zhí)行器層、移動控制終端層。移動控制端為上位機軟件+移動終端,WiFi模塊負(fù)責(zé)宿舍管理終端和移動控制端之間的無線通信。
圖1 系統(tǒng)架構(gòu)圖
傳感器層由光照傳感器、溫濕度傳感器、煙霧探測器和智能插座組成。光照傳感器負(fù)責(zé)探測室內(nèi)光照強度,溫濕度傳感器負(fù)責(zé)探測室內(nèi)溫濕度數(shù)據(jù),煙霧探測器負(fù)責(zé)探測室內(nèi)險情,智能插座探測當(dāng)前電器用電功率,各個傳感器將探測到的數(shù)據(jù)實時傳送給主控層。
主控層由AVR核心板和接口擴展板組成,負(fù)責(zé)分析和處理傳感器上傳的數(shù)據(jù),同時接收上位機APP的指令,并下發(fā)控制指令控制執(zhí)行器動作。
執(zhí)行器層由RGB燈條、開關(guān)繼電器和5 V直流風(fēng)扇組成,負(fù)責(zé)執(zhí)行AVR核心板的控制指令,達到反饋、響應(yīng)的目的。RGB燈條模擬宿舍日光燈,5 V直流風(fēng)扇模擬空調(diào),開關(guān)繼電器作為控制開關(guān),外接風(fēng)扇和智能電表,模擬宿舍電源控制和宿舍空調(diào)控制。
移動控制終端層由上位機軟件(APP)和智能手機組成,上位機軟件將收到的消息解析判定是否報警,智能手機提供上位機軟件運行環(huán)境。
本產(chǎn)品還涉及到上位機的APP開發(fā)。主控層通過各個傳感器定時采集當(dāng)前環(huán)境參數(shù),解析判斷后,將環(huán)境數(shù)據(jù)通過WiFi模塊無線傳輸?shù)绞謾C端。手機端接收后顯示數(shù)據(jù),按預(yù)設(shè)模式發(fā)出控制指令,或手動發(fā)出控制指令。APP設(shè)計的主要功能是通過UI界面實現(xiàn)各類傳感器數(shù)據(jù)的顯示,以及向主控層發(fā)出控制指令。傳感器數(shù)據(jù)采集處理程序運行流程及主程序運行流程如圖2、圖3所示。
圖3 主程序運行流程
智能宿舍管理終端和移動終端上位機APP采用TCP通信協(xié)議,通過WiFi進行無線通信。手機APP為Tcp_Client,宿舍管理終端為Tcp_Server。
(1) 宿舍管理終端TCP設(shè)置,如表5所示。
表5 宿舍管理終端TCP設(shè)置參數(shù)
(2) 數(shù)據(jù)交互協(xié)議。
① 上位機APP向宿舍管理終端發(fā)出的控制指令格式如表6所示。
表6 上位機APP向宿舍管理終端發(fā)出的控制指令格式
指令字段示例如表7所示。
表7 上位機APP向宿舍管理終端發(fā)出的控制指令示例
② 宿舍管理終端消息上報指令格式如表8所示。
表8 宿舍管理終端向上位機APP上報消息的指令格式
指令字段示例如表9所示。
表9 宿舍管理終端向上位機APP上報消息的指令示例
(3) 指令調(diào)試示例。
① 開關(guān)照明燈:
開:01 01 01 FF FF
關(guān):01 01 02 FF FF
② 開關(guān)空調(diào):
開:01 02 01 FF FF
關(guān):01 02 02 FF FF
③ 溫濕度傳感器:
設(shè)置閾值:01 03 00 xx xx
//響應(yīng):無
讀取當(dāng)前溫濕度值:01 03 03 FF FF
//響應(yīng):02 03 03 xx xx
④ 總功率:
設(shè)置閾值:01 04 00 xx xx
//響應(yīng):無
讀取當(dāng)前總功率:01 04 03 FF FF
//響應(yīng):02 04 03 xx xx
總功率報警:02 04 02 00 00
總功率恢復(fù)正常:02 04 01 00 00
⑤ 煙霧傳感器:
煙霧傳感器報警:02 05 02 00 00
煙霧傳感器恢復(fù)正常:02 05 01 00 00
⑥ 光照強度傳感器:
設(shè)置閾值:01 06 00 xx xx
//響應(yīng):無
讀取強度值:01 06 03 FF FF
//響應(yīng):01 06 03 xx xx
⑦ 小風(fēng)扇控制
開:01 07 01 FF FF
//響應(yīng):無
關(guān):01 07 02 FF FF
//響應(yīng):無
各個傳感器定時采集當(dāng)前環(huán)境參數(shù),通過AVR核心板解析判斷后,將環(huán)境數(shù)據(jù)通過WiFi模塊無線傳輸至手機端,手機端接收后在UI界面上顯示相應(yīng)的數(shù)據(jù)。
String Buffer buffer=new StringBuffer(receiveInfoClient);
// 讀取光照強度值并顯示到控件
if (receiveInfoClient.startsWith(″020603″)) {
String lightStrength=buffer.substring(6, 10);
tvCurrent Light Strength.set Text(Integer.valueOf(lightStrength, 16) + ″″);
}
// 讀取溫濕度值并顯示到控件
if (receiveInfoClient.startsWith(″020303″)) {
String temp=buffer.substring(6, 8);
String humid=buffer.substring(8, 10);
tvCurrentTemp.setText(Integer.valueOf(temp, 16) + ″″);
tvCurrentHumid.setText(Integer.valueOf(humid, 16) + ″″);
}
// 讀取總功率值并顯示到控件
if (receiveInfoClient.startsWith(″020403″)) {
String totalPower=buffer.substring(6, 10);
tvCurrentTotalPower.setText(Integer.valueOf(totalPower, 16)/ 10.0 + ″″);
}
// 讀取開關(guān)狀態(tài)并使控件聯(lián)動顯示
if (receiveInfoClient.startsWith(″0207″)) {
// 關(guān)燈狀態(tài)
if (buffer.substring(4, 6).equals(″00″)) {
imgLight.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.close_light));
tbLightOnOff.setText(″開光照燈″);
tbLightOnOff.setChecked(false);
}
// 開燈狀態(tài)
if (buffer.substring(4, 6).equals(″01″)) {
imgLight.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.open_light));
tbLightOnOff.setText(″關(guān)光照燈″);
tbLightOnOff.setChecked(true);
}
// 空調(diào)關(guān)
if (buffer.substring(6, 8).equals(″00″)) {
imgAir.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.close_air));
tbAirOnoff.setText(″空調(diào)開″);
tbAirOnoff.setChecked(false);
}
// 空調(diào)開
if (buffer.substring(6, 8).equals(″01″)) {
imgAir.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.open_air));
tbAirOnoff.setText(″空調(diào)關(guān)″);
tbAirOnoff.setChecked(true);
}
// 插座關(guān)
if (buffer.substring(8, 10).equals(″00″)) {
imgSocket.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.smartsocket_close));
tbSocketOnoff.setText(″插座開″);
tbSocketOnoff.setChecked(false);
}
// 插座開
if (buffer.substring(8, 10).equals(″01″)) {
imgSocket.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.smartsocket_open));
tbSocketOnoff.setText(″插座關(guān)″);
tbSocketOnoff.setChecked(true);
}
}
智能宿舍管理產(chǎn)品效果圖如圖4-圖7所示。
圖4 實時宿舍環(huán)境監(jiān)測
圖5 燈光、空調(diào)、智能插座控制
圖6 用電超預(yù)設(shè)閾值報警提示
圖7 自動模式下設(shè)定各個參數(shù)的閾值
結(jié)合上位機端的手機APP和硬件底層固件,可測試各個模塊的功能和質(zhì)量。測試時硬件端給AVR燒錄好產(chǎn)品固件程序,給智能手機安裝好手機端軟件,AVR核心板上電,手機端運行軟件,然后按照表10所列項目進行測試并記錄。
表10 功能測試方法和記錄
續(xù)表10
續(xù)表10
本文通過選用光照傳感器、溫濕度傳感器、智能插座、煙霧探測器等常見的傳感器,結(jié)合AVR核心板以及WiFi無線通信模塊,設(shè)計并實現(xiàn)了一款基于智慧校園框架下的智能化宿舍管理產(chǎn)品。產(chǎn)品中用RGB燈條代替日光燈,風(fēng)扇代替空調(diào),實現(xiàn)了用手機等移動終端對宿舍的用電、照明、空調(diào)等進行管理。該產(chǎn)品后期還可以在以下幾個方面進行功能創(chuàng)新:(1) 通過人體感應(yīng)實現(xiàn)照明燈的開啟;(2) 通過聲音實現(xiàn)對燈開關(guān)的控制;(3) 將智能燈和空氣質(zhì)量監(jiān)測報警兩種功能的結(jié)合。