王喜恩, 貢 軍, 盧澤民, 王業球
(1.中聯重機股份有限公司,安徽蕪湖 241018,2.江蘇大學農業工程研究院,江蘇鎮江 212013)
基于嵌入式Web服務器的農機車載終端設計
王喜恩1, 貢 軍1, 盧澤民2, 王業球1
(1.中聯重機股份有限公司,安徽蕪湖 241018,2.江蘇大學農業工程研究院,江蘇鎮江 212013)
設計了一種基于嵌入式Web服務器的農機車載終端,系統中ARM6處理器既作為采集電路單元又作為嵌入式網關單元,通過編寫相應的應用層CGI程序,實現瀏覽器/服務器器(B/S)通信。同時,在Linux操作系統上移植TCP/IP協議,構建Web服務器,編寫應用層通用網關接口程序,可以實現對農機運行參數遠程在線監測,滿足了低成本下數據遠程傳輸和控制要求。
農機;嵌入式Web服務器;車載終端
三夏、三秋重要農事期間,農機跨區作業普遍,作業集中度高、連續作業時間長,機器磨損大,對機器維修的及時性要求較高,對跨區作業相關市場服務信息需求強烈。但機手在跨區作業過程中,與服務網點處于“雙盲”狀態,面臨維修和零配件供應問題;由于作業市場的不確定性,面臨盲目流動問題;對所跨區域天氣、油料補給點不熟悉,面臨后勤補給問題。得益于互聯網技術的快速發展,建立一個遠程在線服務平臺成為可能,開發一種適用當前農機技術水平和成本接受度的車載終端,進行信息發出和接收,成為必要[1-2]。
筆者基于ARM-Linux嵌入式服務器構建了農機連載終端,系統中ARM6處理器既作為采集電路單元又作為嵌入式網關單元,通過編寫相應的應用層CGI程序,實現瀏覽器/服務器器(B/S)通信,嵌入式服務器代碼和服務器端應用程序代碼編制簡便,滿足Web服務器基本功能;B/S通信架構可直接讀取遠程數據,系統開發簡單,成本低,適合當前農機技術和用戶使用水平。
1.1 硬件結構如圖1所示,該農機車載終端硬件由數據采集電路與嵌入式網關兩部分組成。以發動機冷卻液溫度傳輸為例,溫度傳感器由于不同的溫度,其電阻發生變化,調理電路對變化值放大、濾波和穩壓處理[3],處理后的信號經過2路數模電路板進行模數轉換和計算,得到溫度值;溫度數據通過以太網網關,按通信協議實現數據轉換和交換,在客戶端的瀏覽器實時讀取。
1.2 嵌入式網關構建選用由Davicom公司生產的DM9000A控制器作為以太網芯片的核心組件,它有1個10/100 M的自適應物理層與4 K雙字節的靜態隨機存儲器;支持8位和16位的接口,以訪問內部存儲器設備,從而支持不同類型的處理器[4-5]。構建的嵌入式網關結構如圖2所示。1.3 硬件封裝車載終端根據用戶功能需求,封裝數據采集模塊、衛星定位模塊、電源模塊、控制及接口單元、天線、彩色液晶屏等,實現對農業裝備的定位、導航,作業數據、圖像、聲頻、視頻的采集與傳輸。各模塊相互關系如圖3所示,封裝成型的嵌入式農機車載終端如圖4所示,搭配顯示信息終端的設備組合如圖5所示。
2.1 Web服務器設計構建Web服務器,socket網絡連接是基礎[6-7]。當Web服務器建立起socket連接后,服務器端和客戶端相互響應[8-9]。響應內容主要為客戶端請求及服務器應答。
該研究設計了一個簡易Web服務器,實現了Web服務器的基本功能,包括頁面請求與響應、HTML文件解析和數據傳送,工作流程如圖6所示。客戶發送請求( GET filename HTTP/version);Web服務器發送應答(HTTP/version status-code status-message)。
用戶瀏覽器端與服務器端建立socket連接后,用戶通過在瀏覽器端單擊一個鏈接的形式獲取網頁,即發送一個命令請求,服務器端利用GET命令接受請求、讀取請求,并打印輸出相關數據信息。
2.2 應用層CGI程序設計通用網關接口 (Common gateway interface,CGI)表達一段程序,運行在Web服務器上,其主要功能是在Web的環境下,從客戶端向Web服務器傳達信息或命令,Web服務器啟動指定程序來完成特定工作。在瀏覽器/服務器模式下,CGI是由瀏覽器的輸入命令進行觸發[10-11]。
用戶在瀏覽器端的地址欄中輸入要訪問的地址,回車觸發指令申請,同時瀏覽器將申請命令通過TCP協議發送至服務器端。Web服務器端在接收到申請后,按.htm或者.html的后綴名來識別文件是否是HTML類型的文件。如果是HTML類型的文件,Web服務器會從當前的存儲中讀取到正確的HTML型文件,并將其以網頁的形式送回到瀏覽器端。Web瀏覽器、服務器以及CGI程序運行關系如圖7所示。
該研究設計的簡易Web服務器僅支持GET命令,主循環如下所示:
sock = make_server_socket(atoi(av[1])); //建立socket連接監聽客戶端請求
if (sock == -1)
exit(2);
while(1)
{ fd = accept(sock, NULL, NULL); //接受請求
fpin = fdopen(fd, "r");
fgets(fpin, request, LEN); //讀取客戶端的請求
read_until_crnl(fpin); //跳過其他命令
process_rq(request, fd); //接收客戶端請求
Fclose(fpin);
}
將車載終端安裝到本公司生產的4YZ-5自走式玉米收割機上,進行性能測試。
首先,確定ZigBee是否組網成功,然后測試采集節點能否根據程序的設計要求進行數據采集、匯聚節點實時的數據并顯示。
對發動機冷卻液溫度進行測量,系統通電后開始組建網絡,并對系統硬件進行初始化,傳感節點加入到該網絡后,實時地發送數據給匯聚節點,最后在液晶顯示屏顯示。每隔30 s液晶顯示屏變化一次數據,采集到的數據見表1。

