• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于B/S模式的嵌入式系統(tǒng)測試方法與實現(xiàn)

    2016-11-30 07:27:52李萬國
    電子技術應用 2016年2期
    關鍵詞:時鐘頁面嵌入式

    陳 娟,李 元,李萬國

    (1.北京航空航天大學 機械工程及自動化學院,北京 100083;2.宇航智能控制技術國家級重點實驗室,北京 100854)

    基于B/S模式的嵌入式系統(tǒng)測試方法與實現(xiàn)

    陳娟1,2,李元1,李萬國1

    (1.北京航空航天大學 機械工程及自動化學院,北京 100083;2.宇航智能控制技術國家級重點實驗室,北京 100854)

    針對分布式測試系統(tǒng)的研發(fā)需求,綜合網(wǎng)絡通信技術、數(shù)據(jù)庫技術以及嵌入式技術等構(gòu)建了一種基于B/S(Browser/Server)模式的嵌入式測試系統(tǒng)。通過移植 Web服務器Boa、輕量級數(shù)據(jù)庫SQLite、網(wǎng)絡時鐘同步協(xié)議 NTP(Network Time Protocol),實現(xiàn)了一個完整的測試系統(tǒng)。系統(tǒng)前臺采用實時圖形化Web頁面顯示,使用Ajax異步數(shù)據(jù)傳輸與后臺進行數(shù)據(jù)通信,實現(xiàn)了頁面局部動態(tài)刷新,優(yōu)化人機交互過程。測試系統(tǒng)通過局域網(wǎng)實驗驗證,取得了良好的效果,符合預期目標,為今后研發(fā)基于B/S模式的嵌入式分布式測試系統(tǒng)打下基礎,具有一定的參考價值。

    嵌入式測試系統(tǒng);嵌入式服務器;數(shù)據(jù)庫;異步數(shù)據(jù)交互;通用網(wǎng)關接口

    0 引言

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

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

    1 整體結(jié)構(gòu)

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

    用戶通過Web頁面登錄至服務器后發(fā)出配置、測試等控制命令;Server響應用戶的請求,調(diào)用對應的CGI服務程序,并采用Ajax異步數(shù)據(jù)傳輸?shù)姆绞綄y試結(jié)果動態(tài)返回至用戶Web頁,前端采用波形曲線、指針等多種形式展現(xiàn)數(shù)據(jù)。

    1.1硬件結(jié)構(gòu)

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

    圖1 測試系統(tǒng)硬件結(jié)構(gòu)圖

    1.2軟件結(jié)構(gòu)

    測試系統(tǒng)軟件采用B/S架構(gòu)模式,軟件分為3層結(jié)構(gòu)進行設計。整個結(jié)構(gòu)分為上層、中間層和底層3部分:上層為用戶接口界面,負責接受用戶指令、顯示動態(tài)數(shù)據(jù)等;中間層由Web服務器和數(shù)據(jù)庫構(gòu)成,負責提供Web服務、數(shù)據(jù)存儲等功能;底層由硬件驅(qū)動程序、測試應用程序構(gòu)成,提供底層函數(shù)調(diào)用。

    2 功能及實現(xiàn)

    根據(jù)上文所述硬件結(jié)構(gòu)、軟件架構(gòu),設計并實現(xiàn)測試系統(tǒng)的各部分功能。以下就本設計的關鍵模塊進行詳細說明。系統(tǒng)功能模塊設計如圖2。

    圖2 系統(tǒng)功能模塊設計

    2.1用戶界面設計

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

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

    2.2Web服務器、數(shù)據(jù)庫設計

    為構(gòu)建 B/S模式測試系統(tǒng),系統(tǒng)必須具備提供 Web服務能力和實驗數(shù)據(jù)管理能力。本節(jié)詳細介紹服務器和數(shù)據(jù)庫的實現(xiàn)過程。

    2.2.1嵌入式Web服務器設計

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

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

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

    圖3 嵌入式服務器文件部署目錄

    2.2.2嵌入式數(shù)據(jù)庫設計

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

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

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

    圖4 用戶E-R圖

    2.3CGI、Ajax異步通信設計

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

    圖5 Ajax異步通信過程

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

    2.4測試系統(tǒng)時鐘同步設計

    以上討論的是單測試系統(tǒng)組網(wǎng)情況,而B/S架構(gòu)可搭建分布式測試系統(tǒng)。在分布式系統(tǒng)中,常常需要一個全局時間,用來確定系統(tǒng)中各種事件發(fā)生的先后、協(xié)調(diào)各種消息的傳輸、控制和監(jiān)視系統(tǒng)的狀態(tài),這就需要對系統(tǒng)中各個部件進行時鐘同步,保障局部時間統(tǒng)一。

    2.4.1網(wǎng)絡時間同步協(xié)議

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

    表1 不同時鐘同步協(xié)議對比

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

    2.4.2設計方案

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

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

    圖6 測試數(shù)據(jù)實時顯示頁面

    3 實驗結(jié)果及分析

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

    圖7 波形圖表顯示頁面

    4 結(jié)束語

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

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

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

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

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

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

    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)

    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.

    embedded test system;embedded server;database;Ajax asynchronous interaction;CGI

    TP31

    A

    10.16157/j.issn.0258-7998.2016.02.013

    2015-07-25)

    陳娟(1973-),女,博士,講師,主要研究方向:分布式測試系統(tǒng)、機電總線管理。

    李元(1989-),男,碩士研究生,主要研究方向:虛擬儀器測控系統(tǒng)、嵌入式測控系統(tǒng)。

    李萬國(1969-),男,博士,主要研究方向:流體傳動與控制、分布式加載熱強度實驗技術。

    中文引用格式:陳娟,李元,李萬國.基于 B/S模式的嵌入式系統(tǒng)測試方法與實現(xiàn)[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.

    猜你喜歡
    時鐘頁面嵌入式
    大狗熊在睡覺
    刷新生活的頁面
    別樣的“時鐘”
    古代的時鐘
    搭建基于Qt的嵌入式開發(fā)平臺
    有趣的時鐘
    嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
    時鐘會開“花”
    Altera加入嵌入式視覺聯(lián)盟
    倍福 CX8091嵌入式控制器
    自動化博覽(2014年4期)2014-02-28 22:31:15
    大连市| 宜兰市| 静乐县| 佛学| 南投市| 全南县| 鄂托克前旗| 肥乡县| 和田市| 大名县| 玛纳斯县| 定日县| 农安县| 邓州市| 武宣县| 湘潭市| 文水县| 宁河县| 阳谷县| 平安县| 湟中县| 济阳县| 松阳县| 杭锦后旗| 洛浦县| 丹江口市| 遂平县| 荣成市| 来凤县| 利川市| 哈巴河县| 和平县| 碌曲县| 崇州市| 本溪| 安徽省| 余庆县| 徐水县| 和硕县| 襄垣县| 芒康县|