基于茶園旱情監測系統的WSN網(wǎng)關(guān)設計
Linux是內核可裁剪、重新配置的操作系統。在A(yíng)RM平臺上移植Linux嵌入式操作系統的工作分為建立交叉編譯環(huán)境、Bootloader移植、Linux內核(kernel)移植、文件系統移植和系統驅動(dòng)程序設計等。Linux系統移植示意圖如圖2所示。

交叉編譯環(huán)境是由編譯器、連接器和解釋器組成的綜合開(kāi)發(fā)環(huán)境,可以將應用程序轉換成能在目標機上運行的二進(jìn)制代碼。
Bootloader是嵌入式系統上電后執行的第一個(gè)軟件代碼。它的主要運行任務(wù)就是將內核映像從硬盤(pán)上讀到RAM中,然后跳轉到內核的入口點(diǎn)去運行,即開(kāi)始啟動(dòng)操作系統。
文件系統是指在物理設備上的任何文件組織和目錄,它構成了Linux系統上所有數據的基礎。該系統選用JFFS2作為文件系統。
在Linux中,設備驅動(dòng)程序的設計和使用一般有兩種方式可供選擇。第一種方式是將設備驅動(dòng)程序作為可加載的模塊,動(dòng)態(tài)地加載到內核,模塊是內核的一部分,但以獨立的個(gè)體形式存在;第二種方式是將設備驅動(dòng)程序作為內核代碼的一部分編譯到內核中去,是以?xún)群四J竭\行的。本文選用了第二種方式。
3 遠程數據傳輸方式設計與實(shí)現
在無(wú)線(xiàn)傳感器網(wǎng)絡(luò )與外部網(wǎng)絡(luò )進(jìn)行遠程數據傳輸的過(guò)程中,網(wǎng)關(guān)處于承上啟下的地位,是數據傳輸的中樞節點(diǎn)。本文的通信軟件包括網(wǎng)關(guān)與匯聚節點(diǎn)通信模塊和網(wǎng)關(guān)與遠程終端通信模塊。
網(wǎng)關(guān)與匯聚節點(diǎn)之間的通信主要是指網(wǎng)關(guān)接收匯聚節點(diǎn)數據的過(guò)程,一般采用串口通信方式。由于Linux內核中已嵌入了串口驅動(dòng)程序,對串口的操作可通過(guò)設備文件來(lái)實(shí)現。
網(wǎng)關(guān)與遠程終端進(jìn)行數據傳輸則分別通過(guò)開(kāi)發(fā)以太網(wǎng)應用程序和利用PPP協(xié)議,實(shí)現了以太網(wǎng)的有線(xiàn)通信和GPRS的無(wú)線(xiàn)通信。采用面向連接的客戶(hù)機/服務(wù)器模型,其通信過(guò)程見(jiàn)圖3??紤]到對數據傳輸的可靠性要求較高,故采用基于TCP的流式套接字(socket)通信機制。利用Sierra Wireless公司的Aircard750上網(wǎng)卡連接移動(dòng)GPRS網(wǎng)絡(luò )接入Internet,從而實(shí)現網(wǎng)卡與遠程監控中心的數據交換。利用PPP協(xié)議棧把數據包封裝成IP包的格式,發(fā)送給無(wú)線(xiàn)模塊。完成從撥號到最終邏輯通信鏈路的建立需要經(jīng)過(guò):網(wǎng)關(guān)首先通過(guò)撥號呼叫ISP,在得到ISP應答后,建立起初始的物理連接,此時(shí)可以檢測到載波信號;然后終端與ISP之間開(kāi)始傳送一系列經(jīng)過(guò)PPP封裝的LCP分組,用于協(xié)商選擇將要采用的PPP參數,參數協(xié)商完成后開(kāi)始認證過(guò)程;認證成功后,通信雙方開(kāi)始交換一系列的NCP分組來(lái)配置網(wǎng)絡(luò )層。對于上層使用IP協(xié)議的情況而言,此過(guò)程是由IPCP完成的;當NCP配置完成后,邏輯通信鏈路就建立好了,雙方可以開(kāi)始在此鏈路上交換上層數據。該過(guò)程中PPP狀態(tài)轉換如圖4所示。

評論