《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于B/S模式的嵌入式系統測試方法與實現
基于B/S模式的嵌入式系統測試方法與實現
2016年電子技術應用第2期
陳 娟1,2,李 元1,李萬國1
1.北京航空航天大學 機械工程及自動化學院,北京100083;2.宇航智能控制技術國家級重點實驗室,北京100854
摘要: 針對分布式測試系統的研發需求,綜合網絡通信技術、數據庫技術以及嵌入式技術等構建了一種基于B/S(Browser/Server)模式的嵌入式測試系統。通過移植Web服務器Boa、輕量級數據庫SQLite、網絡時鐘同步協議NTP(Network Time Protocol),實現了一個完整的測試系統。系統前臺采用實時圖形化Web頁面顯示,使用Ajax異步數據傳輸與后臺進行數據通信,實現了頁面局部動態刷新,優化人機交互過程。測試系統通過局域網實驗驗證,取得了良好的效果,符合預期目標,為今后研發基于B/S模式的嵌入式分布式測試系統打下基礎,具有一定的參考價值。
中圖分類號: TP31
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.02.013
中文引用格式: 陳娟,李元,李萬國. 基于B/S模式的嵌入式系統測試方法與實現[J].電子技術應用,2016,42(2):50-52,56.
英文引用格式: Chen Juan,Li Yuan,Li Wanguo. The measurement method and implementation of embedded system based on B/S mode[J].Application of Electronic Technique,2016,42(2):50-52,56.
The measurement method and implementation of embedded system based on B/S mode
Chen Juan1,2,Li Yuan1,Li Wanguo1
1.School of Mechanical Engineer and Automation,Beijing University of Aeronautics and Astronautics,Beijing 100083,China; 2.Science and Technology on Aerospace Intelligent Control Laboratory,Beijing 100854,China
Abstract: Based on the purpose of developing a distributed measurement system,construct an embedded measurement system based on B/S mode which combines network communication technology, database technology and embedded technology. By transplanting the lightweight Boa as embedded web server, transplanting lightweight SQLite as a testing database, transplanting NTP(Network Time Protocol) to synchronization system time,realized a completely distributed test system based on B/S mode. The front of the system using real-time graphics web page display, using Ajax(Asynchronous JavaScript And XML) asynchronous data transmission with the back of the system, so as to realize local dynamic refresh of the web page and optimize the process of human-computer interaction. The measurement system is verified in LAN and it is helpful to develop embedded distributed measurement system based on B/S mode in the future.
Key words : embedded test system;embedded server;database;Ajax asynchronous interaction;CGI

0 引言

    伴隨數字信息技術高速發展,嵌入式系統設備數量已經遠超過通用計算機,后PC時代已經到來。嵌入式系統設備廣泛服務于網絡通信、消費電子、工業控制、測控等多個領域。

    嵌入式技術在測試領域應用日益成熟,但由于其具體應用場合不同,難以形成統一的軟件開發框架。呂國勇、史祥龍等人分析了Ajax異步交互、CGI(Comment Gateway Interface)通用網關在嵌入式系統中的應用[1-2],從而減輕了服務器的負擔,提高了客戶端與服務器之間的交互速度。劉利枚、周鮮成等人對嵌入式軟件測試系統的設計與實現進行了探索,提出了一種實用的嵌入式軟件動態測試系統的結構框架[3]。蔡勇、王勇等人基于嵌入式數據庫SQLite3.0技術設計了測控系統,分析了嵌入式數據庫的特點和關鍵技術,著重研究了應用方式和移植方法[4]。張振、王小寧等人對嵌入式Web服務器Boa的移植與應用進行了研究,并實現了其在控制領域的遠程管理[5]。本文在前人的技術基礎上進行綜合、擴展,提出了一套較為成熟的基于B/S測控模式的嵌入式軟件架構,并對其中軟件的實現及移植過程進行了較為全面的探討和總結,最終提供一套具體可行的實現方案。

1 整體結構

    系統采用B/S軟件架構模式,Server端為嵌入式測試系統,具備Web服務和數據庫存儲能力,Browser端為符合W3C的標準瀏覽器。

    用戶通過Web頁面登錄至服務器后發出配置、測試等控制命令;Server響應用戶的請求,調用對應的CGI服務程序,并采用Ajax異步數據傳輸的方式將測試結果動態返回至用戶Web頁,前端采用波形曲線、指針等多種形式展現數據。

1.1 硬件結構

    系統硬件結構分為4個部分:嵌入式測試系統、交叉編譯系統、被測對象配電器和時鐘同步系統。嵌入式測試系統采用ARM11-S3C6410處理器,操作系統內核為Linux2.6.3.8。交叉編譯系統與嵌入式測試系統通過NFS(Network File System)網絡文件系統、TFTP(Trivial File Transfer Protocol)文件傳輸協議、串口通信等協議來進行系統調試、程序傳輸以及與下位機進行通信。嵌入式測試系統繼電器模塊、AD轉換模塊與被測對象配電器通過兩條通信電纜相連,系統產生激勵并讀取配電器返回的測試結果。嵌入式測試系統通過NTP協議與外部的時鐘服務器同步,可為今后擴展為分布式測試系統提供統一時鐘校對服務。系統硬件結構如圖1所示。

