劉國梅
(鄭州航空工業(yè)管理學(xué)院 智能工程學(xué)院,河南 鄭州 450046)
實(shí)驗(yàn)室是高校進(jìn)行實(shí)驗(yàn)教學(xué)、科學(xué)研究、培養(yǎng)創(chuàng)新人才的重要場所,伴隨著實(shí)驗(yàn)室規(guī)模的擴(kuò)大以及開放性實(shí)驗(yàn)室的增多,實(shí)驗(yàn)室的日常管理工作日益繁重,對實(shí)驗(yàn)室的安全提出了更高的要求[1]。針對這些問題設(shè)計(jì)并實(shí)現(xiàn)基于物聯(lián)網(wǎng)的實(shí)驗(yàn)室信息管理系統(tǒng),方便管理人員通過網(wǎng)絡(luò)遠(yuǎn)程實(shí)時(shí)查看實(shí)驗(yàn)室設(shè)備信息、環(huán)境信息等,并通過實(shí)驗(yàn)室攝像頭進(jìn)行遠(yuǎn)程視頻監(jiān)控,實(shí)現(xiàn)遠(yuǎn)程控制實(shí)驗(yàn)室燈光、空調(diào)、電源等的開關(guān)[2]。學(xué)生、教師等可借助系統(tǒng)實(shí)現(xiàn)實(shí)驗(yàn)設(shè)備的自助借還,提高設(shè)備管理效率,有效防止借還記錄出現(xiàn)錯(cuò)誤。本系統(tǒng)能夠減少實(shí)驗(yàn)室管理人員的工作量,提升實(shí)驗(yàn)室的安全性。
系統(tǒng)主要分為感知模塊、執(zhí)行模塊、核心板服務(wù)器以及客戶端,如圖1所示。感知模塊、執(zhí)行模塊、核心板服務(wù)器間通過ZigBee實(shí)現(xiàn)無線通信,核心板服務(wù)器通過以太網(wǎng)、WiFi等接入局域網(wǎng)或Internet,實(shí)現(xiàn)實(shí)驗(yàn)室的遠(yuǎn)程監(jiān)控與管理。
圖1 系統(tǒng)框架
通過在實(shí)驗(yàn)室布置多個(gè)無線感知模塊,實(shí)現(xiàn)對實(shí)驗(yàn)室環(huán)境的實(shí)時(shí)監(jiān)測、實(shí)驗(yàn)設(shè)備的自助借還,一旦發(fā)現(xiàn)異常情況還可自動(dòng)報(bào)警,保證實(shí)驗(yàn)室的安全。管理人員可以通過網(wǎng)絡(luò)遠(yuǎn)程登錄實(shí)驗(yàn)室核心板服務(wù)器查看實(shí)驗(yàn)室的環(huán)境參數(shù)及視頻監(jiān)控,也可以通過網(wǎng)絡(luò)向?qū)嶒?yàn)室的執(zhí)行單元發(fā)送命令,遠(yuǎn)程控制實(shí)驗(yàn)室的電源、門窗等相應(yīng)設(shè)備的開關(guān)。
1.2.1 感知模塊
感知模塊的組成如圖2所示。感知模塊MCU采用低功耗微處理器ARM Cortex-M3,感知模塊集成了多種傳感器,主要包括溫濕度傳感器、火焰?zhèn)鞲衅?、煙霧傳感器、可燃?xì)怏w傳感器、紅外熱釋電傳感器、門磁傳感器等[3],能夠?qū)崿F(xiàn)對實(shí)驗(yàn)室溫度、濕度、火焰、煙霧、可燃?xì)怏w、入侵者、門窗狀態(tài)、電源開關(guān)狀態(tài)、空調(diào)/電風(fēng)扇開關(guān)狀態(tài)等的感知。另外,感知模塊上還集成有RFID模塊、ZigBee模塊等,可利用RFID模塊實(shí)現(xiàn)對實(shí)驗(yàn)設(shè)備借還記錄的管理,利用ZigBee模塊將采集的數(shù)據(jù)傳送到上層核心板服務(wù)器。
圖2 感知模塊的組成
1.2.2 執(zhí)行單元
執(zhí)行單元MCU采用低功耗微處理器ARM Cortex-M3,執(zhí)行模塊集成有ZigBee模塊、繼電器、步進(jìn)電機(jī)、舵機(jī)等[4],利用ZigBee模塊可以接收來自上層核心板服務(wù)器傳送的控制命令,解析命令之后,通過繼電器、步進(jìn)電機(jī)、舵機(jī)等控制電源、燈、空調(diào)、電風(fēng)扇、窗簾、門等的開關(guān)。執(zhí)行單元設(shè)備控制如圖3所示。
圖3 執(zhí)行單元設(shè)備控制
1.2.3 核心板服務(wù)器
核心板服務(wù)器作為平臺核心所在,需要進(jìn)行數(shù)據(jù)的接收、分析與處理,還需要作為Web服務(wù)器、視頻服務(wù)器,因此核心板服務(wù)器采用性能較高的ARM Cortex-A9微處理器,其上集成有ZigBee模塊、SD卡存儲器、觸摸屏模塊、攝像頭、網(wǎng)口、GPRS模塊、WiFi模塊、蜂鳴器、LED燈等,如圖4所示。
圖4 核心板服務(wù)器模塊組成
核心板帶有觸摸屏,管理員可通過觸摸屏實(shí)時(shí)查看和修改各項(xiàng)參數(shù),控制實(shí)驗(yàn)室相關(guān)設(shè)備;通過核心板上的攝像頭可以實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)控;通過SD卡存儲器可將采集的數(shù)據(jù)暫存在核心板服務(wù)器上;通過ZigBee模塊可實(shí)現(xiàn)核心板服務(wù)器與感知模塊、執(zhí)行單元的無線通信;通過GPRS模塊可實(shí)現(xiàn)向用戶發(fā)短信報(bào)警等功能,如溫度、火焰、可燃?xì)怏w等數(shù)值超出正常范圍時(shí),會(huì)向管理員發(fā)送報(bào)警短信。當(dāng)感知模塊處于布防狀態(tài)時(shí),若有人闖入實(shí)驗(yàn)室,也會(huì)向管理員發(fā)報(bào)警短信,并啟動(dòng)LED燈、蜂鳴器等實(shí)現(xiàn)本地聲光報(bào)警;通過WiFi、Ethernet模塊可接入Internet,管理員可遠(yuǎn)程監(jiān)控實(shí)驗(yàn)室[5]。
1.2.4 客戶端
用戶可通過感知模塊上的RFID自助借還實(shí)驗(yàn)設(shè)備。管理員可通過核心板服務(wù)器上的觸摸屏查看、操控實(shí)驗(yàn)室設(shè)備,也可遠(yuǎn)程登錄核心板服務(wù)器查看實(shí)驗(yàn)室參數(shù)并控制相關(guān)設(shè)備。
系統(tǒng)軟件開發(fā)包括感知模塊、執(zhí)行單元等終端的軟件開發(fā)以及核心板服務(wù)器的軟件開發(fā)。
終端軟件由C語言開發(fā)。系統(tǒng)上電后初始化終端設(shè)備,如系統(tǒng)定時(shí)器、SPI等,配置系統(tǒng)滴答定時(shí)器、中斷處理函數(shù)等。感知模塊軟件流程如圖5所示。系統(tǒng)上電初始化終端各設(shè)備后,主程序進(jìn)行輪詢循環(huán),采集環(huán)境數(shù)據(jù)、檢測有無刷卡,將數(shù)據(jù)打包發(fā)送給核心板服務(wù)器。當(dāng)外部RFID刷卡且其他數(shù)據(jù)采集正常時(shí),RFID中斷函數(shù)同時(shí)對RFID卡進(jìn)行數(shù)據(jù)采集、校驗(yàn)數(shù)據(jù)有效性等操作,并發(fā)送給核心板服務(wù)器。
圖5 感知模塊軟件流程
實(shí)驗(yàn)室設(shè)備自助借還流程如圖6所示[6]。為每臺設(shè)備貼一個(gè)RFID標(biāo)簽,將實(shí)驗(yàn)設(shè)備信息錄入系統(tǒng)數(shù)據(jù)庫,借出時(shí),用戶利用一卡通認(rèn)證成功后,掃描設(shè)備上的RFID標(biāo)簽即可記錄借用信息,設(shè)備歸還后將自動(dòng)清除借用記錄。借還全程無需人工記錄,不僅省時(shí)省力,還能最大限度避免出現(xiàn)記錄錯(cuò)誤。
圖6 實(shí)驗(yàn)設(shè)備的自助借還流程
執(zhí)行單元軟件在系統(tǒng)上電初始化M3終端各設(shè)備之后,主程序進(jìn)行輪詢循環(huán),查看是否有ZigBee接收數(shù)據(jù)中斷產(chǎn)生,當(dāng)有外部中斷時(shí),ZigBee接收核心板服務(wù)器發(fā)送的指令,然后解析數(shù)據(jù),執(zhí)行相應(yīng)的命令,實(shí)現(xiàn)設(shè)備的遠(yuǎn)程控制。
核心板服務(wù)器的功能較多,需要處理的任務(wù)較多,所以核心板服務(wù)器的軟件開發(fā)相對復(fù)雜,主要包括以下幾方面:
(1)嵌入式Linux操作系統(tǒng)的移植。核心板服務(wù)器選擇源代碼開放的嵌入式Linux操作系統(tǒng)。
(2)BOA服務(wù)器的移植。管理員可以通過瀏覽器登錄系統(tǒng),查看實(shí)驗(yàn)室環(huán)境信息并控制相關(guān)設(shè)備,所以需要在系統(tǒng)中架設(shè)Web服務(wù)器。BOA是一種非常小巧的Web服務(wù)器,且支持CGI,因此是本系統(tǒng)的不二之選[7]。
(3)視頻服務(wù)器的移植。實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)控需要視頻服務(wù)器,于是選擇mjpg-streamer開源軟件完成JPEG庫及mjpg-streamer的移植[8]。
(4)數(shù)據(jù)庫的實(shí)現(xiàn)。系統(tǒng)采用SQLite3數(shù)據(jù)庫[9]。
(5)Qt模塊的實(shí)現(xiàn)。核心板服務(wù)器帶有觸摸屏,采用Qt實(shí)現(xiàn)用戶界面,移植qt-everywhere。
(6)網(wǎng)頁編寫及CGI程序的實(shí)現(xiàn)。網(wǎng)頁編寫采用Dreamweaver,CGI程序使用C語言編寫,CGI程序提供客戶端HTML頁面接口,把網(wǎng)頁和Web服務(wù)器中的執(zhí)行程序連接起來。通過CGI程序?qū)⒌讓硬杉沫h(huán)境參數(shù)顯示在網(wǎng)頁上,同時(shí)通過點(diǎn)擊網(wǎng)頁上的按鈕來遠(yuǎn)程控制實(shí)驗(yàn)室相應(yīng)設(shè)備[10]。
(7)多線程應(yīng)用程序的編寫。基于嵌入式Linux操作系統(tǒng)進(jìn)行多線程應(yīng)用程序的編寫[11]。由接收請求線程負(fù)責(zé)接收環(huán)境參數(shù)或其他請求,激活數(shù)據(jù)庫線程對數(shù)據(jù)庫進(jìn)行相應(yīng)處理。如果是環(huán)境參數(shù),則對環(huán)境參數(shù)進(jìn)行判斷、處理,另外也可以向執(zhí)行單元發(fā)出控制命令。
完成嵌入式Linux操作系統(tǒng)內(nèi)核的編譯與主應(yīng)用程序的開發(fā)、編譯,并制作成根文件系統(tǒng)鏡像文件,將它們燒寫到核心板服務(wù)器,完成核心板服務(wù)器軟件的開發(fā)。
針對實(shí)驗(yàn)室管理的需要,設(shè)計(jì)并實(shí)現(xiàn)了基于物聯(lián)網(wǎng)的實(shí)驗(yàn)室信息管理系統(tǒng)。系統(tǒng)借助傳感器、攝像頭、ZigBee實(shí)現(xiàn)對實(shí)驗(yàn)室的全面監(jiān)測,當(dāng)監(jiān)測到異常時(shí),系統(tǒng)自動(dòng)通過實(shí)驗(yàn)室的燈光、蜂鳴器報(bào)警,并向管理員發(fā)送短信;通過核心板的Web服務(wù)器、視頻服務(wù)器,管理者也可登錄核心板服務(wù)器查看實(shí)驗(yàn)室情況,遠(yuǎn)程控制實(shí)驗(yàn)室相應(yīng)設(shè)備。系統(tǒng)采用RFID技術(shù)實(shí)現(xiàn)了對實(shí)驗(yàn)設(shè)備、用戶的管理以及實(shí)驗(yàn)設(shè)備的自助借還功能,提高了實(shí)驗(yàn)室管理的信息化水平與管理效率。