成鳳敏
(唐山學院 智能與信息工程學院,河北 唐山 063000)
隨著高等院校教學設施的擴建,教室的數(shù)量不斷增多,教室電能的需求量逐漸增大。在教室燈光管理的調(diào)查中發(fā)現(xiàn),在室內(nèi)光線充足或者教室里沒有學生的情況下,有些教室的燈依然開啟,甚至由于工作人員的疏忽,教室照明燈一夜不關。這些現(xiàn)象造成了電能浪費,不符合國家節(jié)能減排的政策。因此,有必要對用電設備的管理進行優(yōu)化,本文利用WIFI通信技術,設計了一款通過移動控制終端實現(xiàn)教室燈光遠程控制的系統(tǒng)。
系統(tǒng)采用上位機與下位機聯(lián)合工作機制,上位機與下位機之間的通信采用無線模塊實現(xiàn)。通過上位機終端對下位機系統(tǒng)進行管理,控制教室燈光的亮滅。上位機發(fā)送的命令通過無線模塊傳輸給下位機,在下位機部分加入時鐘芯片,并且設計相應的程序與時鐘芯片結合,實現(xiàn)定時開關燈的功能??紤]到高校作息時間有變的情況,對系統(tǒng)進行了修改定時模式下開關燈時間的設計。
1.2.1 單片機模塊
采用STC89C52單片機芯片作為下位機的主控芯片,通過輸出高低電平來控制燈的亮滅。
1.2.2 WIFI模塊
WIFI模塊是通信環(huán)節(jié)的中樞,接收上位機的控制命令,通過串口通信傳遞給單片機。采用ESP8266無線通訊模塊,內(nèi)部有集成好的TCP/IP通信協(xié)議,此模塊作為一個服務器端供客戶端連接。
1.2.3 時鐘芯片
時鐘芯片負責整個系統(tǒng)時鐘的產(chǎn)生,用于實現(xiàn)定時開關燈。系統(tǒng)采用的DS1302時鐘芯片能夠產(chǎn)生精確的時鐘,對年、月、周、日有計時功能,并能夠自動進行閏年補償[1]。除了可以接主電源外,DS1302還可接備用電源,并且在主電源工作時對備用電源進行涓細電流充電,若主電源掉電,備用電源就開始為時鐘芯片供電,所以DS1302在外部電源沒電時仍然能夠在備用電源的供電情況下繼續(xù)工作。
1.2.4 液晶顯示
LCD1602液晶顯示模塊負責顯示時間,單片機往時鐘芯片里面寫讀指令,然后把里面的實時時間讀出來,最后顯示在液晶顯示模塊上。液晶顯示模塊顯示年、月、周、日、時、分、秒信息,在對系統(tǒng)定時時間進行設置時起到參考作用,并且還可作為電子日歷使用。
1.2.5 上位機
上位機采用LABVIEW軟件進行編程制作可視化界面,實現(xiàn)人機交互的功能。友好的可視化界面能夠讓操作者在短時間內(nèi)熟悉系統(tǒng)操作,通過點擊相應按鈕向下位機發(fā)送命令,可便捷地對燈光進行控制。
STC89C52單片機的引腳及與外電路連接如圖1所示。
圖1 STC89C52單片機引腳及與外電路連接圖
P0口的P0.0至P0.7分別接LCD1602液晶顯示模塊的D0至D7口,負責向液晶顯示模塊并行寫入需要顯示的數(shù)據(jù)。
P2.0連接液晶顯示模塊的RS引腳,P2.1連接液晶顯示模塊的RW引腳,P2.2連接E使能引腳。這三個引腳控制單片機向液晶顯示模塊中寫命令和寫數(shù)據(jù),當RS為低電平、RW為低電平、E為高電平時,單片機通過P0口向液晶顯示模塊中寫入指令;當RS為高電平、RW為低電平、E為高電平時,單片機向液晶顯示模塊寫入顯示的數(shù)據(jù)。
P3.0是串口輸入(RXD)引腳,連接WIFI模塊的TXD引腳,負責接收由WIFI模塊傳過來的數(shù)據(jù);P3.1是串口輸出(TXD)引腳,連接WIFI模塊的RXD引腳,負責向WIFI模塊寫入初始化指令,完成對WIFI模塊的配置。
P3.4連接DS1302時鐘模塊的I/O引腳,P3.5連接時鐘模塊的RST(復位)引腳,P3.6連接時鐘模塊的SCLK(脈沖)引腳。當向時鐘模塊里面寫數(shù)據(jù)時,P3.5置高電平,在P3.6的下降沿時時鐘模塊放置數(shù)據(jù),在P3.6的上升沿時時鐘模塊鎖存數(shù)據(jù);當從時鐘模塊讀取數(shù)據(jù)時,P3.5置高電平,在P3.6的下降沿時時鐘模塊放置數(shù)據(jù),在P3.6的上升沿時單片機鎖存數(shù)據(jù)。
ESP8266無線通訊模塊有三種工作方式,分別是AP模式、STA模式和AP+STA模式。其中AP模式是服務器模式,相當于路由器,等待客戶端的連接;STA模式是客戶端模式,相當于用戶終端,和手機、筆記本電腦等具有無線連接功能的設備類似;AP+STA模式既有服務器模式的功能又有客戶端模式的功能,當模塊處于服務器模式時,可與另一個具有服務器功能的模塊連接。這三種模式分別用在不同的場景[2],本系統(tǒng)采用AP模式。ESP8266無線通信模塊電路如圖2所示。
圖2 ESP8266無線通信模塊電路圖
模塊供電電壓為3.3 V,當CH_PD引腳接高電平或VCC時(其余三個引腳懸空,也可接VCC),由FLASH啟動進入AT系統(tǒng)。當CH_PD引腳接低電平時,模塊啟動進入系統(tǒng)升級模式,此時通過串口升級的方式對模塊內(nèi)部進行升級[3]。
DS1302時鐘模塊引腳排列及電路連接如圖3所示。
圖3 DS1302時鐘模塊引腳排列及電路連接圖
VCC1與VCC2分別是主電源和備用電源,當主電源掉電時,時鐘模塊也能繼續(xù)正常運行。時鐘模塊由備用電源和主電源中電壓比較大的那個供電,當主電源比備用電源電壓高0.2 V以上時,主電源進行供電;當備用電源比主電源電壓高時,備用電源進行供電。X1,X2是時鐘芯片的振蕩源,外接32.768 kHz的晶振源。RST是復位引腳,當需要啟動所有的數(shù)據(jù)傳輸時,把復位引腳的輸入驅(qū)動置高電平。如果復位引腳處于高電平,則系統(tǒng)開始為數(shù)據(jù)傳輸做初始化任務,這時輸入輸出引腳變?yōu)楦邇?nèi)阻狀態(tài)。系統(tǒng)剛上電開啟時,復位引腳要保持低電平狀態(tài)直到VCC大于2.5 V。只有脈沖引腳處于低電平狀態(tài)時,才可以把復位引腳置為高電平狀態(tài)[4]。
串口中斷函數(shù)用來接收無線通信模塊的數(shù)據(jù)。當數(shù)據(jù)發(fā)送到單片機的串口數(shù)據(jù)接收緩沖區(qū)時,程序進入到串口中斷函數(shù)。先將緩沖區(qū)的數(shù)據(jù)賦給一個變量,再使用接收到的這些變量進行其他操作,完成想要實現(xiàn)的功能。串口中斷程序流程如圖4所示。
圖4 串口中斷程序流程圖
將定時模式與手動模式的控制程序放到串口中斷中,當串口接收到無線通信模塊的控制命令后,會將接收到的命令與提前設置好的命令進行比對,判斷是否需要進入定時模式,若進入定時模式,則進行定時模式的操作;否則進入手動模式,等待接收手動輸入的控制信號。
上位機界面采用LABVIEW軟件進行編寫,界面上設置了定時模式與手動模式的切換開關,并且手動模式的優(yōu)先級高于定時模式,這提高了系統(tǒng)的實用性。程序設計采用事件結構和while循環(huán)結構,事件結構嵌套在while循環(huán)結構里面。事件結構的事件源為按鍵,不同的按鍵對應不同的事件,每一個事件都預設一個控制命令,當按鍵被按動時,其所對應的值就會發(fā)生改變而觸發(fā)事件并將預先設置好的命令發(fā)送出去。命令先是被寫入TCP數(shù)據(jù)控件,然后讀取TCP數(shù)據(jù),再通過無線網(wǎng)卡把數(shù)據(jù)傳送到下位機。
圖5為系統(tǒng)上位機界面,界面上有模式切換按鈕、8間教室燈光控制按鈕,界面簡潔美觀。點擊模式切換按鈕,系統(tǒng)的工作方式即可在定時模式與手動模式之間切換,點擊燈光控制按鈕便可控制教室燈光的開關狀態(tài)。
圖5 上位機界面
基于WIFI的教室燈光遠程控制系統(tǒng)采用STC89C52單片機作為下位機,通過判斷接收到的命令與預設命令是否一致來控制教室燈光的狀態(tài)。通過ESP8266 WIFI通信模塊實現(xiàn)上下位機通信,把從上位機傳來的數(shù)據(jù)發(fā)給單片機,實現(xiàn)最終的控制功能。該系統(tǒng)實現(xiàn)了手動、自動相結合的智能化管理,提高了電能使用效率,降低了人力成本,經(jīng)過實驗驗證,該系統(tǒng)可使學校教室照明系統(tǒng)節(jié)電率達到25%以上,這不僅會使照明燈具的維修和管理費用大幅減少,而且也會延長照明燈具的使用壽命,因此該系統(tǒng)具有很高的推廣價值。