盛 雪 豐
(蘇州信息職業技術學院 江蘇 吳江 215200)
在智慧校園建設的大背景下,智能化的宿舍管理不僅能夠在一定程度上預防突發事故的發生,同時也能節省大量的人力和物力。
在宿舍生活中,我們經常會遇到各種各樣的困擾。例如當我們在使用大功率電器時,突然出現跳閘的情況,對其他電器會產生一定的傷害。如果此時有智能語音的提醒,我們將免除突然斷電的煩惱。再比如睡覺時,忘記關掉風扇/空調的電源,睡醒后,才發現它們還在辛勤地工作。這不僅會引起我們身體的不適,也是一種對能源的極大浪費。同樣,宿舍的安全問題也需要被重視。如果我們能通過煙霧探測器對火災或突發事件信息進行捕捉并提醒,將極大地方便我們的生活。智能宿舍管理產品設計的初衷就是希望能夠用手機等移動終端對宿舍的用電、照明、空調等進行管理。
智能化的宿舍管理產品主要能夠實現對宿舍用電的管理、照明的管理、空調的管理以及消防安全管理等。所謂的智能化就是通過相應的傳感器對外界環境變化的參數進行采集,再進行判斷。同時采用無線通訊技術,實現移動化控制。從而把整個智能宿舍終端和移動終端緊密聯系起來,實時進行數據交互。
在功能設計上,智能化的宿舍管理終端可通過手機APP對所有設備進行管理,同時還提供不同的“場景模式”:自動模式、手動模式,方便用戶進行管理。在具體用電管理、照明管理、空調管理以及消防安全等方面上的功能設計如表1-表4所示。

表1 用電管理

表2 照明管理

表3 空調管理

表4 消防安全管理
如圖1所示,智能宿舍管理產品包括宿舍管理終端和移動控制端,主要分為四層結構,包括傳感器層、主控層、執行器層、移動控制終端層。移動控制端為上位機軟件+移動終端,WiFi模塊負責宿舍管理終端和移動控制端之間的無線通信。

圖1 系統架構圖
傳感器層由光照傳感器、溫濕度傳感器、煙霧探測器和智能插座組成。光照傳感器負責探測室內光照強度,溫濕度傳感器負責探測室內溫濕度數據,煙霧探測器負責探測室內險情,智能插座探測當前電器用電功率,各個傳感器將探測到的數據實時傳送給主控層。
主控層由AVR核心板和接口擴展板組成,負責分析和處理傳感器上傳的數據,同時接收上位機APP的指令,并下發控制指令控制執行器動作。
執行器層由RGB燈條、開關繼電器和5 V直流風扇組成,負責執行AVR核心板的控制指令,達到反饋、響應的目的。RGB燈條模擬宿舍日光燈,5 V直流風扇模擬空調,開關繼電器作為控制開關,外接風扇和智能電表,模擬宿舍電源控制和宿舍空調控制。
移動控制終端層由上位機軟件(APP)和智能手機組成,上位機軟件將收到的消息解析判定是否報警,智能手機提供上位機軟件運行環境。
本產品還涉及到上位機的APP開發。主控層通過各個傳感器定時采集當前環境參數,解析判斷后,將環境數據通過WiFi模塊無線傳輸到手機端。手機端接收后顯示數據,按預設模式發出控制指令,或手動發出控制指令。APP設計的主要功能是通過UI界面實現各類傳感器數據的顯示,以及向主控層發出控制指令。傳感器數據采集處理程序運行流程及主程序運行流程如圖2、圖3所示。

圖3 主程序運行流程
智能宿舍管理終端和移動終端上位機APP采用TCP通信協議,通過WiFi進行無線通信。手機APP為Tcp_Client,宿舍管理終端為Tcp_Server。
(1) 宿舍管理終端TCP設置,如表5所示。

表5 宿舍管理終端TCP設置參數
(2) 數據交互協議。
① 上位機APP向宿舍管理終端發出的控制指令格式如表6所示。

