文/梁劭穎 呂集爾
隨著人才市場(chǎng)對(duì)復(fù)合型、應(yīng)用型、自主動(dòng)手能力強(qiáng)的技能型人才的需求日趨旺盛,應(yīng)用型高校也在采取有效措施,以適應(yīng)新的形勢(shì)。 這些措施包括:加大對(duì)實(shí)驗(yàn)實(shí)訓(xùn)室建設(shè)經(jīng)費(fèi)投入,研發(fā)新的實(shí)驗(yàn)室管理模式,以滿足學(xué)生對(duì)專(zhuān)業(yè)技能操作實(shí)踐的需求,更好地培養(yǎng)學(xué)生動(dòng)手、創(chuàng)新能力。在高校的計(jì)算機(jī)實(shí)驗(yàn)中心、光電實(shí)驗(yàn)中心、大數(shù)據(jù)仿真實(shí)驗(yàn)中心、檢驗(yàn)檢測(cè)實(shí)訓(xùn)室等實(shí)驗(yàn)場(chǎng)所對(duì)環(huán)境的要求較高,其中溫濕度、煙霧粉塵含量、聲光強(qiáng)度等都會(huì)對(duì)實(shí)驗(yàn)實(shí)訓(xùn)設(shè)備或?qū)嶒?yàn)實(shí)訓(xùn)結(jié)果的精度造成較大誤差。因此,對(duì)實(shí)驗(yàn)實(shí)訓(xùn)場(chǎng)所環(huán)境進(jìn)行實(shí)時(shí)、有效的智能化監(jiān)控和管理是非常重要也是十分必要的。為此,我們運(yùn)用無(wú)線傳感網(wǎng)絡(luò)技術(shù),提出了針對(duì)實(shí)驗(yàn)室環(huán)境進(jìn)行智能管理的設(shè)計(jì)方案,根據(jù)實(shí)驗(yàn)室的功能特點(diǎn),分別布置相應(yīng)的傳感器,實(shí)時(shí)監(jiān)測(cè)需要重點(diǎn)關(guān)注的環(huán)境信息,及時(shí)反饋給管理者。形成環(huán)境監(jiān)管、設(shè)備管理、人員控制三維一體的實(shí)驗(yàn)室智能監(jiān)管系統(tǒng)。
實(shí)驗(yàn)室智能管理系統(tǒng)總體采用模塊化的設(shè)計(jì)思路,由監(jiān)測(cè)節(jié)點(diǎn)、傳感協(xié)調(diào)、傳輸網(wǎng)絡(luò)、中控平臺(tái)(數(shù)據(jù)庫(kù)、顯示終端)等模塊組成(見(jiàn)圖1)。
其中最下面一層為布置在實(shí)際區(qū)域中的由各種傳感器組成的監(jiān)測(cè)節(jié)點(diǎn)及室內(nèi)控制節(jié)點(diǎn),監(jiān)測(cè)節(jié)點(diǎn)包括溫濕度傳感器、煙霧粉塵傳感器、光照傳感器、人體紅外傳感器,作用是采集監(jiān)測(cè)區(qū)域中環(huán)境溫濕度、光照強(qiáng)度、火患信息和人員進(jìn)出情況等數(shù)據(jù)信息;室控節(jié)點(diǎn)是布置在實(shí)驗(yàn)室相關(guān)位置的溫、濕度控制器、電源控制器和報(bào)警器等,用來(lái)調(diào)控實(shí)驗(yàn)室內(nèi)環(huán)境或發(fā)出警示。第二層為部署在實(shí)驗(yàn)室監(jiān)測(cè)區(qū)域中心附近的ZigBee 傳感協(xié)調(diào)器,用于接收各傳感器節(jié)點(diǎn)抓捕到的數(shù)據(jù)信息(包括數(shù)字信息或模擬信號(hào)),轉(zhuǎn)換處理成可供傳輸?shù)臄?shù)據(jù)信號(hào)(包)。再下一層是將各節(jié)點(diǎn)與有關(guān)層連接而成的傳輸網(wǎng)絡(luò),其功能可將數(shù)據(jù)信號(hào)通過(guò)Internet(或局域網(wǎng))傳送到與中控平臺(tái)連接的數(shù)據(jù)庫(kù)服務(wù)器。 最后一層是實(shí)驗(yàn)室中控平臺(tái),具有對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行處理的功能(如實(shí)時(shí)接收、存儲(chǔ)數(shù)據(jù),對(duì)數(shù)據(jù)和信號(hào)進(jìn)行分析、計(jì)算、擬合、作出判斷決策,觸發(fā)異常等)。
本智能管理系統(tǒng)的硬件主要是應(yīng)用 CC2530 芯片與ZigBee 無(wú)線傳感網(wǎng)絡(luò)構(gòu)建,并在此基礎(chǔ)之上,以ZigBee 協(xié)調(diào)器與溫濕度、煙霧粉塵、光照和紅外線等傳感模塊進(jìn)行連接。
本系統(tǒng)硬件選擇CC2530 芯片,首先因?yàn)镃C2530 芯片是一種體積較小、但功能強(qiáng)大的處理芯片;更重要方面是CC2530 芯片集成了應(yīng)用日趨廣泛的、兼容性好并支持最新版Zigbee 協(xié)議和技術(shù)。 CC2530 芯片的性能特點(diǎn)見(jiàn)表1。
把CC2530 應(yīng)用到實(shí)驗(yàn)室智能管理系統(tǒng)之中,能夠與ZigBee 相配合,構(gòu)建起低能耗、價(jià)格低廉又能夠抗干擾的無(wú)線傳感網(wǎng)絡(luò),并能夠長(zhǎng)時(shí)間的運(yùn)轉(zhuǎn),特別適合實(shí)驗(yàn)室這種短距離運(yùn)行時(shí)間長(zhǎng)的無(wú)線網(wǎng)絡(luò)。
基于ZigBee 技術(shù)所組建的無(wú)線傳感網(wǎng)絡(luò)實(shí)驗(yàn)室智能管理系統(tǒng),主要由實(shí)驗(yàn)室中控平臺(tái)、ZigBee 協(xié)調(diào)器、網(wǎng)絡(luò)傳輸系統(tǒng)和傳感器控制系統(tǒng)等組成,其中實(shí)驗(yàn)室中控平臺(tái)是總體管理系統(tǒng),負(fù)責(zé)整個(gè)實(shí)驗(yàn)室智能管理系統(tǒng)的運(yùn)轉(zhuǎn)、管理與控制,同時(shí)中控平臺(tái)可以通過(guò)互聯(lián)網(wǎng)或局域網(wǎng)與電腦終端(或手機(jī)端)相連接,能夠?qū)崿F(xiàn)信息的共享和反饋。 本設(shè)計(jì)中的ZigBee 協(xié)調(diào)器是基于ZigBee 技術(shù),與溫濕度傳感器、煙霧粉塵傳感器、光照傳感器、紅外線傳感器等傳感器相連接,使中控平臺(tái)能夠通過(guò)ZigBee 協(xié)調(diào)器,自動(dòng)監(jiān)測(cè)調(diào)控實(shí)驗(yàn)室內(nèi)的溫度和濕度、光照亮度、空氣純凈程度,確保在實(shí)驗(yàn)室中開(kāi)展各種實(shí)驗(yàn)所需的環(huán)境條件。 根據(jù)實(shí)際情況可以設(shè)計(jì)各種相對(duì)獨(dú)立的控制系統(tǒng),如電子門(mén)禁系統(tǒng),可以記錄進(jìn)出實(shí)驗(yàn)室人員的情況,一旦在管理系統(tǒng)運(yùn)行發(fā)生故障或出錯(cuò)時(shí),自動(dòng)報(bào)警并自動(dòng)上鎖,同時(shí)能夠?qū)ο到y(tǒng)中的關(guān)鍵數(shù)據(jù)進(jìn)行保護(hù),以防實(shí)驗(yàn)數(shù)據(jù)的丟失;有些可設(shè)計(jì)成獨(dú)立的控制系統(tǒng),是為了能夠在系統(tǒng)運(yùn)行產(chǎn)生故障時(shí),對(duì)實(shí)驗(yàn)室中的設(shè)備進(jìn)行有效管理,以保障實(shí)驗(yàn)教學(xué)的繼續(xù)進(jìn)行。 下面探討本智能管理系統(tǒng)所設(shè)計(jì)的ZigBee 組網(wǎng)技術(shù)。

