段凌飛,張宏橋,何 益
(湘南學院電子信息與電氣工程學院,湖南郴州 423000)
受演示實驗室實驗設備有限、學生覆蓋面廣、實驗項目多、場地小的影響,教師在講解演示實室的過程中,一個實驗項目的講解需千篇一律反復多次,教學任務負擔過重且枯燥,學生數量大導致圍觀以致教學混亂,教學質量無法保證[1]。而隨著信息化技術的廣泛運用,智能化教育迎來了新的發展機遇,實驗設備通過ZigBee物聯網、學生通過互聯網相互連接[2],在實驗過程中,通過移動設備掃描每臺實驗設備的二維碼實現教學過程的語音視頻講解及設備控制[3],使學生自行學習實驗項目的知識。學生可分散自主選擇需要學習的實驗,減少圍觀。實驗教師從重復講解變成監督答疑,教學負擔得以減緩,教學質量得到提高,且實驗室可全天開放,提高實驗室利用率和激發學生學習興趣,為教與學提供趣味化、智能化的互動空間[4]。
系統由基于ZigBee物聯網技術的實驗室控制系統、遠程教學服務器、用戶APP(Application)組成,結合現有的校園網絡,將數據量大的教學音視頻放于專用的教學服務器中。系統總體設計思路如圖1所示。可知,實驗室開始試驗后,ZigBee路由器上電,通過TCP/IP鏈路經WiFi路由器與教學服務器連接。學生通過移動設備APP掃描實驗臺上的二維碼獲取相應實驗設備信息,APP將此信息經由WiFi路由器、校園網網關以Web的形式訪問遠程教學服務器中相應的教學講解音視頻。學生在學習過程中,可根據講解進度點擊Web頁面的控制按鈕或者滑塊,服務器接收到用戶響應事件后,通過建立的TCP/IP鏈路將數據發送到對應實驗室的ZigBee路由器,ZigBee路由器將信息處理后發送到每個實驗設備對應的ZigBee設備控制器來控制實驗設備。用戶在聽取講解后控制實驗設備運行,更加了解實驗現象。

圖1 系統總體建設思路
由圖1可以看出,實驗室控制系統由企業級WiFi路由器、ZigBee轉發器、ZigBee設備控制器、學生移動設備(含應用程序APP)組成。ZigBee技術是一種基于IEEE802.15.4的近距離、自組織、短延時、低復雜度、低功耗、低速率、低成本的雙向無線通信技術[5],適用于小范圍多節點(可輕松達到255節點)通訊。通常由協調器(Coordinator),路由器(Router)及終端節點(End Device)[6]3種節點構成。WiFi優點是速度快,移動設備可直接連接且無需網橋直接接入互聯網,缺點在于WiFi用戶接入數量受路由器自身節點數量限制,一般家庭級別路由器可接入10-20個用戶設備,企業級路由器可大30-40臺設備,容量更大的設備成本與建設周期過大。考慮到實驗室一般實驗人員不會超過40人,且移動設備無需改動硬件可直接連接WiFi,而實驗設備臺套數一般數以百計,所以系統采用實驗人員通過企業級WiFi路由器組網和實驗設備通過ZigBee網絡組網的多網絡結構。
根據上述,系統采用實驗人員通過企業級WiFi路由器組網和實驗設備通過ZigBee網絡組網的多網絡結構。其中設備ZigBee網絡采用“主—從”方式控制,星型網數據通訊結構。為了區分相鄰實驗室的不同網絡,使從節點正確連接主中心節點,對ZigBee網絡個域網標示PANID(Personal Area Network ID)加以區分[7]。其中設備節點工作于路由器或終端模式,中心節點工作于協調器模式。ZigBee上電后,路由器和終端節點會自動搜索對應PANID協調器連接,在無協調器存在的情況下會自動重試。較遠節點在信號強度弱而無法直接連接服務器的情況下,其會自動通過路由器中轉連接到協調器。學生用戶WiFi網絡通過ZigBee轉發器與設備連通。其網絡結構如圖2所示。

圖2 系統網絡結構
圖2 中,ZigBee網絡路由器、終端、轉發器節點采用德州儀器TI的CC2530F256芯片設計,在無天線功率放大器PA(Power Amplifier)的情況下,其可視通訊距離可達100 m。
ZigBee轉發器是設備與用戶之間的控制信息和數據通訊樞紐。由于設備的控制信息采用ZigBee通道進行數據傳輸,而用戶采用WiFi網絡連接,其間無法直接通訊。為了解決這一問題,通過一個既能連接到用戶WiFi網絡,同時也能連接到設備ZigBee網絡的轉發器實現用戶與設備之間的連接。用戶智能設備連接實驗室的WiFi路由器,將控制信息和數據通過WiFi傳輸給服務器,服務器再將消息轉發給轉發器,進而由轉發器通過ZigBee網絡發送給對應的實驗設備進行控制。同理,控制設備的狀態也可逆過程將信息返回給用戶智能設備[8]。轉發器的結構圖如圖3所示。

圖3 ZigBee轉發器結構圖
圖3 中,處理器采用STM32F103C8T632位處理器設計,主要對WiFi模塊和ZigBee模塊進行配置,并且對接受的WiFi數據和ZigBee數據進行解析分類,同時負責將網絡和控制信息顯示于LCD。WiFi模塊則采用ESP8266模塊設計,支持標準的IEEE802.11 b/g/n協議,具有完整的TCP/IP協議棧。STM32處理器通過標準串行口,使用AT指令集,可方便設置WIFI模塊和進行網絡數據交互。處理器配置WiFi模塊的工作狀態如圖4所示。