表6 上位機APP向宿舍管理終端發出的控制指令格式
指令字段示例如表7所示。

表7 上位機APP向宿舍管理終端發出的控制指令示例
② 宿舍管理終端消息上報指令格式如表8所示。

表8 宿舍管理終端向上位機APP上報消息的指令格式
指令字段示例如表9所示。

表9 宿舍管理終端向上位機APP上報消息的指令示例
(3) 指令調試示例。
① 開關照明燈:
開:01 01 01 FF FF
關:01 01 02 FF FF
② 開關空調:
開:01 02 01 FF FF
關:01 02 02 FF FF
③ 溫濕度傳感器:
設置閾值:01 03 00 xx xx
//響應:無
讀取當前溫濕度值:01 03 03 FF FF
//響應:02 03 03 xx xx
④ 總功率:
設置閾值:01 04 00 xx xx
//響應:無
讀取當前總功率:01 04 03 FF FF
//響應:02 04 03 xx xx
總功率報警:02 04 02 00 00
總功率恢復正常:02 04 01 00 00
⑤ 煙霧傳感器:
煙霧傳感器報警:02 05 02 00 00
煙霧傳感器恢復正常:02 05 01 00 00
⑥ 光照強度傳感器:
設置閾值:01 06 00 xx xx
//響應:無
讀取強度值:01 06 03 FF FF
//響應:01 06 03 xx xx
⑦ 小風扇控制
開:01 07 01 FF FF
//響應:無
關:01 07 02 FF FF
//響應:無
各個傳感器定時采集當前環境參數,通過AVR核心板解析判斷后,將環境數據通過WiFi模塊無線傳輸至手機端,手機端接收后在UI界面上顯示相應的數據。
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 + ″″);
}
// 讀取開關狀態并使控件聯動顯示
if (receiveInfoClient.startsWith(″0207″)) {
// 關燈狀態
if (buffer.substring(4, 6).equals(″00″)) {
imgLight.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.close_light));
tbLightOnOff.setText(″開光照燈″);
tbLightOnOff.setChecked(false);
}
// 開燈狀態
if (buffer.substring(4, 6).equals(″01″)) {
imgLight.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.open_light));
tbLightOnOff.setText(″關光照燈″);
tbLightOnOff.setChecked(true);
}
// 空調關
if (buffer.substring(6, 8).equals(″00″)) {
imgAir.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.close_air));
tbAirOnoff.setText(″空調開″);
tbAirOnoff.setChecked(false);
}
// 空調開
if (buffer.substring(6, 8).equals(″01″)) {
imgAir.setImageDrawable(dormActivity.getResources().getDrawable(R.drawable.open_air));
tbAirOnoff.setText(″空調關″);
tbAirOnoff.setChecked(true);
}
// 插座關
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(″插座關″);
tbSocketOnoff.setChecked(true);
}
}
智能宿舍管理產品效果圖如圖4-圖7所示。

圖4 實時宿舍環境監測

圖5 燈光、空調、智能插座控制

圖6 用電超預設閾值報警提示

圖7 自動模式下設定各個參數的閾值
結合上位機端的手機APP和硬件底層固件,可測試各個模塊的功能和質量。測試時硬件端給AVR燒錄好產品固件程序,給智能手機安裝好手機端軟件,AVR核心板上電,手機端運行軟件,然后按照表10所列項目進行測試并記錄。

表10 功能測試方法和記錄

續表10

續表10
本文通過選用光照傳感器、溫濕度傳感器、智能插座、煙霧探測器等常見的傳感器,結合AVR核心板以及WiFi無線通信模塊,設計并實現了一款基于智慧校園框架下的智能化宿舍管理產品。產品中用RGB燈條代替日光燈,風扇代替空調,實現了用手機等移動終端對宿舍的用電、照明、空調等進行管理。該產品后期還可以在以下幾個方面進行功能創新:(1) 通過人體感應實現照明燈的開啟;(2) 通過聲音實現對燈開關的控制;(3) 將智能燈和空氣質量監測報警兩種功能的結合。