袁 英,于艷艷,王 磊,梁 川,楊 軍
(云南大學 信息學院,昆明 650091)
遠程控制是在網(wǎng)絡上由一臺電腦(主控端Remote/客戶端)遠距離去控制另一臺電腦(被控端Host/服務器端)的技術[1]。電腦中的遠程控制技術始于DOS時代,隨著信息技術和網(wǎng)絡技術的高速發(fā)展,遠程操作及控制技術越來越引起人們的關注,并廣泛應用于人們的日常工作和生活中,如遠程辦公、遠程教育、遠程維護、遠程協(xié)助等[2-3]。遠程控制將不僅極大地方便人們的日常生活,而且對整個社會生產(chǎn)活動將產(chǎn)生巨大的影響。
在傳統(tǒng)遠程控制系統(tǒng)中,由于遠程用戶與智能控制中心間的通信方式多采用電話線或網(wǎng)線,因而網(wǎng)絡布線復雜、網(wǎng)絡延時較大、可靠性較差,給用戶帶來極大的不便。本文設計的遠程智能控制系統(tǒng)是基于實時操作系統(tǒng)并采用無線通信技術組建控制終端網(wǎng)絡,系統(tǒng)實時性較好;用戶可通過瀏覽器登錄服務器來監(jiān)測控制遠程終端,方便用戶使用。該系統(tǒng)便于應用在智能家居、工業(yè)控制等相關領域,實現(xiàn)家居設備、工業(yè)設備等的智能化控制,對改善人們的日常生活方式,提高人們的工作效率具有一定的意義。
本系統(tǒng)設計的功能是通過PC機或移動設備登錄服務器系統(tǒng),訪問和控制多個遠程控制終端。根據(jù)其功能特點,該系統(tǒng)由無線控制終端和主控系統(tǒng)兩個部分組成。
1)無線控制終端由微控制器、傳感器模塊、無線收發(fā)模塊和控制電路模塊構成。微控制器通過無線收發(fā)模塊與主控系統(tǒng)平臺進行信息交互,傳感器模塊將采集現(xiàn)場數(shù)據(jù)信息傳給微控制器進行處理,并將處理結果發(fā)送給主控系統(tǒng)進一步分析,實現(xiàn)智能化控制。
2)主控系統(tǒng)由主控模塊、Web服務器、網(wǎng)絡通信模塊、無線收發(fā)模塊與現(xiàn)場控制模塊構成。
主控模塊以Cortex-M3為核心處理器,搭載uCOSⅡ實時操作系統(tǒng),由操作系統(tǒng)對各項任務進行管理和維護。Web服務器存儲網(wǎng)頁數(shù)據(jù)和無線控制終端的數(shù)據(jù)信息。網(wǎng)絡通信模塊采用ENC28J60網(wǎng)絡接口芯片設計,通過移植TCP/IP協(xié)議棧實現(xiàn)主控系統(tǒng)與Internet的連接。無線收發(fā)模塊實現(xiàn)與控制終端的信息交互?,F(xiàn)場控制模塊以TFT_LCD觸屏液晶建立良好的人機交互界面,實現(xiàn)對現(xiàn)場設備信息的控制和查看,并對控制終端進行參數(shù)配置、初始化以及設置服務器遠程功能的權限,防止非法訪問和操作,確保系統(tǒng)安全。系統(tǒng)的整體結構框圖如圖1所示。
圖1 系統(tǒng)整體結構圖
主控模塊以Cortex-M3為核心處理器。Cortex-M3是基于ARM公司ARMv7-Mz體系結構的32位微處理器芯片,其處理器在結構上包括處理器內核、嵌套向量中斷控制器、存儲器保護單元、總線接口單元和跟蹤調試單元等,有以下特點[4-5]:
1)采用了基于哈佛(Harvard)架構的3級流水線內核,集成了分支預測、單周期乘法、硬件除法等功能,可達到1.25 DMIPS/MHz的運算速度,而功耗僅為0.19 mW/MHz。
2)采用的Thumb-2指令集結合了16位指令代碼密度和32位指令的性能,具有更高的指令效率和更強的性能。
3)Cortex-M3處理器總線矩陣將處理器核、調試接口與外部總線相連接,采用非對齊數(shù)據(jù)訪問和位段技術,使得處理器的片上外圍設備訪問速度大大提高。
因此,Cortex-M3與ARM7、ARM9等其他系類相比,在相同時鐘頻率下的運行速度可提高35,代碼可節(jié)省45,具有高性能、低功耗等特點。
網(wǎng)絡通信模塊采用ENC28J60網(wǎng)絡接口芯片設計。ENC28J60是全球目前最小封裝的以太網(wǎng)控制器,符合IEEE 802.3協(xié)議,且只有28引腳,體積小、設計簡單、容易使用[6]。它采用標準的SPI串行接口,只需4條連線即可與MCU連接,速度可達10 Mb/s。
遠程控制終端采用STC11L02E單片機作為微控制器,通過無線收發(fā)模塊NRF2401收發(fā)數(shù)據(jù)信息,繼電器控制設備的工作狀態(tài),并將傳感器檢測的設備狀態(tài)信息發(fā)送給主控模塊。本系統(tǒng)的控制終端實驗測控對象為電熱水器,采用DS18B20傳感器對水溫進行測量。其中,STC11L02是一款高性能、低功耗、超強抗干擾的新一代8051單片機,既兼容傳統(tǒng)8051單片機,且運行速度快8~12倍,被廣泛應用于高速通信、智能控制與強干擾場合[7]。DS18B20是美國新一代“一線總線”的溫度傳感器,體積小、價格低、使用靈活,測溫范圍為-55℃ ~125℃,精度為±0.5℃。
uCOSII是一種源代碼公開、結構小巧的實時操作系統(tǒng),包含了任務調度、時間管理、內存管理、任務間的通信和同步等基本功能。CPU硬件相關部分用匯編語言編寫,具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良和擴展性強等特點,最小內核可編譯至2 KB[8]。本系統(tǒng)的設計實現(xiàn)需移植uCOSII操作系統(tǒng)來管理維護各項任務。
本系統(tǒng)軟件的設計是基于uCOSII實時操作系統(tǒng)創(chuàng)建信號集和各項任務,通過信號集完成任務間的通信和同步功能。在系統(tǒng)初始化后創(chuàng)建MyTask()任務,然后,在其任務內創(chuàng)建3個子任務,分別是MyTask1、MyTask2、MyTask3。MyTask1任務完成和控制終端的信息交互,并將數(shù)據(jù)信息存儲于Web服務器;MyTask2任務負責以太網(wǎng)信息的交互,發(fā)送Web服務器的網(wǎng)頁數(shù)據(jù);MyTask3任務完成現(xiàn)場控制系統(tǒng)的功能,顯示終端設備的運行狀態(tài),對控制終端直接操作以及遠程用戶的權限設置。
網(wǎng)絡驅動程序由TCP/IP協(xié)議棧和ENC28J60硬件驅動程序兩部分組成。TCP/IP協(xié)議負責與應用程序之間的數(shù)據(jù)交換,ENC28J60驅動程序負責TCP/IP與Internet網(wǎng)絡之間的數(shù)據(jù)傳輸。TCP/IP協(xié)議采用開源、非常小巧的uIP協(xié)議棧。uIP協(xié)議去掉了TCP/IP中不常用的功能,簡化了通信流程;其硬件處理層、協(xié)議棧層和應用層共用一個全局緩存區(qū),節(jié)省了空間和時間,其關系如圖2所示。
圖2 uIP協(xié)議棧
由上圖知,uIP協(xié)議通過API函數(shù)實現(xiàn)底層硬件和高層應用程序的通信,即uip_init(),uip_input()和uip_periodic(),其與應用程序的主要接口是UIP_APPCALL()函數(shù)。
嵌入式Web服務器設計需移植Boa服務器。Boa服務器是一款單任務的HTTP服務器,通過建立HTTP請求列表來處理多路HTTP連接請求,具有處理速度快和效率高等特點[9]。
Boa服務器的移植主要修改和配置mime.type和boa.conf文件,配置CGI腳本的存放路徑,創(chuàng)建CGI腳本目錄和HTML文檔目錄。當Web服務器收到請求時,CGI程序處理瀏覽器發(fā)送的數(shù)據(jù),并將相應的HTML頁面發(fā)送給遠程用戶。
Web服務器共設計兩個頁面,分別是用戶登錄認證頁面和遠程監(jiān)測控制頁面,通過Web瀏覽器輸入服務器IP地址,顯示登錄頁面,輸入用戶名和密碼進入遠程控制系統(tǒng)頁面。Boa服務器的執(zhí)行流程如圖3所示。
控制終端程序設計采用PID控制算法設計的PID控制器結合了比例、積分、微分三種控制方式的優(yōu)點,使閉環(huán)系統(tǒng)的階躍響應盡可能地穩(wěn)、準、快。
圖3 Boa服務器執(zhí)行流程圖
PID控制算式為:其傳遞函數(shù)可表示為:
式中:KP、Ti、Td分別是控制器的比例增益、積分時間和微分時間系數(shù);u0是控制器初始時輸出值,一般情況下為0;u(t)是控制器在t時刻的輸出值;e(t)是t時刻設定值與測量值之間的偏差值。其控制原理框圖如圖4所示。
圖4 控制原理框圖
控制終端通過無線收發(fā)模塊接收上位機的指令信息來執(zhí)行相應的操作,并將設備的運行狀態(tài)發(fā)送給上位機系統(tǒng)。其控制程序采用PID控制算法進行設計,通過傳感器將運行狀態(tài)反饋給PID控制器,控制器輸出控制信號執(zhí)行操作。
本系統(tǒng)基于Cortex-M3處理器和Keil_MDK軟件平臺設計開發(fā)完成,無線控制終端基于STC11XX系列微控制器設計,便于擴展,可對多種設備進行監(jiān)測和控制。為了測試遠程智能控制系統(tǒng)的性能參數(shù),本系統(tǒng)實驗測試對象為電熱水器,實現(xiàn)對電熱水器的遠程控制和水溫監(jiān)測。用戶通過Web瀏覽器發(fā)出指令信息,終端熱水器接收到指令信息后,其水溫和加熱狀態(tài)情況如表1所示。
表1 熱水器的指示燈及水溫情況
分析上表得出該系統(tǒng)的控制延遲Ts=0.18 s,系統(tǒng)誤差Er=0,穩(wěn)定系數(shù) λ=79.5/80=0.993 7。經(jīng)實驗驗證,結合上述參數(shù)指標可看出本系統(tǒng)實時性好、誤差低、可靠性高且性能穩(wěn)定。
本系統(tǒng)在高性能、低功耗的Cortex-M3處理器和uCOSII操作系統(tǒng)的基礎上,結合PID算法的穩(wěn)、準、快特點,設計實現(xiàn)了可通過PC機或移動終端的Web瀏覽器登錄服務器來控制及監(jiān)測遠程控制終端的、簡單實用的遠程智能控制系統(tǒng)。經(jīng)實驗驗證,該系統(tǒng)性能穩(wěn)定、實時性好、設計成本低,在智能家居與工業(yè)遠程監(jiān)測控制等領域具有廣泛的應用前景,對改善人們的生活方式,提高工作效率具有一定的意義。
[1] 林承華,覃青生.基于GSM的遠程控制系統(tǒng)[J].電氣自動化,2012,34(1):40-42.
[2] 孫增雷,黃俊年,孫敏.基于GSM的遠程報警系統(tǒng)的研制[J].武漢理工大學學報,2008,30(6):122-125.
[3] 黃慧萍,孟祥印,肖世德.基于B/S模式的步進電機遠程系統(tǒng)實驗平臺[J].實驗科學與技術,2010,8(2):184-186.
[4] 杜明州,劉春生,張紹杰.基于Web的遠程控制實驗室平臺設計[J].電子電氣教學學報,2011,33(1):117-110.
[5] 王明陽,裴浩東.基于uCOSⅡ和多總線的多傳感器控制系統(tǒng)設計[J].科學技術與工程,2012,12(12):2845-2848.
[6] 趙曉東,丁岳偉.基于Linux嵌入式的智能家居系統(tǒng)設計[J].計算機技術與發(fā)展,2012,23(1):201-203.
[7] 李江權,張興敢.基于Cortex-M3處理器的智能家居控制系統(tǒng)設計[J].現(xiàn)代電子技術,2012,35(7):47-49.
[8] Joseph Yiu.ARM Cortex-M3權威指南[M].北京:北京航空航天大學出版社,2009.
[9] Hande Alemda,Cem Ersoy.Wireless sensor network for healthcare[J].A Survey Computer Network,2010(54):2688-2710.