朱振中,陳向東,張 瑾,饒 鋮
(①西南交通大學 信息科學與技術學院,四川 成都 610031;②西南交通大學峨眉校區 計算機與通信工程系,四川 峨眉 614202)
隨著中國經濟的高速發展,車輛急劇增加,在有限的地面如何停放、管理和防止盜竊這些車輛成為每個城市所面臨的一個重要課題。這也給傳統的車輛管理系統提出了巨大的挑戰。一個完整的車輛管理系統由大量具有采集功能的傳感器網絡節點,一個或多個網關及監控中心這3部分組成。網關作為連接停車場內部無線網絡與監控中心的中樞,能實現對zigbee內部網絡的設置、管理以及遠程控制功能,無疑是傳感網中重要組成部分[1]。
基于此需求,設計和實現了基于車輛管理系統的嵌入式網關,并考慮到車輛的安全性加入了GSM模塊,當有非法人員打開車門時,會實時的通過短信方式告知車主和停車場管理人員,能有效的保證車輛的安全。
本系統主要有3部分組成,停車場車位上車門的數據采集部分,網關的數據傳輸部分和服務器端的顯示部分。數據采集部分主要通過在車門上的終端節點(RFD)進行車輛定位,使用zigBee協議規范進行通信傳輸,通過路由節點傳輸最終通過協調器節點傳送到網關。網關會對可靠的串口通信數據進行解析并把數據轉發到服務器端,并把異常數據通過短信方式告知車輛管理人員。服務器端的主要是通過C/S架構實現客戶端軟件的web界面訪問和數據庫存儲查詢及遠程控制的目的[2]。其系統架構圖如圖1所示。

圖1 系統架構
嵌入式網關部分主要是由 ARM9處理器 S3C 2440A、ZigBee終端設備和GSM模塊這3部分組成。
網關硬件電路主要由控制器模塊(S3C2440A)、網絡通信模塊、存儲單元、串口通信模塊等組成。其硬件電路結構圖如圖2所示。控制器模塊是整個網關的核心,用來接收Zigbee終端節點的數據和通過網卡連接到Internet網絡。為了能達到高性能低功耗,本網關采用ARM920T為核心的S3C2440A作為控制器,通過外擴液晶顯示器(Liquid Crystal Display,LCD)顯示模塊、存儲模塊、串口模塊等構成硬件平臺。ARM920T通過片內的外圍總線(APB,Advanced Peripheral Bus)總線實現對串口的控制,10/100M以太網芯片可實現數據的高速傳輸[3]。ZigBee模塊連接ARM板子UART1,GSM模塊連接ARM板子UART2。

圖2 網關硬件結構
Linux是一套免費使用和自由傳播的類unix操作系統[4]。它具有極強的平臺可伸縮性,完全符合POSIX標準,有很好的可移植性,而且具有強大的網絡功能。基于以上的分析,文中采用 Linux作為網關的操作系統,這樣極大的節省了開發的時間和費用。ARM板作為開發網關的軟件的核心平臺選用了linux系統,采用了標準的嵌入式開發模式即宿主機+目標機+交叉編譯環境+遠程網絡文件系統(NFS,Network File System)調試。
終端節點采集數據后會對通過zigBee協議進行封裝并在網絡中進行傳輸,經過路由節點轉發到協調器節點,協調器節點會對數據進行解析,然后把應用層數據通過通過串口傳到ARM板的linux系統上,網關會對收到的數據通過TCP/IP協議進行數據轉發,同時也會對這些數據進行解析,當解析到異常數據時,會通過串口2設置GSM模塊來通知停車場管理人員。ARM板的整體軟件架構如圖3所示。

圖3 系統軟件
系統采用星形網絡拓撲結構組建網絡,網關負責zigBee網絡的建立與監聽各個zigBee節點,zigBee網關的流程圖如圖4所示。系統在linux系統啟動之后,首先初始化 zigBee網絡,服務器端會對所有 zigBee節點的物理地址與網絡地址進行統一控制管理[5]。

圖4 zigBee模塊流程
在傳統的串口通信中,串口數據傳送是字節流式的,但硬件層面上沒有保證通信的可靠性和完整性,本網關通過使用接收確認、差錯校驗等機制來保證可靠性。串口數據傳送的幀格式如圖5。

圖5 串口幀格式
其中各個字段的意義如下:
START:幀開始定界符;END:幀截止定界符,START和 END為確定的特定值;SEQ:幀序號;Data:傳送的數據;FCS:幀校驗,是一種簡單校驗,為SEQ–Data字段中所有字節按位異或運算的結果。
在本停車場管理系統的網關設計中。在網絡端,采用面向連接的流式套接字socket套接字來保證通信的可靠性和順序性。文中采用select阻塞的I/O模式來監控網絡和串口信息。在這種模型下,如果所調用的I/O函數沒有完成相關的功能,則會進行進程掛起,直到相關數據到達才會返回,之后便可調用相應的處理事件函數進行處理事件處理后繼續監聽。select系統調用用于多路監控,當沒有一個文件滿足要求時,select將阻塞調用進程。可以得出,select的I/O多路監控是處理I/O調用的一鐘高效的方法,它可以具體設置程序中每一個所關心的文件描述符和等待的條件。通過select()函數的返回結果就可以調用相應的I/O函數了。
短信模塊軟件設計的關鍵是通過 AT命令來控制TC35。TC35模塊由GSM射頻模塊、GSM基帶處理器、供電模塊和天線接口模塊組成。當程序解析到有人偷車的報警信號后會自動啟動 TC35模塊[6]。本短消息的控制模塊采用Text模式。程序通過ARM板子的串口給TC35發送命令,首先進行串口設置和測試,每次命令發送成功后 TC模塊都會返回OK。TC35流程圖如圖6所示。

圖6 TC35流程
文中針對停車場管理系統提出了兩種通信方式直連的網關設計和解決方案,該方案以S3C2440A和Linux為軟硬件開發平臺,融合了串口通信技術和計算機網絡通信技術,給出了一個基于Linux系統的網關程序設計的框架,著重探討了Linux串口通信程序,網絡編程,并用 select監控程序的讀寫控制,實現了無線傳感網內部網絡與Internet網絡之間的通信及實時報警。實驗表明,該方案能夠穩定的進行串口數據流和以太網之間的數據流同步轉換,同時具有通用性,非常適合工業控制、智能家居等遠程監控領域。在后續的研發中,還可以增加多媒體信息,這將是傳感網網關發展的方向之一。
[1]鐘封,陸以勤.基于家庭網關的嵌入式遠程圖像監控系統[J].計算機工程與設計,2011(05):1626-1629.
[2]張毅,熊鵬,李琳,等.ZigBee/藍牙技術的互補性網關設計及應用[J].通信技術,2012,45(01):19-21.
[3]韓立毛,趙躍華,杜云海.嵌入式安全安全 web網關系統的硬件研究與設計[J].通信技術,2010,43(03):153-155.
[4]牛妍萍,呂述望.Linux文件訪問控制及其自動化測試[J].信息安全與通信保密,2006(09):165-166.
[5]郭洪,張世娟.基于ARM S3C2410的嵌入式 ZigBee網關設計[J].河南科學,2012(08):1073-1074.
[6]陳鳳美.基于GPRS短信模塊的遠程數據控制系統[J].信息安全與通信保密,2010(10):55-56.