qrs3-t1.gif

1.2 軟件結構

    測試系統軟件采用B/S架構模式,軟件分為3層結構進行設計。整個結構分為上層、中間層和底層3部分:上層為用戶接口界面,負責接受用戶指令、顯示動態數據等;中間層由Web服務器和數據庫構成,負責提供Web服務、數據存儲等功能;底層由硬件驅動程序、測試應用程序構成,提供底層函數調用。

2 功能及實現

    根據上文所述硬件結構、軟件架構,設計并實現測試系統的各部分功能。以下就本設計的關鍵模塊進行詳細說明。系統功能模塊設計如圖2。

qrs3-t2.gif

2.1 用戶界面設計

    用戶界面設計主要分為4個功能模塊:用戶身份驗證模塊、測試設備基本信息瀏覽與配置模塊、動態數據查看模塊和歷史數據瀏覽模塊。

    用戶身份驗證模塊加強了系統安全性,分為普通用戶和管理員兩種權限模式。基本信息瀏覽模塊與配置模塊將調用底層CGI程序獲取設備基本信息,如服務器IP地址、客戶端IP地址、主機名稱、內核版本等信息;動態數據顯示模塊采用開源的Flot Javascript插件,將數據以數字、儀表、曲線多種方式來呈現。前臺與后臺數據交換采用了Ajax異步通信技術來實現動態更新頁面;歷史數據查看模塊調用后臺數據庫歷史數據后采用Ajax異步通信更新前端頁面,并自動生成CVS格式的歷史數據文件,用戶下載后可用于數據分析。

2.2 Web服務器、數據庫設計

    為構建B/S模式測試系統,系統必須具備提供Web服務能力和實驗數據管理能力。本節詳細介紹服務器和數據庫的實現過程。

2.2.1 嵌入式Web服務器設計

    目前在嵌入式設備中常用的Web服務器有Boa、thttpd、Mini_httpd等,同等硬件條件下,Boa顯示出更快的處理速度,內存需求小,能耗低,支持CGI腳本程序。

    主要移植步驟如下:(1)編譯源碼,生成ARM架構下可執行文件Boa。(2)修改服務器配置文件相關參數:DocumentRoot(測試頁面文檔路徑)、ScriptAlias(測試CGI腳本路徑)。

    圖3為服務器文件部署目錄,在boa.conf中更改參數如下:DocumentRoot/Testwww;ScriptAlias/cgi-bin/  /Testwww/CGIScripts/。Pages目錄主要部署HTML網頁文件、JavaScript腳本文件;CGIScripts目錄部署CGI腳本程序,包括數據庫查詢腳本、數據測試腳本、獲取設備基本信息腳本等;DataTbls目錄主要存儲數據庫文件,包括歷史數據表、用戶密碼數據表、設備基本信息表。分類目錄設計更利于文檔的編輯和管理。

qrs3-t3.gif

2.2.2 嵌入式數據庫設計

    嵌入式設備中常用的數據庫有mSQL、SQLiteDB等。經對比選擇開源數據庫SQLiteDB,它支持數據庫大小為2 TB,足夠小,全部代碼250 KB,比目前流行的大多數數據庫對數據的操作要快。

    移植步驟如下:(1)編譯源碼包生成可執行文件目錄。(2)將編譯生成的bin、include、lib目錄通過NFS文件系統復制至對應嵌入式文件系統下。

    根據需求分析設計數據庫實體對象,分為用戶實體、設備基本信息實體、歷史數據測試信息實體,最終設計對應的數據表。圖4給出用戶實體E-R圖。

qrs3-t4.gif

2.3 CGI、Ajax異步通信設計

    為了加強系統頁面與用戶的動態交互性,本系統采用CGI與Ajax的解決方案。使用CGI技術在服務器端發布動態網頁,與Ajax的XMLHttpRequest組件進行數據交互,實現了動態Web功能,使網頁局部自動刷新,無須手動更新網頁。這是本系統前臺與后臺數據通信的主要方式。

qrs3-t5.gif

    工作流程如下:(1)用戶通過Web瀏覽器訪問嵌入式服務器中部署好的測試頁面,服務器響應瀏覽器請求,返回內嵌有JavaScript腳本的Web頁面。(2)瀏覽器解析返回頁面代碼并顯示,執行內嵌的JavaScript腳本程序。(3)用戶在瀏覽器輸入的數據首先由JavaScript程序預處理,然后通過XMLHttp Request對象向服務器發出異步請求。服務器解析請求參數后調用底層相應驅動程序進行測試或存取數據庫,并將獲取的數據以XML格式返回給瀏覽器。(4)瀏覽器通過responseXML方法獲得數據,然后通過DOM文檔對象模型來更新用戶界面。

