劉國梅
(鄭州航空工業管理學院 智能工程學院,河南 鄭州 450046)
實驗室是高校進行實驗教學、科學研究、培養創新人才的重要場所,伴隨著實驗室規模的擴大以及開放性實驗室的增多,實驗室的日常管理工作日益繁重,對實驗室的安全提出了更高的要求[1]。針對這些問題設計并實現基于物聯網的實驗室信息管理系統,方便管理人員通過網絡遠程實時查看實驗室設備信息、環境信息等,并通過實驗室攝像頭進行遠程視頻監控,實現遠程控制實驗室燈光、空調、電源等的開關[2]。學生、教師等可借助系統實現實驗設備的自助借還,提高設備管理效率,有效防止借還記錄出現錯誤。本系統能夠減少實驗室管理人員的工作量,提升實驗室的安全性。
系統主要分為感知模塊、執行模塊、核心板服務器以及客戶端,如圖1所示。感知模塊、執行模塊、核心板服務器間通過ZigBee實現無線通信,核心板服務器通過以太網、WiFi等接入局域網或Internet,實現實驗室的遠程監控與管理。

圖1 系統框架
通過在實驗室布置多個無線感知模塊,實現對實驗室環境的實時監測、實驗設備的自助借還,一旦發現異常情況還可自動報警,保證實驗室的安全。管理人員可以通過網絡遠程登錄實驗室核心板服務器查看實驗室的環境參數及視頻監控,也可以通過網絡向實驗室的執行單元發送命令,遠程控制實驗室的電源、門窗等相應設備的開關。
1.2.1 感知模塊
感知模塊的組成如圖2所示。感知模塊MCU采用低功耗微處理器ARM Cortex-M3,感知模塊集成了多種傳感器,主要包括溫濕度傳感器、火焰傳感器、煙霧傳感器、可燃氣體傳感器、紅外熱釋電傳感器、門磁傳感器等[3],能夠實現對實驗室溫度、濕度、火焰、煙霧、可燃氣體、入侵者、門窗狀態、電源開關狀態、空調/電風扇開關狀態等的感知。另外,感知模塊上還集成有RFID模塊、ZigBee模塊等,可利用RFID模塊實現對實驗設備借還記錄的管理,利用ZigBee模塊將采集的數據傳送到上層核心板服務器。

圖2 感知模塊的組成
1.2.2 執行單元
執行單元MCU采用低功耗微處理器ARM Cortex-M3,執行模塊集成有ZigBee模塊、繼電器、步進電機、舵機等[4],利用ZigBee模塊可以接收來自上層核心板服務器傳送的控制命令,解析命令之后,通過繼電器、步進電機、舵機等控制電源、燈、空調、電風扇、窗簾、門等的開關。執行單元設備控制如圖3所示。

圖3 執行單元設備控制
1.2.3 核心板服務器
核心板服務器作為平臺核心所在,需要進行數據的接收、分析與處理,還需要作為Web服務器、視頻服務器,因此核心板服務器采用性能較高的ARM Cortex-A9微處理器,其上集成有ZigBee模塊、SD卡存儲器、觸摸屏模塊、攝像頭、網口、GPRS模塊、WiFi模塊、蜂鳴器、LED燈等,如圖4所示。

