徐海濤,侯 葉,劉欣茹
(西安電子科技大學 機電工程學院,陜西 西安 710071)
?
ZigBee無線窗控網絡節點的遠程監控系統
徐海濤,侯 葉,劉欣茹
(西安電子科技大學 機電工程學院,陜西 西安 710071)
設計了一種ZigBee無線網絡節點的監控系統,并通過無線移動網絡實現遠程監控。該系統采用CC2530微處理器,移植ZSTACK體系,在該體系基礎上建立ZigBee網絡的無線通信環節,成功運行在ZigBee網絡節點上。在網絡協調器上連接一個SIM900A模塊,采用TTL電平轉化的方式連接串口,實現ZigBee網絡與遠程服務器的通信傳輸。網絡節點處分別設置兩個端口,一個設置為輸入,采集端口處狀態,作為監視端口;另一個設置為輸出,控制端口處狀態,作為控制端口。阿里云服務器具備公網IP,可以作為本實驗的遠端服務器,在此以該服務器上的網絡調試助手作為顯示與控制界面,顯示網絡狀態并遠程控制網絡節點。
CC2530;ZStack;遠程監控;ZigBee
從上個世紀開始,無線通信技術開始發展,相繼出現短距離高速率的無線通信技術,如藍牙、WiFi等,為彌補其能耗大、無法完成上電自組網等功能,ZigBee技術面世并走進人們的生活。ZigBee技術是一種低速率、低功耗的無線自組網,與藍牙、WiFi一起稱為三大無線通信技術[1]。
在大型交通設施,如機場、車站等大型公共場所排煙窗口往往由于位置較高,不便布線且人工費用、維護費用較高,無論采用人工方式或布線方式均不能有效經濟地發揮窗口的最大化利益。此時,ZigBee技術完全可以滿足此類環境的要求,一方面此類環境的信息量較低,且要求穩定性好,這正是ZigBee技術的特點;另一方面,每一個節點不管維護還是升級成本都很低,且省去人工費用與排線的麻煩。因此,窗控系統采用ZigBee技術是一個很合適的選擇。
本文采用近程ZigBee無線網絡+遠程無線移動網絡體系,同時完成遠程界面對ZigBee無線網絡的監控功能。ZigBee無線網絡通信采用ZigBee2007-pro協議,在ZSTACK體系上,IAR8.10集成開發環境下完成軟件開發,網絡節點處需開辟輸入端口以采集窗口狀態和輸出端口以控制窗口狀態,并且節點在OSAL[2]中注冊兩個事件以完成采集狀態的傳輸與控制指令的接受。網絡協調器[3]作為ZigBee網絡的大腦,設置該網絡唯一標識符,允許網絡節點的加入,匯集網絡節點的信息,通過串口1采用TTL電平轉化的方式連接SIM900A模塊,將匯集的網絡節點信息通過移動網絡遠程傳輸給遠端的服務器,也可以通過遠端服務器發送指令經由網絡協調器傳送到網絡節點實現窗口控制。
如圖1所示為系統整體框圖。系統可分為兩大環節,一是通信環節,二是節點控制、采集環節。通信環節包括個人PC與服務器的TCP/IP通信[4]、協調器與服務器之間的GPRS通信,以及協調器與節點之間的ZigBee無線通信。控制環節在ZigBee網絡節點處實現。