2.4 測試系統時鐘同步設計

    以上討論的是單測試系統組網情況,而B/S架構可搭建分布式測試系統。在分布式系統中, 常常需要一個全局時間, 用來確定系統中各種事件發生的先后、協調各種消息的傳輸、控制和監視系統的狀態,這就需要對系統中各個部件進行時鐘同步,保障局部時間統一。

2.4.1 網絡時間同步協議

    常用的網絡時間同步協議主要有NTP(Net Work Protocol)、SNTP(Simple Net Work Protocol)以及PTP(Precision Time Protocol)等,表1為三者綜合比較。

qrs3-b1.gif

    考慮協議的同步時間精度及其實現的難易度,決定采用NTP作為測試網絡中的時鐘同步協議。NTP時間同步模式分為4種:客戶端/服務器模式、對等體模式、廣播模式、組播模式。系統采用客戶端/服務器模式。

2.4.2 設計方案

    首先構建測試網絡,采用一臺Windows7操作系統的主機作為時鐘源服務器,兩臺嵌入式測試設備作為被同步對象。3個節點由路由器連接,構成局域測試網絡。

    其次配置時鐘源服務器、移植NTP協議至嵌入式測試設備。(1)對于Windows時鐘服務器只需更改注冊表相應參數,使其對外提供NTP服務。(2)嵌入式測試系統將作為NTP協議的Client,首先需要移植NTP協議。其次在配置文件ntp.conf中添加語句server 192.168.1.131,根據具體IP參數設置時鐘服務器的IP地址。(3)將嵌入式系統ntpd設置為開機自啟動服務,在/etc/init.d/rcS添加如下語句:ntpdate 192.168.1.131;/etc/init.d/ntpd。首先ntpdate將行一次時間校正,以防止服務器和客戶端時間誤差太大導致ntpd更新失敗,然后啟動ntpd服務,該服務每隔64 s會自動更新一次時間,在局域網條件下時鐘同步誤差范圍為1~10 ms之間。

3 實驗結果及分析

    使用瀏覽器登錄B/S模式嵌入式測試系統。圖6為測試數據實時顯示頁面,左側為動態數字顯示,并且對異常數據用顏色標識提示,右側為儀表顯示方式,以更加直觀的方式查看數據。圖7為波形圖表顯示頁面,直觀顯示數據隨時間變化趨勢。

qrs3-t6.gif

qrs3-t7.gif

4 結束語

    本文通過基于嵌入式B/S模式測試系統的構建以及基于ARM平臺的測試程序設計,對其中的服務器搭建、數據庫配置、前后臺數據傳輸方式以及未來多測試子系統組網的時鐘同步問題進行了詳細的闡述。從底層數據采集到數據存儲以及上層數據顯示都較好地完成了配電器測試任務,最終提出了一套可行的構建嵌入式測試系統方案。本文研究對未來實現B/S模式的分布式遠程測控系統打下了良好基礎,具有一定的參考價值。

參考文獻

[1] 呂國勇,史祥龍.基于嵌入式Linux和Ajax技術的Web異步交互設計[J].計算機應用,2013,33:247-251.

[2] 王寶忠,馬成.基于CGI技術的嵌入式動態Web的研究與實現[J].電子設計工程,2012,20(18):161-163.

[3] 劉利枚,周鮮成,石彪.嵌入式軟件測試系統的設計與實現[J].國外電子測量技術,2008,27(1):59-61.

[4] 蔡勇,王勇.嵌入式數據庫SQLite在測控系統設計中的應用[J].電子測試,2011(10):89-93.

[5] 張振,王曉寧,張元.嵌入式Web服務器移植與測試[J].電子設計工程,2010,18(6):1-3.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 开心久久婷婷综合中文字幕| 欧美老熟妇又粗又大| 国产精品久久久久9999赢消| 体育生开房互操| 91色在线观看| 女人18毛片a级18**多水真多| 久久精品*5在热| 欧美精品第欧美第12页| 国产成人午夜福利在线播放| 中日韩欧美在线观看| 欧美日韩一区二区三区视视频 | 国产熟女一区二区三区五月婷 | 久久久久国产一区二区| 欧美成人秋霞久久AA片| 国产做无码视频在线观看| 97精品伊人久久久大香线焦| 成人深夜福利在线播放不卡| 亚洲精品美女久久久久99| 色婷五月综激情亚洲综合| 在线看的你懂的| 久久综合丝袜日本网| 绿帽子巨物夺娇妻09| 国产欧美日韩中文字幕| 99久久成人国产精品免费| 成人在线观看不卡| 久久国产精品一国产精品 | 国产欧美精品一区二区三区-老狼 国产欧美精品一区二区三区-老狼 | 日本高清免费一本视频在线观看 | 91精品国产入口| 小信的干洗店1~4| 亚洲日本一区二区三区在线不卡| 综合欧美一区二区三区| 国产成人AV区一区二区三| 69成人免费视频无码专区| 女人扒下裤让男人桶到爽| 亚洲AV最新在线观看网址| 精品亚洲一区二区三区在线播放 | 女人18毛片a级毛片免费视频| 久久久久久AV无码免费网站| 校园春色国产精品| 午夜福利一区二区三区高清视频|