盧志翠
(邯鄲學院,河北 邯鄲 056005)
智慧教室物聯(lián)網(wǎng)云平臺分為教室環(huán)境采集部分、數(shù)據(jù)網(wǎng)絡(luò)傳輸部分和軟件平臺決策管理部分,對應(yīng)了物聯(lián)網(wǎng)的四層結(jié)構(gòu)。感知層是教室信息的采集,通過網(wǎng)絡(luò)將數(shù)據(jù)傳遞到云端服務(wù)器,應(yīng)用層的軟件系統(tǒng)收集數(shù)據(jù),進行分析和處理,作出判斷,將數(shù)據(jù)展示給用戶,并通過人機交互,實現(xiàn)對智慧教室全方位控制[1-4]。
面向智慧教室的數(shù)據(jù)傳輸設(shè)計主要實現(xiàn)物聯(lián)網(wǎng)云平臺的感知層和網(wǎng)絡(luò)層。包括ZigBee網(wǎng)絡(luò)的終端節(jié)點硬件結(jié)構(gòu)設(shè)計以及對處理芯片和傳感器的選型,終端節(jié)點程序設(shè)計與功能的實現(xiàn),網(wǎng)絡(luò)通信協(xié)議的規(guī)范格式和協(xié)議通訊程序設(shè)計,實現(xiàn)對智能教室數(shù)據(jù)間的雙向傳輸。智慧教室數(shù)據(jù)傳輸結(jié)構(gòu)框架圖如圖1所示。
圖1 網(wǎng)關(guān)結(jié)構(gòu)框架圖
終端節(jié)點按照協(xié)議棧格式自動加入ZigBee網(wǎng)絡(luò),并將采集到的教室內(nèi)環(huán)境參數(shù)數(shù)據(jù)實時通過ZigBee協(xié)議傳輸給協(xié)調(diào)器模塊。ZigBee協(xié)調(diào)器模塊把接收到的各終端節(jié)點的數(shù)據(jù)依據(jù)定義好的數(shù)據(jù)幀格式進行數(shù)據(jù)重組,將設(shè)置完成的數(shù)據(jù)幀經(jīng)過串口傳輸?shù)絎iFi模塊,并通過WiFi模塊把數(shù)據(jù)傳輸?shù)杰浖破脚_。軟件云平臺把接收到的數(shù)據(jù)按照數(shù)據(jù)幀格式進行數(shù)據(jù)提取后存儲到數(shù)據(jù)庫。
教室內(nèi)終端節(jié)點的硬件采用的是TI公司的CC2530作為主芯片,選用DHT11溫濕度傳感器、人體紅外感應(yīng)傳感器、光敏電阻傳感器、MQ2煙霧傳感器等來采集教室的環(huán)境參數(shù)。為了硬件電路設(shè)計簡單和通用,采用了核心板加底板的設(shè)計方案,核心板由具有ZigBee功能的芯片和無線通信部分構(gòu)成,并通過排針把所有I/O口引出與底板進行連接,底板上預(yù)留出各種傳感器接口和調(diào)試通信接口。
ZigBee核心板最關(guān)鍵部位就是芯片選擇,該芯片必須能夠?qū)崿F(xiàn)無線傳感器網(wǎng)絡(luò)對各種數(shù)據(jù)的處理,包括存儲、傳輸和數(shù)據(jù)包裝封,要求與ZigBee模塊的低功耗、低成本、穩(wěn)定性強等特性相吻合。因此,本文設(shè)計選用CC2530芯片作為ZigBee技術(shù)的核心芯片。CC2530芯片是TI設(shè)計的專門用于無線傳感網(wǎng)絡(luò)中進行數(shù)據(jù)處理的集成芯片,它工作在2.4GHz頻率端上,IEEE802.15.4的協(xié)議標準,具有高性能、低功耗的8051微控制器內(nèi)核;具有8路輸入的8~14位ADC,1個16位、2個8位的定時器;具有高級的加密標準的處理器,21個通用I/O引腳以及2個具有20mA的電流吸收或電流供給功能。供電電源3.3V。該芯片具有可靠性高、通信距離比較遠、增加PA功能后距離會更遠等優(yōu)良性能。CC2530芯片具有256kB、128kB、64kB、32kB四種閃存,該芯片具有豐富的外接引腳,芯片采用的RF布局,具有非常高的抗干擾能力和靈敏度,完全可以滿足ZigBee組網(wǎng)的需求。
設(shè)計ZigBee核心板,主要用于教室內(nèi)所有終端模塊的組網(wǎng),將傳感器和控制器與ZigBee核心板通過I/O口相連接,實現(xiàn)所有模塊組網(wǎng),與ZigBee協(xié)調(diào)器形成每間教室的內(nèi)控網(wǎng)絡(luò)。由于每一個芯片I/O數(shù)量有限,為了滿足大部分節(jié)點通用性要求,預(yù)留多個不同傳感器和控制器I/O口,硬件電路采用集CC2530的系統(tǒng)板與擴展板相結(jié)合方式進行開發(fā),擴展板上面有電源接口、指示燈、調(diào)試接口、傳感器和控制模塊接口、液晶顯示屏、復(fù)位和USB轉(zhuǎn)串口各種電路設(shè)計,以滿足各個不同節(jié)點的正常工作的需求。
核心板以CC2530芯片為核心,主要由為芯片提供能源的電源電路、時鐘電路、射頻電路和I/O擴展電路構(gòu)成。電源電路部分由DC3.3V電源為芯片提供電源,并通過電容元件和電感元件為電源進行濾波;時鐘電路由32k和32M的雙晶振電路為核心板提供時鐘信號;射頻電路為ZibBee模塊之間的無線通信建立起通信通道能夠工作在2.4GHz頻段上,具有16個傳輸信道,可根據(jù)環(huán)境進行切換可靠的通信信道,其功耗低,使用2.4G全向天線,在空曠無阻礙的空間直線距離可達300m左右。I/O擴展電路把CC2530的所有全部I/O口通過標準的2.54排針接口引出,方便與擴展模塊進行連接,使I/O資源的利用最大化。
ZigBee擴展板(底板)主要是配合ZigBee核心板研發(fā)和使用的底板,可以將集有CC2530芯片的ZigBee核心板直接插到底板上,具體功能如下。
1)電源:擴展板采用DC5V供電,由USB接口和外部電源兩種方式供電,輸入電源由AMS1117-3.3電源芯片轉(zhuǎn)換后給核心板進行供電。在底板上留用5V和3.3V電源接口,方便連接其它外圍設(shè)備。
2)按鍵:在擴展板上接有3路按鍵,一路連接芯片的復(fù)位引腳用于芯片的復(fù)位;另外兩路連接芯片的外部中斷,用于控制信號輸入。
3)LED燈:在擴展板上有6路LED燈,一路用于電源指示燈,兩路用于串口數(shù)據(jù)收發(fā)的指示燈,另外3路通過IO口與芯片連接,可以用于程序運行狀態(tài)的指示燈。
4)調(diào)試接口:用于程序的下載和調(diào)試。
5)液晶接口:為了更方便觀察程序的運行,在擴展板上設(shè)計了SPI接口的TFT屏,可以把程序的運行過程實時顯示在液晶屏上,方便程序的調(diào)試,在程序調(diào)試沒有問題后也可以不安裝液晶屏。
6)USB轉(zhuǎn)串口:現(xiàn)在的電腦上都已經(jīng)不帶串口接口,而芯片的通信輸出最常用的就是串口,為了方便芯片調(diào)試和與電腦進行通信,在擴展板上增加了USB轉(zhuǎn)串口模塊。
7)CC2530接口:所有的芯片都通過排針連接到了擴展板,然后根據(jù)不同的外圍設(shè)備進行I/O口的選擇。
每間教室作為一個ZigBee內(nèi)部網(wǎng)絡(luò),協(xié)調(diào)器周期性的對數(shù)據(jù)采集結(jié)點進行數(shù)據(jù)查詢,對應(yīng)的結(jié)點接收到的查詢指令后按照指定的數(shù)據(jù)幀格式進行數(shù)據(jù)返回,如果遇到突發(fā)緊急事件,終端結(jié)點也可以主動向協(xié)調(diào)器發(fā)送數(shù)據(jù)。網(wǎng)內(nèi)的數(shù)據(jù)傳輸是根據(jù)ZigBee模塊的網(wǎng)絡(luò)號和設(shè)備短地址進行。當初始設(shè)置時,先設(shè)定每個結(jié)點所屬網(wǎng)絡(luò)的網(wǎng)絡(luò)號,再對網(wǎng)絡(luò)中每個終端結(jié)點進行地址分配,通過這種方式來確定網(wǎng)絡(luò)中每個節(jié)點地址的唯一性,避免相鄰教室內(nèi)數(shù)據(jù)接收錯誤[5]。
本文根據(jù)IEEE 802.15.4標準的ZigBee協(xié)議,定義了一套幀格式對數(shù)據(jù)進行傳輸。
1)查詢幀:作用是把終端節(jié)點傳感器采集的數(shù)據(jù)通過規(guī)定的格式進行封裝打包發(fā)送到協(xié)調(diào)器上,協(xié)調(diào)器根據(jù)這個協(xié)議格式對數(shù)據(jù)進行識別拆封,具體的接收目標是由這種幀結(jié)構(gòu)組成的,“目標地址”的具體格式如表1所示。
表1 查詢幀格式
2)控制幀:作用是根據(jù)這個標準控制指令通過協(xié)調(diào)器將數(shù)據(jù)封裝打包發(fā)送給終端節(jié)點,終端節(jié)點根據(jù)幀標準對指令進行識別,具體格式如表2所示。
表2 控制幀格式
3)返回幀:作用是將無線模塊網(wǎng)絡(luò)的運行情況反饋給自身的串口上的外設(shè),具體格式如表3所示。
表3 返回幀格式
以溫濕度傳感器返回幀為例,在ZigBee模塊的數(shù)據(jù)幀基礎(chǔ)上,進行修改,幀長為6字節(jié),其中ZigBee模塊數(shù)據(jù)類型1字節(jié),目的地址為2字節(jié),數(shù)據(jù)長度為1字節(jié),數(shù)據(jù)為2字節(jié)分別為溫度和濕度值,校驗為1字節(jié)。協(xié)調(diào)器對接收到的數(shù)據(jù)進行驗證,返回0x00表示接收到的數(shù)據(jù)是正確的,返回0x01表示當前接收到的數(shù)據(jù)是錯誤的。當接收到的數(shù)據(jù)是錯誤的,協(xié)調(diào)器重新發(fā)送查詢指令給溫濕度采集結(jié)點,直到接收到正確的溫濕度值或都達到最大查詢次數(shù)為止。
面向智慧教室的物聯(lián)網(wǎng)云平臺是將軟件和硬件相結(jié)合的復(fù)雜體系。硬件設(shè)備有各種各樣的種類。不同設(shè)備之間的通信協(xié)議標準不同。一些設(shè)備采用串行通信協(xié)議,一些設(shè)備使用HTTP通信協(xié)議。這些通信協(xié)議的不同標準導(dǎo)致傳輸數(shù)據(jù)結(jié)構(gòu)的混亂,不能統(tǒng)一使用且不利于軟件系統(tǒng)的升級和維護以及硬件系統(tǒng)的擴展。因此,在本文中建立智慧教室網(wǎng)關(guān)系統(tǒng)的通信協(xié)議標準非常重要。
設(shè)置ZigBee與WiFi連接的通信協(xié)議,適用于本文智慧教室系統(tǒng)中的ZigBee網(wǎng)關(guān)和相關(guān)設(shè)備的控制,以及系統(tǒng)連接,實現(xiàn)數(shù)據(jù)在ZigBee網(wǎng)絡(luò)和網(wǎng)關(guān)服務(wù)器以及外部Internet的信息傳輸。協(xié)議中包含串口控制協(xié)議以及TCP/TP協(xié)議棧的數(shù)據(jù)封裝結(jié)構(gòu)體。串口控制協(xié)議為用戶提供了對WiFi模塊的控制訪問通道,用戶可以通過串口實現(xiàn)ZigBee模塊和管理系統(tǒng)的數(shù)據(jù)通信,完成數(shù)據(jù)的傳遞,參數(shù)的修改等。
在智慧教室系統(tǒng)中,由一個ZigBee協(xié)調(diào)器管理節(jié)點和若干個ZigBee終端設(shè)備節(jié)點組成,協(xié)調(diào)器節(jié)點與上位機的軟件管理系統(tǒng)通過WiFi進行通信,協(xié)調(diào)器與WiFi通過串口通信,協(xié)調(diào)器每完成一個周期的數(shù)據(jù)查詢后把數(shù)據(jù)進行封裝,然后使用AT(Attention)指令把數(shù)據(jù)通過串口發(fā)送到WiFi模塊,WiFi模塊再通過TCP/IP協(xié)議把數(shù)據(jù)發(fā)送給管理系統(tǒng)。
首先初始化系統(tǒng)的各個功能設(shè)備,配置協(xié)議參數(shù),ZigBee協(xié)調(diào)器與WiFi模塊通過串口協(xié)議相連接,對串口進行初始化,檢查設(shè)計的數(shù)據(jù)幀格式是否正確,然后根據(jù)預(yù)設(shè)的參數(shù)將WiFi模塊加入WiFi網(wǎng)絡(luò),通過TCP/IP協(xié)議,將數(shù)據(jù)上傳到服務(wù)器端。
各模塊傳遞數(shù)據(jù)的數(shù)據(jù)包均以數(shù)據(jù)幀傳遞,設(shè)置的數(shù)據(jù)幀格式如表4所示。
表4 WiFi模塊通信數(shù)據(jù)幀格式
根據(jù)數(shù)據(jù)協(xié)議:以“0x5775”作為目標地址,即數(shù)據(jù)要傳輸?shù)绞裁次恢?;以?x51”為數(shù)據(jù)上傳指令,用一個字節(jié)存儲上傳數(shù)據(jù)的長度,用一個字節(jié)存儲溫度值,用一個字節(jié)存儲煙霧濃度值。
智慧教室的數(shù)據(jù)采集模塊設(shè)計主要工作是選擇合適的傳感器,連接通用的ZigBee核心板擴展接口實現(xiàn)教室內(nèi)各種環(huán)境指數(shù)的采集,包括對溫濕度采集、光照度采集、煙霧濃度采集、人員存在情況采集等,最終確定選用DHT11溫濕度傳感器。溫濕度傳感器電路連接原理圖如圖2所示。
圖2 溫濕度傳感器電路連接原理
溫濕度傳感器接口1是接3.3V電源,接口2是IO口的輸出,與ZigBee的IO口連接,實現(xiàn)溫濕度的讀取,接口3是連接地線。
用于教室內(nèi)光照度環(huán)境監(jiān)測的傳感器電源部分采用3.3V供電,數(shù)據(jù)端口連接CC2530芯片的P0_5接口,光敏電阻電路連接原理圖如圖3所示。
圖3 光敏電阻電路連接原理圖
光敏電阻傳感器接口1是接3.3V電源,接口3是IO口的輸出,與ZigBee的IO口連接,實現(xiàn)光照度的讀取,接口2是連接地線。
教室內(nèi)安裝煙霧傳感器主要目的是通過傳感器檢測室內(nèi)的煙霧濃度,并通過模擬端口輸出電壓值??刂破魍ㄟ^外部端口讀取到的AD值并上傳到管理系統(tǒng)。管理系統(tǒng)根據(jù)設(shè)定的域值來判斷教室內(nèi)煙霧濃度是否超過警戒值。系統(tǒng)通過一系列控制算法,對此情況做出判斷,反饋給用戶,同時控制教室內(nèi)設(shè)備,發(fā)出報警。煙霧采集模塊電路圖如圖4所示。
圖4 煙霧采集模塊電路圖
煙霧傳感器接口1是接5V電源,接口3是IO口的輸出,與ZigBee的IO口連接,實現(xiàn)煙霧濃度的讀取,接口2是連接地線。
人體紅外感應(yīng)模塊功能特點:當人員進入感知范圍,大約7m左右,就會輸出高電平信號,離開其感知范圍就會自動延時關(guān)閉,輸出低電平。該設(shè)備的工作電壓范圍是4.5V~20V。功耗相對比較低,非常適合現(xiàn)在的鋰電池供電。根據(jù)其特點,人體紅外感應(yīng)模塊電路圖如圖5所示。
圖5 人體紅外感應(yīng)模塊電路圖
人體紅外感應(yīng)傳感器接口1是接5V電源,接口2是IO口的輸出,與ZigBee的IO口連接,實現(xiàn)人員數(shù)的讀取,接口3是連接地線。
本文對智慧教室物聯(lián)網(wǎng)云平臺的感知層和網(wǎng)絡(luò)層進行了設(shè)計與實現(xiàn),完成了終端節(jié)點采集模塊的電路圖設(shè)計和模塊的選型,規(guī)范了ZigBee組網(wǎng)的數(shù)據(jù)幀格式和WiFi模塊的數(shù)據(jù)幀格式,通過程序燒錄實現(xiàn)了終端模塊的感知功能、ZigBee網(wǎng)絡(luò)進行數(shù)據(jù)的傳遞,為下一步與面向智慧教室的軟件云平臺系統(tǒng)連接奠定網(wǎng)絡(luò)基礎(chǔ)。