圖1 系統框架
1.1 網絡節點的設計
網絡節點軟件的編寫主要分為三部分,包括網絡加入與通信實現、窗口狀態采集功能、窗口控制功能。微控制器為CC2530,在IAR8.10集成開發環境下,移植ZSTACK體系,在應用層注冊報告事件,加入協調器所在網絡,并完成通信功能。在此,規定節點加入網絡后,需向網絡協調器發送該節點的網絡信息,發送數據格式為:sxxxxpyyyyizzzz。其中s表示該節點的節點類型,xxxx表示該節點的網絡地址,p表示該節點處的父節點,yyyy表示父節點的網絡地址,i表示該節點的物理地址,zzzz表示該節點物理地址的后四位。節點在加入網絡后協調器會分給該節點一個唯一的16位二進制網絡地址,在此轉化為四位十六進制地址。在ZSTACK體系中,注冊一個MY_REPORT_EVT事件,該事件用于觸發sendReport()函數,該函數用于向協調器發送窗口狀態。發送數據格式為:Device:sXXXXRL。XXXX節點代表四位網絡地址,R、L分別用0、1代表兩個端口處狀態的開關。而zb_ReceiveDataIndication()函數用于接收協調器發送的窗口控制指令。接收到的數據格式與發送數據格式相同,當節點接收到數據時先判斷網絡地址,如果接收的網絡地址與節點地址一致,則根據數據設置控制端輸出,否則不對數據進行處理[5]。
窗口采集功能即設置CC2530的端口P0.6、P0.7為輸入端,每隔5 s對兩個端口進行一次數據采集,代表節點處窗口的狀態。而窗口控制功能設置P0.4、P0.5為輸出端,以高低電平作為輸出控制繼電器對窗口進行開關控制。
1.2 網絡協調器的設計
網絡協調器軟件的編寫主要分為兩部分,包括網絡建立與通信實現、SIM900A的遠程通信控制。
協調器是ZigBee網絡的大腦。負責網絡的建立、節點的加入允許與分配網絡地址、網絡維護等,在此協調器還加入遠程通信功能。ZSTACK體系的移植與網絡節點一致,只需設置其為協調器,但是注意SENSOR_REPORT_CMD_ID的id值與網絡要保持一致,否則會收不到數據。
SIM900A是一款高性能工業級 GSM/GPRS 模塊,工作頻段雙頻:900/1 800 MHz,可以低功耗實現語音、SMS(短信,彩信)、數據和傳真信息的傳輸,支持 RS232 串口和 LVTTL 串口。此處使用TTL串口。AT 指令集是從終端設備(TA)向終端適配器(TE)發送的。通過TA、TE發送 AT 指令來控制移動臺的功能。用戶可以通過 AT 指令進行呼叫、短信、電話本、數據業務、傳真等方面的控制。通過CC2530的串口1的P0.3、P0.4兩個端口向SIM900A發送AT指令,用于向遠程服務器發送數據或接收數據。
1.3 服務器的設計
學校網絡是一個局域網,實驗室網絡不具備外網IP,協調器不能通過移動內網找到個人PC并完成通信功能。因此,本設計加入了一個阿里云服務器,其擁有公網IP,具備與協調器和個人PC雙向通信的需求。
在服務器上安裝Eclipse作為Java[6]集成開發環境,編寫Java程序。該程序只是完成數據的轉發功能,即將協調器傳輸的數據發送到個人PC端,將PC端的指令數據發送到協調器。
1.4 PC界面的設計
Qt[7]是一個跨平臺的C++面向對象的圖形用戶界面應用程序框架。在Qt Creator 5.1.0跨平臺集成開發環境下編寫個人PC界面,如圖2所示。主頁面中是一個線性布局,分別表示菜單欄、狀態欄和地址端口欄。其中嵌入一個QStackedLayout布局以便顯示不同層數的各個狀態,當窗口為亮時,即燈顯示為黃色時,表示窗口為打開狀態;當窗口為暗時,即燈顯示為黑色時,表示窗口為關閉狀態。最下面為地址端口欄,右下角處QLineEdit顯示了PC連接的公網IP地址與端口號(也是服務器的公網地址與開辟的通信端口)。

圖2 遠程窗口監控平臺
軟件編寫完后,下載到ZigBee開發板,供電并運行,同時打開遠程服務器的網絡調試助手用于顯示ZigBee協調器與服務器的通信內容,配置網絡調試助手為TCP Server,并配置端口號保持與SIM900A連接的端口號一致。準備就緒后,讀取配置網絡調試助手的網絡數據接收區數據,如圖3所示。