表1 發動機冷卻液溫度測量結果
由表1可知,該車載終端的測量誤差較小,在可接受的范圍內。說明該研究所設計的農機車載終端具有實用價值。
該研究設計的基于嵌入式Web服務器的農機車載終端,其ARM芯片既可作為信號采集終端,又可作為以太網網關組件,有效利用了硬件資源。同時,在Linux操作系統上移植TCP/IP協議,構建Web服務器,編寫應用層通用網關接口程序,可以實現農機運行參數實時監測,滿足了低成本下數據遠程傳輸和控制要求。試驗證明,系統具備較強的實時性和穩定性,可以搭載到相關農機局上,作為遠程服務平臺的前端設備。
[1] 唐世浩,朱啟疆,閆廣建,等. 關于數字農業的基本構想[J].農業現代化研究, 2002,23(3):183-187.
[2] 張小超,胡小安,任繼平,等. 精準農業關鍵技術與裝備的研究進展[C]//2005 年中國農業工程學會學術年會論文集第三分冊.廣州:出版者不詳,2005.
[3] 金珍珍.基于 Protel DXP 的電路設計技巧[J].電腦與電信,2010 (2): 37-39.
[4] 項雷軍.基于 ZigBee,GPRS 和 TCP/IP 協議的無線網關設計[J].微型機與應用,2013,32(8):51-54.
[5] CHALLA V R,PRASAD M G,FISHER F T.Towards an autonomous self-tuning vibration energy harvesting device for wireless sensor network applications[J].Smart Materials and Structures,2011,20(2): 25004.
[6] 王江濤,陳志剛,鄧曉衡.WSN 中基于可信核心樹的路由算法研究[J].計算機科學,2012,38(12): 36-42.
[7] 司海飛,楊忠,王珺.無線傳感器網絡研究現狀與應用[J].機電工程,2011,28(1):16-20.
[8] HIERTZ G R,DENTENEER D,MAX S,et al.IEEE 802.11 s: the WLAN mesh standard[J].Wireless Communications,IEEE,2010,17(1): 104-111.
[9] LIANG G,LIU D,HAO F.Design of ZigBee wireless network node based on CC2430[J].Electronic Design Engineering,2010,2:9.
[10] XIN Y,YAO H,JIANG Y,et al.Analysis and Design of ZigBee Network Layer Protocol under Cellular Network Environment[C]//Computer Science and Electronics Engineering (ICCSEE),2012 International Conference on.IEEE,2012:59-62.
[11] 錢志鴻,王義君.面向物聯網的無線傳感器網絡綜述[J].電子與信息學報,2013,35(1): 215-227.
Design of Agricultural Machinery Vehicle Terminal Based on Embedded Web Server
WANG Xi-en1, GONG Jun1, LU Ze-min2et al
(1. Zoomlion Heavy Machinery Co. Ltd., Wuhu, Anhui 241018; 2. Institute of Agricultural Engineering, Jiangsu University, Zhenjiang, Jiangsu 212013)
This paper designed an agricultural machinery vehicle terminal based on embedded Web server, the ARM6 processor system not only as the acquisition circuit unit and as the embedded gateway unit in the system, by writing the corresponding application layer CGI program, communication between browser/server(B/S) was realized. At the same time, TCP / IP protocol is transplanted to the Linux operating system, building Web servers, writing the corresponding application layer common gateway interface program can be achieved on agricultural machinery remote online monitoring of operating parameters to meet the low-cost remote data transmission and under control requirements.
Agricultural machinery; Embedded Web server; Vehicle terminal
蕪湖市科技計劃項目(2103ZD05);“十二五”先進制造領域國家科技計劃項目(2103AA040401)。
王喜恩(1966- ),男,河南尉氏人,高級工程師,從事農機先進制造及管理研究。
2015-03-25
S 126
A
0517-6611(2015)13-346-02