圖1:實(shí)驗(yàn)室智能管理系統(tǒng)總體結(jié)構(gòu)圖

圖2:上位機(jī)與下位機(jī)之間串口通信流程圖

表1:CC2530 芯片的主要性能特點(diǎn)

表2:ZigBee 協(xié)調(diào)器主要作用一覽表
3.2.1 ZigBee 傳感網(wǎng)絡(luò)設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)主要采用分布式的ZigBee 傳感網(wǎng)絡(luò),即利用實(shí)驗(yàn)室智能系統(tǒng)的中控平臺(tái)與ZigBee 協(xié)調(diào)器連接,實(shí)現(xiàn)調(diào)控功能。ZigBee協(xié)調(diào)器主要作用見(jiàn)表2。
3.2.2 ZigBee 傳感協(xié)調(diào)器組網(wǎng)設(shè)計(jì)
實(shí)驗(yàn)室智能管理系統(tǒng)要進(jìn)行ZigBee 傳感協(xié)調(diào)器組網(wǎng),目的是做好如下節(jié)點(diǎn)之間的組網(wǎng):ZigBee 傳感協(xié)調(diào)器←→路由器節(jié)點(diǎn)←→傳感器。第一步,對(duì)ZigBee 傳感協(xié)調(diào)器組網(wǎng):可通過(guò)無(wú)線傳感網(wǎng)絡(luò)設(shè)備,向ZigBee 傳感協(xié)調(diào)器發(fā)送入網(wǎng)請(qǐng)求,用來(lái)檢測(cè)ZigBee 傳感協(xié)調(diào)器的回應(yīng)情況、判斷接入點(diǎn)的IP 位置,以確定發(fā)送入網(wǎng)請(qǐng)求是哪一個(gè)傳感器節(jié)點(diǎn);第二步,對(duì)ZigBee 傳感協(xié)調(diào)器的網(wǎng)絡(luò)信道組網(wǎng):組網(wǎng)時(shí)一定要選擇恰當(dāng)?shù)男诺溃怪c周邊網(wǎng)絡(luò)的信道相匹配,以避免網(wǎng)絡(luò)信道的干擾問(wèn)題;第三步,對(duì)路由器節(jié)點(diǎn)的組網(wǎng):可以設(shè)計(jì)成在啟動(dòng)路由器后,要通過(guò)ZigBee 傳感協(xié)調(diào)器對(duì)路由器節(jié)點(diǎn)進(jìn)行授權(quán),才能夠使路由器節(jié)點(diǎn)接入到ZigBee 傳感協(xié)調(diào)器之中(授權(quán)可以設(shè)計(jì)為要給相關(guān)路由器節(jié)點(diǎn)提供IP 地址、MAC 地址、DNS 等信息);最后,對(duì)傳感節(jié)點(diǎn)網(wǎng)絡(luò)的組建:由于所設(shè)計(jì)的實(shí)驗(yàn)室智能管理系統(tǒng)傳感器比較多,為了保障傳感器節(jié)點(diǎn)與路由器節(jié)點(diǎn)的連通網(wǎng)絡(luò)安全可靠,可以設(shè)計(jì)成要通過(guò)組網(wǎng)驗(yàn)證的方式來(lái)實(shí)現(xiàn)。
基于ZigBee 協(xié)議的實(shí)驗(yàn)室智能軟件系統(tǒng)可以設(shè)計(jì)為多個(gè)模塊,包括實(shí)驗(yàn)室智能平臺(tái)控制模塊、傳感器管理模塊、中控平臺(tái)數(shù)據(jù)發(fā)送與接收模塊、中控平臺(tái)數(shù)據(jù)分析計(jì)算模塊等。這些模塊可以通過(guò)編程對(duì)實(shí)驗(yàn)室內(nèi)各種傳感器、探測(cè)器和實(shí)驗(yàn)設(shè)備進(jìn)行控制和管理,用程序通過(guò)ZigBee 對(duì)各傳感器和實(shí)驗(yàn)設(shè)備進(jìn)行信息傳輸和指令下達(dá),再通過(guò) UART 與系統(tǒng)的顯示終端及控制終端實(shí)現(xiàn)人機(jī)交互。 系統(tǒng)可以選用JAVA 面向?qū)ο笤O(shè)計(jì)語(yǔ)言,對(duì)數(shù)據(jù)進(jìn)行整理和分析,再通過(guò) JAVA 通信串口將實(shí)驗(yàn)室智能管理系統(tǒng)的命令發(fā)送到上位機(jī)上,由上位機(jī)將數(shù)據(jù)顯示到終端屏幕上,管理人員可以在控制終端通過(guò)人機(jī)對(duì)話方式下達(dá)各項(xiàng)指令,實(shí)現(xiàn)對(duì)實(shí)驗(yàn)室進(jìn)行智能監(jiān)控。
上位機(jī)一般指的是電腦終端(或手機(jī)),下位機(jī)指的是單片機(jī)或者帶微處理器的系統(tǒng)。下位機(jī)就是將模擬信號(hào)經(jīng)過(guò)AD 轉(zhuǎn)換器將模擬量轉(zhuǎn)換為數(shù)字量,再經(jīng)過(guò)數(shù)字信號(hào)處理將數(shù)字信號(hào)通過(guò)串口發(fā)送到上位機(jī);而上位機(jī)則相反,可以給下位機(jī)發(fā)送一些指令或者信息。 常見(jiàn)的通信串口有 RS232、RS485、RS422 等。 現(xiàn)在的硬件上一般都有各種轉(zhuǎn)換接口,使得在上位機(jī)與下位機(jī)進(jìn)行數(shù)據(jù)通信時(shí)操作都比較方便。 利用JAVA 可實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的RS485 串口通信。 主要步驟是:
(1)準(zhǔn)備軟件:下載支持java 串口通信的jar 包,解壓jar 包后,把其中的RXTXcomm 導(dǎo) 入 到j(luò)ava 工程里,同時(shí)將rxtxParallel。dll 與rxtxSerial。dll 復(fù) 制 到 安 裝了JDK 的bin 文件下和jre 的bin 文件夾下;
(2)硬件檢測(cè):查找是否有可用的COM端口,并對(duì)該對(duì)端口進(jìn)行簡(jiǎn)要判斷(包括這些端口是否是串口,是否正在使用等);
(3)對(duì)串口參數(shù)進(jìn)行簡(jiǎn)單的配置:通過(guò)串口提供的人機(jī)交換界面,輸入相應(yīng)的參數(shù)(包括串口號(hào)、波特率、校驗(yàn)位、數(shù)據(jù)位等);
(4)實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的雙向通信:上位機(jī)往單板機(jī)通過(guò)串口發(fā)送數(shù)據(jù),上位機(jī)接收數(shù)據(jù)。
上述雙向串口通信可用JAVA 實(shí)現(xiàn)。程序流程見(jiàn)圖2。
該程序整體分為串口設(shè)置、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收三個(gè)模塊。 串口設(shè)置模塊包括串口測(cè)試和參數(shù)設(shè)置,可以用測(cè)試類(lèi)的方法,在創(chuàng)建的測(cè)試類(lèi)中用語(yǔ)句if-eles- 進(jìn)行串口測(cè)試,通過(guò)for 循環(huán)統(tǒng)計(jì)可用串口端口,再用if 結(jié)構(gòu)對(duì)可用端口逐個(gè)檢驗(yàn)它的停止位、波特率、奇偶校驗(yàn)、數(shù)據(jù)位是否進(jìn)行了設(shè)置,如果沒(méi)有設(shè)置就進(jìn)行參數(shù)設(shè)置;數(shù)據(jù)發(fā)送模塊,可用語(yǔ)句class DataTransimit 把串口數(shù)據(jù)發(fā)送以及數(shù)據(jù)傳輸作為一個(gè)類(lèi),用來(lái)實(shí)現(xiàn)把數(shù)據(jù)包傳輸至下單板機(jī);而在數(shù)據(jù)接收這個(gè)模塊中,是通過(guò)public static byte[]語(yǔ)句創(chuàng)建byte 數(shù)組來(lái)實(shí)現(xiàn)接收數(shù)據(jù)。
對(duì)于實(shí)驗(yàn)室智能管理系統(tǒng)的軟件實(shí)現(xiàn),上面只是探討了基于JAVA 的上位機(jī)與下位機(jī)之間的串口通信的程序構(gòu)架,在此基礎(chǔ)上還可以進(jìn)一步做如下的優(yōu)化完善:例如可以根據(jù)自身需要和實(shí)驗(yàn)室控制平臺(tái)的實(shí)際情況設(shè)計(jì)獨(dú)具風(fēng)格的人機(jī)交互界面;又比如,在程序中加入線程技術(shù),使得在程序中對(duì)于系統(tǒng)時(shí)間的獲取可以通過(guò)線程的方式來(lái)進(jìn)行,這樣可以使上位機(jī)保持持續(xù)往下位機(jī)發(fā)送數(shù)據(jù)包;此外,對(duì)于上位機(jī)數(shù)據(jù)接收的方式,除了以上最基本的接收方法以外,還可以利用JAVA 中的JDBC 與MYSQL 等數(shù)據(jù)進(jìn)行存儲(chǔ),這些數(shù)據(jù)處理功能還可以進(jìn)行擬合分析和作出決策。
我們所探討的智能管理系統(tǒng),在硬件系統(tǒng)方面,是基于ZigBee 協(xié)調(diào)器與各種傳感器模塊相聯(lián)結(jié),在軟件方面還可以利用其他的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言編程來(lái)實(shí)現(xiàn)對(duì)實(shí)驗(yàn)室內(nèi)各設(shè)備實(shí)施智能監(jiān)督和管理。