高等院校開(kāi)放式學(xué)生創(chuàng)新實(shí)驗(yàn)室的網(wǎng)絡(luò)化管理系統(tǒng)設(shè)計(jì)
作者 曾慶杰 莫長(zhǎng)江 許棠 梁?jiǎn)⑽?龍世瑜 嶺南師范學(xué)院 信息科學(xué)與技術(shù)學(xué)院(廣東 湛江 524048)
本文引用地址:http://www.ex-cimer.com/article/201805/380763.htm摘要:針對(duì)本學(xué)院開(kāi)放實(shí)驗(yàn)室的人力管理上的不足,設(shè)計(jì)了網(wǎng)絡(luò)化電源控制的開(kāi)放實(shí)驗(yàn)室管理系統(tǒng)。該系統(tǒng)主要通過(guò)使用Delphi、UniGUI、SQLSERVER相關(guān)技術(shù)建立中心機(jī)房服務(wù)器,同時(shí)使用Delphi 10 Seattle開(kāi)發(fā)開(kāi)放實(shí)驗(yàn)室嵌入式安卓網(wǎng)關(guān),實(shí)現(xiàn)和讀卡模塊與Zigbee網(wǎng)絡(luò)的串口通信,從而控制每一個(gè)Zigbee終端的交流接觸器動(dòng)作,最終達(dá)到利用學(xué)生一卡通實(shí)現(xiàn)RFID考勤智能化管理與學(xué)生質(zhì)量跟蹤等功能。
1 開(kāi)放實(shí)驗(yàn)室的重要性
學(xué)生作為教學(xué)工作的主體,特別是在電子學(xué)科的教學(xué)實(shí)踐中,實(shí)踐與工程創(chuàng)新能力的培養(yǎng)與提高對(duì)學(xué)生而言尤為重要[1]。傳統(tǒng)的實(shí)驗(yàn)教學(xué)存在著許多的不足之處,如過(guò)多的驗(yàn)證性實(shí)驗(yàn),只能在預(yù)設(shè)的時(shí)間段內(nèi)進(jìn)行等,雖然普及面廣,但不利于提高部分學(xué)有余力的學(xué)生進(jìn)行創(chuàng)新性的實(shí)驗(yàn),抑制了這部分學(xué)生的創(chuàng)造力。因此,建立開(kāi)放式學(xué)生創(chuàng)新實(shí)驗(yàn)室,讓學(xué)生能在課余時(shí)間繼續(xù)進(jìn)行實(shí)驗(yàn)與科技制作,實(shí)現(xiàn)多方共贏。
2 網(wǎng)絡(luò)化開(kāi)放實(shí)驗(yàn)室的系統(tǒng)設(shè)計(jì)
網(wǎng)絡(luò)化主要是利用電子信息技術(shù)和網(wǎng)絡(luò)技術(shù)的結(jié)合[2],對(duì)電子學(xué)科開(kāi)放實(shí)驗(yàn)室學(xué)生遴選、考勤、工程實(shí)踐活動(dòng)做全程監(jiān)控跟蹤。
2.1 推進(jìn)網(wǎng)絡(luò)化開(kāi)放實(shí)驗(yàn)室的初衷
傳統(tǒng)的開(kāi)放實(shí)驗(yàn)室較常見(jiàn)的局面是提供一個(gè)集中的場(chǎng)所,給部分學(xué)生進(jìn)行課外的學(xué)習(xí)研究,配備一個(gè)兼職的老師進(jìn)行簡(jiǎn)單的協(xié)調(diào)管理。這種情況下,會(huì)增大實(shí)驗(yàn)室的管理難度,并可能存在安全隱患。如果疏忽,容易造成儀器丟失或者用電不規(guī)范,也容易造成火災(zāi)等險(xiǎn)情。同時(shí),也存在對(duì)于學(xué)生的跟蹤培養(yǎng)缺失的問(wèn)題。一方面,學(xué)生的自主學(xué)習(xí)研究是主要的,另一方面,指導(dǎo)教師的介入不足,不能了解學(xué)生各方面的情況,針對(duì)性的工作無(wú)法得出對(duì)策[3]。
2.2 網(wǎng)絡(luò)化開(kāi)放實(shí)驗(yàn)室的架構(gòu)與功能
為了解決以上的幾個(gè)突出問(wèn)題,本文設(shè)計(jì)了一套網(wǎng)絡(luò)開(kāi)放實(shí)驗(yàn)室管理系統(tǒng),圖1為系統(tǒng)的框架結(jié)構(gòu)圖。
由圖1可知,系統(tǒng)分三層:服務(wù)器層、安卓網(wǎng)關(guān)中間層和Zigbee網(wǎng)絡(luò)[4]執(zhí)行層。WEB服務(wù)器層通過(guò)互聯(lián)網(wǎng)與安卓網(wǎng)關(guān)交換信息[5],安卓網(wǎng)關(guān)層則由Zigbee網(wǎng)絡(luò)協(xié)調(diào)器發(fā)送控制命令給每個(gè)座位上的終端控制盒(包含Zigbee路由器、核心控制板與交流接觸器等主要部件)去執(zhí)行通斷電動(dòng)作。
3 服務(wù)器層
邏輯上有WEB服務(wù)器、SQLSERVER[6]數(shù)據(jù)庫(kù)服務(wù)器和DataSnap[7]服務(wù)器,但物理上同在一臺(tái)PC上,該服務(wù)器設(shè)置在學(xué)校的中心機(jī)房中,建立SQLSERVER數(shù)據(jù)庫(kù)表,用于保存學(xué)生與教師的個(gè)人信息,而WEB服務(wù)器則利用Delphi+UniGUI技術(shù)開(kāi)發(fā),IIS發(fā)布。最后使用DataSnap[8]技術(shù),F(xiàn)ireDAC數(shù)據(jù)庫(kù)通信組件開(kāi)發(fā)服務(wù)器中間件與安卓網(wǎng)關(guān)通信。
3.1 SQLSERVER數(shù)據(jù)庫(kù)數(shù)據(jù)結(jié)構(gòu)
系統(tǒng)采用SQLSERVER數(shù)據(jù)庫(kù)服務(wù)器,通過(guò)建立數(shù)據(jù)庫(kù)與數(shù)據(jù)表實(shí)現(xiàn)系統(tǒng)功能。最主要有學(xué)生信息表1,座位使用登錄表2等。
系統(tǒng)通過(guò)建立包含上述兩個(gè)核心表與其它更多的關(guān)系表,編寫存儲(chǔ)過(guò)程,提供給DELPHI編寫的WEB程序調(diào)用。
3.2 Delphi+UniGUI開(kāi)發(fā)WEB服務(wù)器程序
Delphi是一款優(yōu)秀的可視化編程工具,而UniGUI框架[9]拓展了Delphi的使用范圍,可簡(jiǎn)單地按照傳統(tǒng)的桌面程序的思維去實(shí)現(xiàn)WEB網(wǎng)站的功能。Delphi結(jié)合UniGUI的特性,可開(kāi)發(fā)出效率高、使用友好的開(kāi)放實(shí)驗(yàn)室WEB管理網(wǎng)站。
WEB服務(wù)器管理系統(tǒng),功能包括:
(1) 后臺(tái)設(shè)置功能;
(2) 學(xué)生刷卡登錄查詢功能;
(3) 學(xué)生工程實(shí)踐材料上傳功能;
(4) 學(xué)生報(bào)名遴選進(jìn)入開(kāi)放實(shí)驗(yàn)室功能。
這些功能通過(guò)IIS提供服務(wù),并且可由處于網(wǎng)絡(luò)中的任何終端計(jì)算機(jī)進(jìn)入訪問(wèn)頁(yè)面,完成上述功能。其中學(xué)生登陸查詢界面截圖如圖2所示。
4 安卓網(wǎng)關(guān)中間層
圖1中的安卓嵌入式開(kāi)發(fā)板有若干串口,用于連接RFID讀卡模塊與Zigbee協(xié)調(diào)器模塊。板上的安卓程序則使用Delphi 10 Seattle開(kāi)發(fā)Android APP[10],利用網(wǎng)絡(luò)連接WEB服務(wù)器與數(shù)據(jù)庫(kù)服務(wù)器,獲取學(xué)生的信息后,當(dāng)學(xué)生刷校園一卡通時(shí),串口上傳數(shù)據(jù)到安卓開(kāi)發(fā)板,可進(jìn)行綁定操作,完成綁定后,通過(guò)串口發(fā)送某座位電源開(kāi)電信號(hào)給Zigbee協(xié)調(diào)器,通過(guò)Zigbee網(wǎng)絡(luò)把命令送到指定的桌號(hào)上的Zigbee路由器,完成對(duì)交流接觸器的閉合操作,而斷電的過(guò)程類似。
4.1 安卓APP串口讀寫
Delphi 10 Seattle開(kāi)發(fā)安卓串口,需要利用串口控件“Comport for Android”,執(zhí)行安裝后位于System頁(yè),名為TAcomport[11],系統(tǒng)使用控件版本為1.7,安裝后如圖3所示。
對(duì)串口的操作,以寫名為rfidport(TAComport類)串口控件為例(用于讀寫RFID串口模塊),BaudRate、Databits、Stopbits、DeviceName屬性對(duì)應(yīng)串口波特率、數(shù)據(jù)位、停止位、串口號(hào),需與RFID模塊上的設(shè)置一致方能正常通訊。程序中寫串口的核心代碼如下:
Var
bufOut:array of Byte;
Begin
setlength(bufOut,5);
bufout[0]:=$aa;bufout[1]:=$bb;bufout[2]:=$02;bufout[3]:=$20;bufout[4]:=$22;
rfidport.ClearInput;
rfidPort.write(bufout,length(bufout),true);
End;
數(shù)組bufOut中,$aa、$bb、$02、$20、$22為從RFID模塊獲取卡地址的命令幀,如果成功,將返回卡的32位物理地址,讀取該返回使用“bufin:=rfidport.read”語(yǔ)句,可拆分bufin數(shù)組的具體內(nèi)容獲得卡信息。特別注意的是Read方法是阻塞型函數(shù),如果不加定時(shí)控制,一旦串口設(shè)備沒(méi)有返回,程序?qū)⑼V惯\(yùn)行,等待到有返回為止。因此,處理這種情況有兩種方法:用定時(shí)器控制或者使用多線程編程[12]。
在程序部署到安卓開(kāi)發(fā)板后,因?yàn)橐{(diào)用開(kāi)發(fā)板底層硬件串口,還面臨一個(gè)root權(quán)限問(wèn)題,在系統(tǒng)中,調(diào)用“QAndroid.Shell”文件后,加入以下程序段:
Fshell.Initliaize;
if FShell.AskForRoot then
begin
FShell.Execute('chmod 777 /dev/ttyS3',5000);
FShell.Execute('chmod 777 /dev/ttyS4',5000);
end;
從而取得ttyS3、ttyS4兩個(gè)串口的讀寫權(quán)限,完成程序初始化啟動(dòng)。
4.2 安卓網(wǎng)關(guān)流程圖
安卓網(wǎng)關(guān)流程圖如圖4所示。
安卓網(wǎng)關(guān)采用了帶多串口的Android開(kāi)發(fā)板,其中一個(gè)串口與RFID模塊通訊,另一個(gè)串口與Zigbee協(xié)調(diào)器通訊,進(jìn)行對(duì)特定實(shí)驗(yàn)桌進(jìn)行通電與斷電操作。除此之外,還具備客戶端設(shè)置實(shí)驗(yàn)室功能,另外在網(wǎng)絡(luò)不通的情況下,對(duì)實(shí)驗(yàn)桌進(jìn)行全體開(kāi)電、全體斷電的功能。圖5為安卓開(kāi)發(fā)板程序初始化后的主界面。
5 Zigbee網(wǎng)絡(luò)
協(xié)調(diào)器在通電之后,會(huì)進(jìn)行信道掃描,以便查找附近是否還有別的Zigbee網(wǎng)絡(luò)。如果協(xié)調(diào)器發(fā)現(xiàn)在同一信道中有別的Zigbee網(wǎng)絡(luò)存在(以PAN ID為判斷依據(jù)),則改變自身PAN ID后重新進(jìn)行掃描,組建新的Zigbee網(wǎng)絡(luò)。協(xié)調(diào)器的這一特性也注定了在一個(gè)網(wǎng)絡(luò)之中有且只有一個(gè)協(xié)調(diào)器,協(xié)調(diào)器在組建完成網(wǎng)絡(luò)之后便和普通的路由器功能一致了。
而路由器在網(wǎng)絡(luò)中起著非常關(guān)鍵的作用。Zigbee自組織、自修復(fù)、拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu)等無(wú)一不是通過(guò)路由來(lái)實(shí)現(xiàn)的。
終端節(jié)點(diǎn)是Zigbee實(shí)現(xiàn)低功耗,它的組網(wǎng)功能和路由是一樣的。不同的是終端并不是時(shí)刻都處在接收狀態(tài)的,大部分情況下,它都將處于IDLE或者低功耗休眠模式。它會(huì)定時(shí)同自己的父節(jié)點(diǎn)進(jìn)行通信,詢問(wèn)是否有發(fā)給自己的消息,這個(gè)過(guò)程被形象地成為“心跳”。
基于可靠聯(lián)網(wǎng)的考慮,不采用微功耗,因此沒(méi)有采用終端節(jié)點(diǎn)模塊,而是采用了有路由功能Zigbee路由模塊,更有利于增強(qiáng)Zigbee自組網(wǎng)網(wǎng)絡(luò)的魯棒性。
設(shè)置Zigbee協(xié)調(diào)器與路由器的PAN ID為同一個(gè)數(shù),使得它們?cè)谕粋€(gè)Zigbee網(wǎng)絡(luò)內(nèi),并針對(duì)Zigbee路由器安裝在不同的實(shí)驗(yàn)桌上,對(duì)其地址進(jìn)行相應(yīng)的編碼,以區(qū)分不同的客戶端。
每個(gè)座位(桌號(hào))都對(duì)應(yīng)一個(gè)Zigbee網(wǎng)絡(luò)執(zhí)行層,即控制盒終端,由不同地址的Zigbee路由、交流接觸器、穩(wěn)壓電源等電路構(gòu)成,用于接收Z(yǔ)igbee協(xié)調(diào)器發(fā)來(lái)的命令,控制交流接觸器的通斷,達(dá)到刷卡開(kāi)關(guān)對(duì)應(yīng)座位電源的目的。Zigbee網(wǎng)絡(luò)采用如下數(shù)據(jù)幀進(jìn)行遠(yuǎn)程 I/O 控制協(xié)議[13]如表3所示。
其中,目標(biāo)地址為FFFF,表示所有節(jié)點(diǎn)廣播,其余特指某一點(diǎn)。
例如:AA FF FF CC FC 00 00 EA 01 01 FE FE FB 表示將網(wǎng)絡(luò)內(nèi)所有設(shè)備的P0.1 口設(shè)置為高電平,電路圖的連接設(shè)計(jì)如圖6所示。
圖6中,線路從KT2接線柱引入到核心控制板(Core Control Board),核心控制板通過(guò)控制接觸器(KM)的通斷,選型為NCH8-20/20,并最終輸出到KT1接線柱,完成對(duì)座位電源的控制。特別注意,核心控制板的控制線圈輸出必須接一個(gè)電阻電容并聯(lián),用于滅弧,否則,實(shí)驗(yàn)過(guò)程中會(huì)產(chǎn)生核心控制板中Zigbee單片機(jī)的死機(jī)現(xiàn)象。
圖7為核心控制板的原理圖設(shè)計(jì)。220 V市電從P1接口接入,經(jīng)過(guò)220 V轉(zhuǎn)3.3 V的AC/DC模塊后,供電給Zigbee路由器,并制定P1.0為輸出引腳,接三極管控制中間繼電器,接通或斷開(kāi)外部交流接觸器的控制線圈,使系統(tǒng)正常工作。
6 結(jié)論
高等院校開(kāi)放實(shí)驗(yàn)室可通過(guò)該系統(tǒng)可進(jìn)行學(xué)生登入和登出時(shí)間記錄,并衍生出了多項(xiàng)附加實(shí)用功能,如可進(jìn)行學(xué)生網(wǎng)上報(bào)名[14],遴選進(jìn)入開(kāi)放實(shí)驗(yàn)室的功能,做到無(wú)紙化辦公,資料保存完備。還可對(duì)學(xué)生的培養(yǎng)質(zhì)量過(guò)程進(jìn)行監(jiān)控,獲得學(xué)生的階段性工程實(shí)踐成果。
RFID,Android等網(wǎng)絡(luò)技術(shù)應(yīng)用日新月異,在各個(gè)方面都獲得了大量的應(yīng)用,而結(jié)合電子開(kāi)放實(shí)驗(yàn)室,實(shí)現(xiàn)網(wǎng)絡(luò)化電源控制管理,可大大提高學(xué)生的學(xué)習(xí)熱情與教師的工作效率,作用比較明顯[15]。實(shí)踐證明,既可把實(shí)驗(yàn)技術(shù)人員從繁雜的事務(wù)中解放出來(lái),又可用有效的現(xiàn)代的方法掌控與管理并規(guī)范學(xué)生的行為等??蓪?duì)進(jìn)行系統(tǒng)的優(yōu)化升級(jí),惠及更多的實(shí)驗(yàn)室、更多的學(xué)生,最終達(dá)到培養(yǎng)有競(jìng)爭(zhēng)力的學(xué)生的目的。
參考文獻(xiàn):
[1]梁燁煒,劉彪杜玉豐.開(kāi)放實(shí)驗(yàn)室資源促進(jìn)創(chuàng)新能力培養(yǎng)[J].實(shí)驗(yàn)技術(shù)與管理,2013,30(11) :50-52.
[2]楊慶鳳,顧恒,辛玉紅.實(shí)驗(yàn)室刷卡式常用儀器智能管理系統(tǒng)研究與設(shè)計(jì)[J].高校實(shí)驗(yàn)室工作研究,2015(01):80-81.
[3]羅頻捷,溫荷.開(kāi)放實(shí)驗(yàn)室管理信息系統(tǒng)的開(kāi)發(fā)與實(shí)現(xiàn)[J].實(shí)驗(yàn)技術(shù)與管理, 2015,32(05):157-160.
[4]彭龑,何展,鐘文,等.基于ZigBee的實(shí)驗(yàn)室安全監(jiān)控系統(tǒng)[J].實(shí)驗(yàn)室科學(xué),2015,18(01):68-71.
[5]土屋貴紀(jì).無(wú)線射頻識(shí)別技術(shù)RFID在物聯(lián)網(wǎng)的應(yīng)用[J].集成電路應(yīng)用,2015(01):35-37.
[6]張福峰,劉振名.利用ADODB實(shí)現(xiàn)SQLSERVER數(shù)據(jù)庫(kù)訪問(wèn)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息.,2015(09):102-103.
[7]江帆.使用Datasnap技術(shù)開(kāi)發(fā)安卓系統(tǒng)應(yīng)用程序[J].科技資訊,2013(8)22-22.
[8]Pawel Glowacki. Unleash the power of Delphi with Delphi Labs – DataSnap [EB/OL]. 2014. http://www.embarcadero.com/cn/rad-in-action/Delphi-labs
[9]Fmsoft. UniGUI Framework Online documentation [EB/OL]. 2015. http://www.unigui.com/resources/online-documentation
[10]Embarcadero. Mobile Code Snippets [EB/OL]. 2015. http://docwiki.embarcadero.com/RADStudio/XE5/en/Mobile_Code_Snippets
[11]Ing.Erik Salaj. Comport for Android Documentation [EB/OL]. 2015. http://www.winsoft.sk/acomport.htm.
[12]李若重. DELPHI中多線程研究[J].中國(guó)新通信.2013,15(04):35-35.
[13]卓萬(wàn)科技.低功耗Zigbee 無(wú)線網(wǎng)絡(luò)串口透?jìng)鹘鉀Q方案 [EB/OL].2015-05-29.
[14]王軍,周亞?wèn)|.基于RFID技術(shù)的針對(duì)學(xué)生行為分析的研究[J].物聯(lián)網(wǎng)技術(shù),2015,5(02): 69-70,73.
[15]徐曉燕,毛由冰,黃磊,等.開(kāi)放實(shí)驗(yàn)室建設(shè)的思考[J].齊齊哈爾醫(yī)學(xué)院學(xué)報(bào).,2015(03):412-413.
本文來(lái)源于《電子產(chǎn)品世界》2018年第6期第58頁(yè),歡迎您寫論文時(shí)引用,并注明出處。
評(píng)論