圖4 ESP8266工作狀態機
ZigBee轉發器上電后由處理器通過AT指令令ESP8266連接固定的WiFi路由器,并且建立同服務器的TCP/IP連接進行身份識別和登錄。針對每間不同實驗室,WiFi路由器采用獨立隱藏的SSID(Service Set Identifier)和密碼。轉發器一旦開始工作,便自動連接預先存儲好的WiFi路由器,待連接成功后,首先通過固定長度公鑰訪問內網Web服務器并得到固定長度私鑰和服務器分配的端口號[9]。ESP8266再通過分配的端口號和IP地址進行TCP/IP連接,在連接后,通過共用ID和密碼登陸到服務器。成功后,處理器經由ESP8266即可與服務器進行數據交互,在獲取到控制信息后,將控制信息通過串口轉發于ZigBee協調器,以便協調器能將數據發送給設備控制端。其Web訪問數據與控制數據格式如下:
Web訪問:"10.18.131.253?puk=12345678,ID0001",其中10.18.131.253為內網服務器IP,12345786為公鑰(可設定),ID0001為此轉發器所處的實驗室編號,不同實驗室此編號不一樣。
Web 返 回 : "pik= MG41ILVd,PORT=9988",MG41ILV由服務器集合本地時間和遠端ID綜合生成的密碼。在轉發器工作時間內,使用此密碼登錄TCP/IP服務器,在重登陸超過3次和超過2h后密碼失效,需要重新使用公鑰獲取私密。PORT=9988為端口號,ID為0001的實驗室只能從此端口登陸。

圖5 TCP/IP數據包編碼
登錄成功后,服務器將接收到的用戶智能設備的操作指令,如:設備的開關、設備的速度設定等消息通過TCP/IP鏈路將數據發送給轉發器,其具體數據格式如圖5所示。圖中數據包含了幀頭、實驗室ID、設備編號、控制信息等,所有的數據采用ASCII(American Standard Code for Information Interchange)編碼傳輸。
首先對各個實驗設備控制器廣播控制通訊幀[10],控制器在接收到數據后,首先校驗數據是否正確。在正確的情況下,則識別設備編號是否為本控制器,如果是,則根據控制信息控制實驗設備,控制方式主要由控制信息的4個字節體現,不同的功能碼及參數代表輸出不同的硬件控制信息,如圖6所示。在控制過程中,ZigBee控制器同時檢測被控實驗設備是否控制成功,并且把控制結果通過返回控制幀返回于ZigBee轉發器,成功返回OK,失敗則根據失敗調節返回E1-E9代碼。

圖6 ZigBee轉發器與控制器之間的通訊
如果設備編號不為本控制器,或者校驗失敗,控制器不返回任何數據。ZigBee轉發器在規定的時間內未收到控制器的返回信息,則顯示發送失敗,并且自動重發3次。如果收到控制器返回信息,則顯示控制結果。
ZigBee設備節點控制器采用分塊設計,以控制核心板為主控制,可根據需求搭接交直流電源開關模塊、模擬量放大模塊、模擬輸入信息采集模塊、開關邏輯輸入模塊等模塊。其控制核心板主要用來接收轉發器發來的控制信息,采用德州儀器TI公司CC2530F256芯片設計,結合德州儀器官方提供的ZigBee協議棧進行程序設計,使用自帶2組8為通用IO口和外部數字、模擬、開關模塊進行硬件擴展。其控制器核心板集成2交直流開關量控制接口、1路PWM/DA直流信號輸出接口、1路可變電阻輸出接口、1路AD采集接口。能方便的控制設備電源開與關,設備速度、音量等的調節,也可方便采集設備的速度、是否上電成功等信息。控制器內部設計如圖7所示,其他輔助控制板使用。
學生移動設備APP主要針對目前較為流行的Android系統開發,采用Java作為開發語言,軟件UI使用XML技術設計,通過Android平臺提供的WebView組件加載和顯示服務器端Web網頁以及獲取網頁上的控制信息[11]。其主要工作流程為:掃描實驗室中實驗設備二維碼(由專用軟件生成)獲取特定信息,信息包含:所在實驗室編號、簡單加密的實驗室WiFi的SSID和密碼、實驗設備編號、服務器網址等。如果移動設備未建立WiFi連接或者連接的WiFi的SSID不對,則APP自動查找并連接對應實驗室的WiFi。如果用戶在APP運行情況下,10min內沒有操作,則自動斷開實驗室WiFi,并且清除此條WiFi列表,保證每間實驗室WiFi同時在線人數不會過多,防止網絡負載過大。
WiFi連接成功后,APP會通過Web形式訪問校內局域網服務器對應實驗室設備的網頁,用戶可通過移動設備聽取和觀看對應實驗設備的講解,同時可以根據網頁上的按鍵控制實驗設備。其實現效果圖如圖8所示。

圖7 ZigBee設備節點控制器原理圖

圖8 APP實現效果圖
該系統已經在某高校實驗室設備進行轉配和使用,在實驗過程中,學生自己根據自己的時間、興趣和設備占用情況對設備進行選擇學習,通過APP演示視頻、文本信息來探索學習以及動手操作。系統在實驗過程中表現出穩定的工作性能和操作便捷性,實驗室的使用效率大幅度提升。系統的硬件電路簡潔科學、易于升級和維護,可不斷升級和改善,為其他專業實驗室的升級改建提供參考。