段凌飛,張宏橋,何 益
(湘南學(xué)院電子信息與電氣工程學(xué)院,湖南郴州 423000)
受演示實驗室實驗設(shè)備有限、學(xué)生覆蓋面廣、實驗項目多、場地小的影響,教師在講解演示實室的過程中,一個實驗項目的講解需千篇一律反復(fù)多次,教學(xué)任務(wù)負擔(dān)過重且枯燥,學(xué)生數(shù)量大導(dǎo)致圍觀以致教學(xué)混亂,教學(xué)質(zhì)量無法保證[1]。而隨著信息化技術(shù)的廣泛運用,智能化教育迎來了新的發(fā)展機遇,實驗設(shè)備通過ZigBee物聯(lián)網(wǎng)、學(xué)生通過互聯(lián)網(wǎng)相互連接[2],在實驗過程中,通過移動設(shè)備掃描每臺實驗設(shè)備的二維碼實現(xiàn)教學(xué)過程的語音視頻講解及設(shè)備控制[3],使學(xué)生自行學(xué)習(xí)實驗項目的知識。學(xué)生可分散自主選擇需要學(xué)習(xí)的實驗,減少圍觀。實驗教師從重復(fù)講解變成監(jiān)督答疑,教學(xué)負擔(dān)得以減緩,教學(xué)質(zhì)量得到提高,且實驗室可全天開放,提高實驗室利用率和激發(fā)學(xué)生學(xué)習(xí)興趣,為教與學(xué)提供趣味化、智能化的互動空間[4]。
系統(tǒng)由基于ZigBee物聯(lián)網(wǎng)技術(shù)的實驗室控制系統(tǒng)、遠程教學(xué)服務(wù)器、用戶APP(Application)組成,結(jié)合現(xiàn)有的校園網(wǎng)絡(luò),將數(shù)據(jù)量大的教學(xué)音視頻放于專用的教學(xué)服務(wù)器中。系統(tǒng)總體設(shè)計思路如圖1所示??芍?,實驗室開始試驗后,ZigBee路由器上電,通過TCP/IP鏈路經(jīng)WiFi路由器與教學(xué)服務(wù)器連接。學(xué)生通過移動設(shè)備APP掃描實驗臺上的二維碼獲取相應(yīng)實驗設(shè)備信息,APP將此信息經(jīng)由WiFi路由器、校園網(wǎng)網(wǎng)關(guān)以Web的形式訪問遠程教學(xué)服務(wù)器中相應(yīng)的教學(xué)講解音視頻。學(xué)生在學(xué)習(xí)過程中,可根據(jù)講解進度點擊Web頁面的控制按鈕或者滑塊,服務(wù)器接收到用戶響應(yīng)事件后,通過建立的TCP/IP鏈路將數(shù)據(jù)發(fā)送到對應(yīng)實驗室的ZigBee路由器,ZigBee路由器將信息處理后發(fā)送到每個實驗設(shè)備對應(yīng)的ZigBee設(shè)備控制器來控制實驗設(shè)備。用戶在聽取講解后控制實驗設(shè)備運行,更加了解實驗現(xiàn)象。
圖1 系統(tǒng)總體建設(shè)思路
由圖1可以看出,實驗室控制系統(tǒng)由企業(yè)級WiFi路由器、ZigBee轉(zhuǎn)發(fā)器、ZigBee設(shè)備控制器、學(xué)生移動設(shè)備(含應(yīng)用程序APP)組成。ZigBee技術(shù)是一種基于IEEE802.15.4的近距離、自組織、短延時、低復(fù)雜度、低功耗、低速率、低成本的雙向無線通信技術(shù)[5],適用于小范圍多節(jié)點(可輕松達到255節(jié)點)通訊。通常由協(xié)調(diào)器(Coordinator),路由器(Router)及終端節(jié)點(End Device)[6]3種節(jié)點構(gòu)成。WiFi優(yōu)點是速度快,移動設(shè)備可直接連接且無需網(wǎng)橋直接接入互聯(lián)網(wǎng),缺點在于WiFi用戶接入數(shù)量受路由器自身節(jié)點數(shù)量限制,一般家庭級別路由器可接入10-20個用戶設(shè)備,企業(yè)級路由器可大30-40臺設(shè)備,容量更大的設(shè)備成本與建設(shè)周期過大??紤]到實驗室一般實驗人員不會超過40人,且移動設(shè)備無需改動硬件可直接連接WiFi,而實驗設(shè)備臺套數(shù)一般數(shù)以百計,所以系統(tǒng)采用實驗人員通過企業(yè)級WiFi路由器組網(wǎng)和實驗設(shè)備通過ZigBee網(wǎng)絡(luò)組網(wǎng)的多網(wǎng)絡(luò)結(jié)構(gòu)。
根據(jù)上述,系統(tǒng)采用實驗人員通過企業(yè)級WiFi路由器組網(wǎng)和實驗設(shè)備通過ZigBee網(wǎng)絡(luò)組網(wǎng)的多網(wǎng)絡(luò)結(jié)構(gòu)。其中設(shè)備ZigBee網(wǎng)絡(luò)采用“主—從”方式控制,星型網(wǎng)數(shù)據(jù)通訊結(jié)構(gòu)。為了區(qū)分相鄰實驗室的不同網(wǎng)絡(luò),使從節(jié)點正確連接主中心節(jié)點,對ZigBee網(wǎng)絡(luò)個域網(wǎng)標(biāo)示PANID(Personal Area Network ID)加以區(qū)分[7]。其中設(shè)備節(jié)點工作于路由器或終端模式,中心節(jié)點工作于協(xié)調(diào)器模式。ZigBee上電后,路由器和終端節(jié)點會自動搜索對應(yīng)PANID協(xié)調(diào)器連接,在無協(xié)調(diào)器存在的情況下會自動重試。較遠節(jié)點在信號強度弱而無法直接連接服務(wù)器的情況下,其會自動通過路由器中轉(zhuǎn)連接到協(xié)調(diào)器。學(xué)生用戶WiFi網(wǎng)絡(luò)通過ZigBee轉(zhuǎn)發(fā)器與設(shè)備連通。其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
圖2 中,ZigBee網(wǎng)絡(luò)路由器、終端、轉(zhuǎn)發(fā)器節(jié)點采用德州儀器TI的CC2530F256芯片設(shè)計,在無天線功率放大器PA(Power Amplifier)的情況下,其可視通訊距離可達100 m。
ZigBee轉(zhuǎn)發(fā)器是設(shè)備與用戶之間的控制信息和數(shù)據(jù)通訊樞紐。由于設(shè)備的控制信息采用ZigBee通道進行數(shù)據(jù)傳輸,而用戶采用WiFi網(wǎng)絡(luò)連接,其間無法直接通訊。為了解決這一問題,通過一個既能連接到用戶WiFi網(wǎng)絡(luò),同時也能連接到設(shè)備ZigBee網(wǎng)絡(luò)的轉(zhuǎn)發(fā)器實現(xiàn)用戶與設(shè)備之間的連接。用戶智能設(shè)備連接實驗室的WiFi路由器,將控制信息和數(shù)據(jù)通過WiFi傳輸給服務(wù)器,服務(wù)器再將消息轉(zhuǎn)發(fā)給轉(zhuǎn)發(fā)器,進而由轉(zhuǎn)發(fā)器通過ZigBee網(wǎng)絡(luò)發(fā)送給對應(yīng)的實驗設(shè)備進行控制。同理,控制設(shè)備的狀態(tài)也可逆過程將信息返回給用戶智能設(shè)備[8]。轉(zhuǎn)發(fā)器的結(jié)構(gòu)圖如圖3所示。
圖3 ZigBee轉(zhuǎn)發(fā)器結(jié)構(gòu)圖
圖3 中,處理器采用STM32F103C8T632位處理器設(shè)計,主要對WiFi模塊和ZigBee模塊進行配置,并且對接受的WiFi數(shù)據(jù)和ZigBee數(shù)據(jù)進行解析分類,同時負責(zé)將網(wǎng)絡(luò)和控制信息顯示于LCD。WiFi模塊則采用ESP8266模塊設(shè)計,支持標(biāo)準(zhǔn)的IEEE802.11 b/g/n協(xié)議,具有完整的TCP/IP協(xié)議棧。STM32處理器通過標(biāo)準(zhǔn)串行口,使用AT指令集,可方便設(shè)置WIFI模塊和進行網(wǎng)絡(luò)數(shù)據(jù)交互。處理器配置WiFi模塊的工作狀態(tài)如圖4所示。
圖4 ESP8266工作狀態(tài)機
ZigBee轉(zhuǎn)發(fā)器上電后由處理器通過AT指令令ESP8266連接固定的WiFi路由器,并且建立同服務(wù)器的TCP/IP連接進行身份識別和登錄。針對每間不同實驗室,WiFi路由器采用獨立隱藏的SSID(Service Set Identifier)和密碼。轉(zhuǎn)發(fā)器一旦開始工作,便自動連接預(yù)先存儲好的WiFi路由器,待連接成功后,首先通過固定長度公鑰訪問內(nèi)網(wǎng)Web服務(wù)器并得到固定長度私鑰和服務(wù)器分配的端口號[9]。ESP8266再通過分配的端口號和IP地址進行TCP/IP連接,在連接后,通過共用ID和密碼登陸到服務(wù)器。成功后,處理器經(jīng)由ESP8266即可與服務(wù)器進行數(shù)據(jù)交互,在獲取到控制信息后,將控制信息通過串口轉(zhuǎn)發(fā)于ZigBee協(xié)調(diào)器,以便協(xié)調(diào)器能將數(shù)據(jù)發(fā)送給設(shè)備控制端。其Web訪問數(shù)據(jù)與控制數(shù)據(jù)格式如下:
Web訪問:"10.18.131.253?puk=12345678,ID0001",其中10.18.131.253為內(nèi)網(wǎng)服務(wù)器IP,12345786為公鑰(可設(shè)定),ID0001為此轉(zhuǎn)發(fā)器所處的實驗室編號,不同實驗室此編號不一樣。
Web 返 回 : "pik= MG41ILVd,PORT=9988",MG41ILV由服務(wù)器集合本地時間和遠端ID綜合生成的密碼。在轉(zhuǎn)發(fā)器工作時間內(nèi),使用此密碼登錄TCP/IP服務(wù)器,在重登陸超過3次和超過2h后密碼失效,需要重新使用公鑰獲取私密。PORT=9988為端口號,ID為0001的實驗室只能從此端口登陸。
圖5 TCP/IP數(shù)據(jù)包編碼
登錄成功后,服務(wù)器將接收到的用戶智能設(shè)備的操作指令,如:設(shè)備的開關(guān)、設(shè)備的速度設(shè)定等消息通過TCP/IP鏈路將數(shù)據(jù)發(fā)送給轉(zhuǎn)發(fā)器,其具體數(shù)據(jù)格式如圖5所示。圖中數(shù)據(jù)包含了幀頭、實驗室ID、設(shè)備編號、控制信息等,所有的數(shù)據(jù)采用ASCII(American Standard Code for Information Interchange)編碼傳輸。
首先對各個實驗設(shè)備控制器廣播控制通訊幀[10],控制器在接收到數(shù)據(jù)后,首先校驗數(shù)據(jù)是否正確。在正確的情況下,則識別設(shè)備編號是否為本控制器,如果是,則根據(jù)控制信息控制實驗設(shè)備,控制方式主要由控制信息的4個字節(jié)體現(xiàn),不同的功能碼及參數(shù)代表輸出不同的硬件控制信息,如圖6所示。在控制過程中,ZigBee控制器同時檢測被控實驗設(shè)備是否控制成功,并且把控制結(jié)果通過返回控制幀返回于ZigBee轉(zhuǎn)發(fā)器,成功返回OK,失敗則根據(jù)失敗調(diào)節(jié)返回E1-E9代碼。
圖6 ZigBee轉(zhuǎn)發(fā)器與控制器之間的通訊
如果設(shè)備編號不為本控制器,或者校驗失敗,控制器不返回任何數(shù)據(jù)。ZigBee轉(zhuǎn)發(fā)器在規(guī)定的時間內(nèi)未收到控制器的返回信息,則顯示發(fā)送失敗,并且自動重發(fā)3次。如果收到控制器返回信息,則顯示控制結(jié)果。
ZigBee設(shè)備節(jié)點控制器采用分塊設(shè)計,以控制核心板為主控制,可根據(jù)需求搭接交直流電源開關(guān)模塊、模擬量放大模塊、模擬輸入信息采集模塊、開關(guān)邏輯輸入模塊等模塊。其控制核心板主要用來接收轉(zhuǎn)發(fā)器發(fā)來的控制信息,采用德州儀器TI公司CC2530F256芯片設(shè)計,結(jié)合德州儀器官方提供的ZigBee協(xié)議棧進行程序設(shè)計,使用自帶2組8為通用IO口和外部數(shù)字、模擬、開關(guān)模塊進行硬件擴展。其控制器核心板集成2交直流開關(guān)量控制接口、1路PWM/DA直流信號輸出接口、1路可變電阻輸出接口、1路AD采集接口。能方便的控制設(shè)備電源開與關(guān),設(shè)備速度、音量等的調(diào)節(jié),也可方便采集設(shè)備的速度、是否上電成功等信息??刂破鲀?nèi)部設(shè)計如圖7所示,其他輔助控制板使用。
學(xué)生移動設(shè)備APP主要針對目前較為流行的Android系統(tǒng)開發(fā),采用Java作為開發(fā)語言,軟件UI使用XML技術(shù)設(shè)計,通過Android平臺提供的WebView組件加載和顯示服務(wù)器端Web網(wǎng)頁以及獲取網(wǎng)頁上的控制信息[11]。其主要工作流程為:掃描實驗室中實驗設(shè)備二維碼(由專用軟件生成)獲取特定信息,信息包含:所在實驗室編號、簡單加密的實驗室WiFi的SSID和密碼、實驗設(shè)備編號、服務(wù)器網(wǎng)址等。如果移動設(shè)備未建立WiFi連接或者連接的WiFi的SSID不對,則APP自動查找并連接對應(yīng)實驗室的WiFi。如果用戶在APP運行情況下,10min內(nèi)沒有操作,則自動斷開實驗室WiFi,并且清除此條WiFi列表,保證每間實驗室WiFi同時在線人數(shù)不會過多,防止網(wǎng)絡(luò)負載過大。
WiFi連接成功后,APP會通過Web形式訪問校內(nèi)局域網(wǎng)服務(wù)器對應(yīng)實驗室設(shè)備的網(wǎng)頁,用戶可通過移動設(shè)備聽取和觀看對應(yīng)實驗設(shè)備的講解,同時可以根據(jù)網(wǎng)頁上的按鍵控制實驗設(shè)備。其實現(xiàn)效果圖如圖8所示。
圖7 ZigBee設(shè)備節(jié)點控制器原理圖
圖8 APP實現(xiàn)效果圖
該系統(tǒng)已經(jīng)在某高校實驗室設(shè)備進行轉(zhuǎn)配和使用,在實驗過程中,學(xué)生自己根據(jù)自己的時間、興趣和設(shè)備占用情況對設(shè)備進行選擇學(xué)習(xí),通過APP演示視頻、文本信息來探索學(xué)習(xí)以及動手操作。系統(tǒng)在實驗過程中表現(xiàn)出穩(wěn)定的工作性能和操作便捷性,實驗室的使用效率大幅度提升。系統(tǒng)的硬件電路簡潔科學(xué)、易于升級和維護,可不斷升級和改善,為其他專業(yè)實驗室的升級改建提供參考。