圖3 網絡調試助手接收數據
當協調器通過SIM900A連接到服務器時,網絡調試助手左下角會有Message:FD_ACCEPT消息提示連接成功。在網絡數據接收區,可以讀取到數據如下:第一行顯示連接服務器的網絡地址及端口號,用以區分是協調器還是遠程的界面,此處連接的是協調器;從第二行開始顯示的是協調器發送到服務器的數據,首先當ZigBee節點加入網絡后會向協調器發送其網絡地址、父節點網絡地址和自身物理地址,如圖3中第二行,其中父節點網絡地址為0000,表示其父節點為協調器本身;從第三行開始均表示窗口狀態的反饋,前十二個字符表示反饋的狀態的網絡節點,后兩個字符表示節點兩個端口窗口的狀態,當改變端口P0.6、P0.7處的輸入電平,或0~3.3 V,或3.3~0 V,從圖中第3~8行可以看到反饋狀態的變化。同理當在發送區中向協調器發送改變窗口指令時,用萬用表測量P0.4、P0.5處輸出電壓均發生改變。
本文提出了一種ZigBee無線窗控網絡節點的遠程監控系統,該系統以CC2530為主控芯片,軟件編寫在ZSTACK體系下完成,組建了ZigBee網絡,該系統具有成本低、可擴展性強、穩定性強、維護成本低,且便于遠程控制等優點。本設計對大型設施通風窗口控制系統有指導意義,同時也可應用于智能工業控制、家居智能化、樓宇智能化、農業智能化等領域。
[1] 孫占偉,趙爍,王盼星,等. 基于物聯網的社區服務信息交互終端與系統[J]. 吉林大學學報(信息科學版),2016,34(4):516-519.
[2] 辛穎,謝光忠,蔣亞東.基于ZigBee協議的溫度濕度無線傳感器網絡[J]. 傳感器與微系統,2006, 25(7): 82-84.
[3] 蔡利婷,陳平華,羅彬,等. 基于CC2530的ZigBee數據采集系統設計[J]. 計算機技術與發展,2012,22(11):197-200.
[4]徐玉炎,明軒,張瑞,等. 基于WSN的醫療監護系統的設計[J]. 電子設計工程,2015(2): 92-95.
[5] 王東, 張金榮,魏延,等. 利用ZigBee技術構建無線傳感器網絡[J]. 重慶大學學報, 2006,29(8): 95-98.
[6] 李正明,吳波.基于物聯網的智能家居控制系統研究[J].現代科學儀器,2012(2):68-71.
[7] 陸文周.Qt5開發及實例[M].北京:電子工業出版社,2013.
The remote monitoring system of ZigBee wireless window control network node
Xu Haitao, Hou Ye, Liu Xinru
(School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, China)
This paper designs a ZigBee wireless network node monitoring system, and through the wireless mobile network to achieve remote monitoring. The system uses CC2530 microprocessor to transplant ZSTACK system, on the basis of the system, the ZigBee network wireless communication links is established, which can successfully operate on the ZigBee network nodes. The network coordinator can communicate to remote server by using TTL-level conversion of the way to connect the serial port on the SIM900A module. Two ports are set up at the network node. One is set as input to collect the status of the port, as a monitor port. And the other one is set as output to control status of the port, as a control port. Ali cloud server has public IP, which can be used as the remote server of the experiment. We can use this to display network status and control remote network nodes.
CC2530; ZStack; remote monitoring; ZigBee
TP13
A
10.19358/j.issn.1674- 7720.2017.13.022
徐海濤,侯葉,劉欣茹.ZigBee無線窗控網絡節點的遠程監控系統[J].微型機與應用,2017,36(13):73-75,81.
2017-01-03)
徐海濤(1990-),男,碩士研究生,主要研究方向:嵌入式系統設計與開發。
侯葉(1961-),女,博士,教授,主要研究方向:嵌入式控制系統的開發與研究。
劉欣茹(1990-),女,碩士研究生,主要研究方向:ZigBee智能控制。