圖4 核心板服務器模塊組成
核心板帶有觸摸屏,管理員可通過觸摸屏實時查看和修改各項參數,控制實驗室相關設備;通過核心板上的攝像頭可以實現遠程視頻監控;通過SD卡存儲器可將采集的數據暫存在核心板服務器上;通過ZigBee模塊可實現核心板服務器與感知模塊、執行單元的無線通信;通過GPRS模塊可實現向用戶發短信報警等功能,如溫度、火焰、可燃氣體等數值超出正常范圍時,會向管理員發送報警短信。當感知模塊處于布防狀態時,若有人闖入實驗室,也會向管理員發報警短信,并啟動LED燈、蜂鳴器等實現本地聲光報警;通過WiFi、Ethernet模塊可接入Internet,管理員可遠程監控實驗室[5]。
1.2.4 客戶端
用戶可通過感知模塊上的RFID自助借還實驗設備。管理員可通過核心板服務器上的觸摸屏查看、操控實驗室設備,也可遠程登錄核心板服務器查看實驗室參數并控制相關設備。
系統軟件開發包括感知模塊、執行單元等終端的軟件開發以及核心板服務器的軟件開發。
終端軟件由C語言開發。系統上電后初始化終端設備,如系統定時器、SPI等,配置系統滴答定時器、中斷處理函數等。感知模塊軟件流程如圖5所示。系統上電初始化終端各設備后,主程序進行輪詢循環,采集環境數據、檢測有無刷卡,將數據打包發送給核心板服務器。當外部RFID刷卡且其他數據采集正常時,RFID中斷函數同時對RFID卡進行數據采集、校驗數據有效性等操作,并發送給核心板服務器。

圖5 感知模塊軟件流程
實驗室設備自助借還流程如圖6所示[6]。為每臺設備貼一個RFID標簽,將實驗設備信息錄入系統數據庫,借出時,用戶利用一卡通認證成功后,掃描設備上的RFID標簽即可記錄借用信息,設備歸還后將自動清除借用記錄。借還全程無需人工記錄,不僅省時省力,還能最大限度避免出現記錄錯誤。

圖6 實驗設備的自助借還流程
執行單元軟件在系統上電初始化M3終端各設備之后,主程序進行輪詢循環,查看是否有ZigBee接收數據中斷產生,當有外部中斷時,ZigBee接收核心板服務器發送的指令,然后解析數據,執行相應的命令,實現設備的遠程控制。
核心板服務器的功能較多,需要處理的任務較多,所以核心板服務器的軟件開發相對復雜,主要包括以下幾方面:
(1)嵌入式Linux操作系統的移植。核心板服務器選擇源代碼開放的嵌入式Linux操作系統。
(2)BOA服務器的移植。管理員可以通過瀏覽器登錄系統,查看實驗室環境信息并控制相關設備,所以需要在系統中架設Web服務器。BOA是一種非常小巧的Web服務器,且支持CGI,因此是本系統的不二之選[7]。
(3)視頻服務器的移植。實現遠程視頻監控需要視頻服務器,于是選擇mjpg-streamer開源軟件完成JPEG庫及mjpg-streamer的移植[8]。
(4)數據庫的實現。系統采用SQLite3數據庫[9]。
(5)Qt模塊的實現。核心板服務器帶有觸摸屏,采用Qt實現用戶界面,移植qt-everywhere。
(6)網頁編寫及CGI程序的實現。網頁編寫采用Dreamweaver,CGI程序使用C語言編寫,CGI程序提供客戶端HTML頁面接口,把網頁和Web服務器中的執行程序連接起來。通過CGI程序將底層采集的環境參數顯示在網頁上,同時通過點擊網頁上的按鈕來遠程控制實驗室相應設備[10]。
(7)多線程應用程序的編寫。基于嵌入式Linux操作系統進行多線程應用程序的編寫[11]。由接收請求線程負責接收環境參數或其他請求,激活數據庫線程對數據庫進行相應處理。如果是環境參數,則對環境參數進行判斷、處理,另外也可以向執行單元發出控制命令。
完成嵌入式Linux操作系統內核的編譯與主應用程序的開發、編譯,并制作成根文件系統鏡像文件,將它們燒寫到核心板服務器,完成核心板服務器軟件的開發。
針對實驗室管理的需要,設計并實現了基于物聯網的實驗室信息管理系統。系統借助傳感器、攝像頭、ZigBee實現對實驗室的全面監測,當監測到異常時,系統自動通過實驗室的燈光、蜂鳴器報警,并向管理員發送短信;通過核心板的Web服務器、視頻服務器,管理者也可登錄核心板服務器查看實驗室情況,遠程控制實驗室相應設備。系統采用RFID技術實現了對實驗設備、用戶的管理以及實驗設備的自助借還功能,提高了實驗室管理的信息化水平與管理效率。