www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式網(wǎng)絡(luò)信息發(fā)布系統(tǒng)設(shè)計(jì)

摘要:對(duì)信息發(fā)布系統(tǒng)現(xiàn)狀進(jìn)行研究,結(jié)合嵌入式互聯(lián)網(wǎng)技術(shù),提出一種嵌入式網(wǎng)絡(luò)信息發(fā)布系統(tǒng)的解決方案,并介紹了信息發(fā)布管理平臺(tái)和嵌入式終端的軟件設(shè)計(jì)。信息發(fā)布管理平臺(tái)基于Web開發(fā),通過管理平臺(tái)可以對(duì)每個(gè)終端進(jìn)行實(shí)時(shí)監(jiān)控。數(shù)據(jù)存儲(chǔ)服務(wù)器是相對(duì)獨(dú)立的,主要用于存儲(chǔ)發(fā)布的數(shù)據(jù)信息,并最終根據(jù)終端的要求將信息推送到終端上。執(zhí)行終端采用嵌入式芯片,為了節(jié)約硬件系統(tǒng)資源的開銷,在嵌入式芯片上移植μC/OS-Ⅱ操作系統(tǒng),并且定制HTTP超文本傳輸協(xié)議。
關(guān)鍵詞:信息發(fā)布;嵌入式;互聯(lián)網(wǎng)技術(shù);Web

0 引言
    隨著信息時(shí)代、數(shù)字時(shí)代的到來,尤其是互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)設(shè)備與系統(tǒng)體現(xiàn)出高效、靈活、可移植性強(qiáng)的特點(diǎn)。嵌入式技術(shù)也有著飛速的發(fā)展,從硬件方面來看,嵌入式微處理器的性能提升到了一個(gè)新的高度。從軟件方面來看,它已經(jīng)擁有了高效的操作系統(tǒng),方便開發(fā)人員進(jìn)行軟件個(gè)性化設(shè)計(jì)。嵌入式系統(tǒng)在的實(shí)踐過程中,具有體積小,攜帶方便,便于安裝調(diào)試和價(jià)格低廉等優(yōu)點(diǎn),從而使嵌入式系統(tǒng)滿足了多數(shù)的消費(fèi)電子、通信、工業(yè)控制等領(lǐng)域的要求。
    為了實(shí)現(xiàn)面向公眾的信息傳遞,人們采用了告機(jī)、單宣傳畫、工控廣機(jī)廣告機(jī)等方式。但這些信息發(fā)布方式,存在著信息量局限,成本高,更換內(nèi)容困難等缺點(diǎn)?;趯?duì)市場(chǎng)的理解,并結(jié)合先進(jìn)的嵌入式互聯(lián)網(wǎng)視頻技術(shù),本文介紹了一種嵌入式網(wǎng)絡(luò)信息發(fā)布系統(tǒng),闡述了服務(wù)器、數(shù)據(jù)庫和嵌入式終端解決方案,以及服務(wù)器與數(shù)據(jù)庫的交互、服務(wù)器與終端的通信協(xié)議等關(guān)鍵單元技術(shù),并詳細(xì)介紹終端的軟件設(shè)計(jì)思想。

1 系統(tǒng)組成
    該系統(tǒng)分為網(wǎng)絡(luò)信息發(fā)布管理平臺(tái)和遠(yuǎn)程嵌入式終端兩部分。系統(tǒng)的軟硬件部署,主要分為三個(gè)部分:嵌入式終端,發(fā)布系統(tǒng)服務(wù)器和內(nèi)容服務(wù)器。其中,在實(shí)際應(yīng)用中,發(fā)布系統(tǒng)服務(wù)器和內(nèi)容服務(wù)器可以合并為同一臺(tái)服務(wù)器,如圖1所示。


1.1 硬件方面
1.1.1 管理平臺(tái)硬件環(huán)境
    一臺(tái)Windows操作系統(tǒng)的計(jì)算機(jī),配置Java開發(fā)運(yùn)行環(huán)境,并且裝有Apache Tomcat 6.0服務(wù)器和MySQL5.1數(shù)據(jù)庫等軟件。
1.1.2 嵌入式硬件環(huán)境
    嵌入式芯片需滿足多媒體開發(fā)和網(wǎng)絡(luò)開發(fā)的基本要求。
    (1)支持視頻格式、音頻格式、圖片格式的編碼和解碼;
    (2)支持視頻圖像和音頻輸出接口;
    (3)支持USB接口;
    (4)支持HTTP協(xié)議;
    (5)支持10 M/100 M網(wǎng)卡。
1.2 軟件方面
    在這種系統(tǒng)軟件設(shè)計(jì)中,信息發(fā)布管理平臺(tái)基于Web開發(fā),采用了目前常用的Java+Struts+Hibernate方法。struts框架定義了管理平臺(tái)系統(tǒng)的結(jié)構(gòu)(表示層)和頁面之間流轉(zhuǎn)的規(guī)則(業(yè)務(wù)層)。Hibernate將數(shù)據(jù)庫連接抽象化,使得開發(fā)過程中對(duì)數(shù)據(jù)庫的使用更加簡潔方便,同時(shí),Hibernate降低了更換不同類型數(shù)據(jù)庫所用的開發(fā)時(shí)間?;贘ava語言編寫服務(wù)端代碼,開發(fā)效率高,面向?qū)ο蟮脑O(shè)計(jì)方法提高了代碼的可維護(hù)性。該模塊還使用了較多的JS代碼和基于Ajax的技術(shù)來提高客戶端頁面刷新和頁面功能;數(shù)據(jù)庫服務(wù)器的設(shè)計(jì)使用瑞典MySQL AB公司開發(fā)的小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)MySQL5.1,它為Java語言提供了豐富的API,方便Java應(yīng)用程序?qū)ζ湓L問。
    嵌入式終端操作系統(tǒng)采用μC/OS-Ⅱ操作系統(tǒng)。μC/OS-Ⅱ是一個(gè)源碼開放的搶占式實(shí)時(shí)操作系統(tǒng)。它的內(nèi)核短小精悍、可裁減、執(zhí)行時(shí)間確定。系統(tǒng)大部分代碼采用C語言編寫,與硬件有關(guān)的部分都集中在固定的文件中,移植相當(dāng)方便,可應(yīng)用于目前大多數(shù)型號(hào)的CPU。但是,沒有集成網(wǎng)絡(luò)協(xié)議,所以,開發(fā)人員使用該操作系統(tǒng)進(jìn)行網(wǎng)絡(luò)程序開發(fā)時(shí),需要自行定制網(wǎng)絡(luò)協(xié)議。[!--empirenews.page--]

2 信息發(fā)布系統(tǒng)的單元交互
    嵌入式網(wǎng)絡(luò)信息發(fā)布系統(tǒng)單元之間的通信可以分為兩層:服務(wù)器與數(shù)據(jù)庫交互、服務(wù)器與遠(yuǎn)程終端通信。
2.1 服務(wù)器與數(shù)據(jù)庫交互層
    該系統(tǒng)的服務(wù)器具有遠(yuǎn)程監(jiān)控服務(wù)功能,包括Web服務(wù)器、文件服務(wù)器、本地控制服務(wù)器。其中,Web服務(wù)器提供信息網(wǎng)絡(luò)發(fā)布系統(tǒng)的用戶交互界面和業(yè)務(wù)邏輯處理模塊的運(yùn)行環(huán)境;文件服務(wù)器主要提供系統(tǒng)管理的視頻、圖像等多媒體信息的存取服務(wù);本地控制服務(wù)器主要管理轄區(qū)內(nèi)所有顯示終端的通信分發(fā)。
    在服務(wù)器上編寫了具有人機(jī)交互功能的JSP靜態(tài)管理平臺(tái)界面,用戶可以通過該界面方便地進(jìn)行圖形化操作,并將終端反饋的信息顯示在該界面,方便用戶獲取終端的運(yùn)行情況,還為用戶提供有用戶權(quán)限管理、內(nèi)容管理、播放控制等模塊的監(jiān)控頁面。用戶只需登錄該管理平臺(tái)界面,即可通過網(wǎng)絡(luò)對(duì)遠(yuǎn)程終端進(jìn)行監(jiān)控。
    服務(wù)器對(duì)數(shù)據(jù)庫的訪問采用JDBC兩層模型方法。JDBC是一種用于執(zhí)行SQL語句的Java API,利用這種方法可以方便地與數(shù)據(jù)庫建立連接,發(fā)送操作數(shù)據(jù)庫的語句,并處理結(jié)果。兩層模型可使得Java Applet或應(yīng)用程序?qū)⒅苯优c數(shù)據(jù)庫進(jìn)行交互。
    服務(wù)器與數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)交互主要用于存取終端基本狀態(tài)信息。例如:網(wǎng)絡(luò)連接是否正常,連接在同一個(gè)服務(wù)器的各個(gè)終端ID號(hào),終端硬盤的空間大小,硬盤中的內(nèi)容等。指令的生成依賴于該模塊在數(shù)據(jù)庫中所查詢到的終端狀態(tài)標(biāo)志位。當(dāng)服務(wù)器對(duì)某終端進(jìn)行相應(yīng)的控制操作時(shí),首先從數(shù)據(jù)庫中讀取出該終端當(dāng)前的狀態(tài)標(biāo)志位,根據(jù)這些標(biāo)志位進(jìn)行邏輯判斷,生成本次控制操作所需要發(fā)送的XML文本指令。
2.2 服務(wù)器與遠(yuǎn)程終端通信層
    服務(wù)器與遠(yuǎn)程終端的通信采用HTTP超文本傳輸協(xié)議,終端定時(shí)(初定8 s)發(fā)送請(qǐng)求到服務(wù)器。服務(wù)器接受到請(qǐng)求后,將相應(yīng)的XML文本語言形式的控制操作指令發(fā)送到連接的網(wǎng)絡(luò)端口,遠(yuǎn)程終端讀取端口的數(shù)據(jù)進(jìn)行解析,完成本次控制操作。如果一定時(shí)間內(nèi)(初定1 min)沒有收到終端的消息,可斷定出現(xiàn)網(wǎng)絡(luò)異常(終端離線)。
    終端系統(tǒng)正常啟動(dòng)之后,系統(tǒng)將自動(dòng)分配一段內(nèi)存空間,一部分用來存儲(chǔ)請(qǐng)求信息和控制指令,一部分作為消息隊(duì)列。然后,終端的狀態(tài)信息作為請(qǐng)求信息循環(huán)向指定IP地址(服務(wù)器)的端口(初定80端口)發(fā)送。終端請(qǐng)求成功后,服務(wù)器讀取端口接收的請(qǐng)求信息,將請(qǐng)求信息解析后作為終端的當(dāng)前狀態(tài)信息,更新數(shù)據(jù)庫中的狀態(tài)標(biāo)志位。同時(shí),服務(wù)器也可以通過HTTP傳輸協(xié)議發(fā)送XML語言結(jié)構(gòu)的文本指令給終端,終端接收到指令后進(jìn)行解析,并對(duì)終端進(jìn)行相應(yīng)的控制操作。

3 信息發(fā)布系統(tǒng)的關(guān)鍵技術(shù)
    嵌入式硬件的系統(tǒng)頻率、存儲(chǔ)空間、緩存大小、編碼和解碼等性能已經(jīng)達(dá)到了較高的技術(shù)水平。那么,對(duì)于嵌入式芯片在不同領(lǐng)域中的應(yīng)用更依靠于操作系統(tǒng)和靈活的軟件設(shè)計(jì)思想來實(shí)現(xiàn)。
    在該系統(tǒng)的設(shè)計(jì)中,服務(wù)器的設(shè)計(jì)需要考慮服務(wù)器與數(shù)據(jù)庫和終端的交互協(xié)議,當(dāng)通過服務(wù)器控制多臺(tái)終端的時(shí)候,對(duì)于指令分發(fā)、數(shù)據(jù)包傳輸、以及數(shù)據(jù)庫的更新都存在著時(shí)序和邏輯問題。為了節(jié)省系統(tǒng)內(nèi)存的開銷,也要保證系統(tǒng)的實(shí)時(shí)性和可靠性,所以終端的操作系統(tǒng)選擇μC/OS-Ⅱ。該操作系統(tǒng)沒有集成網(wǎng)絡(luò)協(xié)議,所以結(jié)合其性能條件定制適合它的網(wǎng)絡(luò)傳輸協(xié)議。
3.1 終端網(wǎng)絡(luò)程序的設(shè)計(jì)
    遠(yuǎn)程終端的執(zhí)行效果只有到現(xiàn)場(chǎng)才可以觀察,那么,保證終端接收指令和對(duì)指令響應(yīng)的可靠性是十分必要的。HTTP協(xié)議是一種文本協(xié)議,文本協(xié)議通常是用ASCII符集編碼,具有理解簡單,擴(kuò)展擴(kuò)充方便,容錯(cuò)性較強(qiáng),可靠性高等優(yōu)點(diǎn)。開發(fā)人員可以方便地進(jìn)行協(xié)議的定制,節(jié)省了軟件調(diào)試時(shí)間,大大縮短了開發(fā)周期。因此,在該系統(tǒng)的操作系統(tǒng)中定制了HTTP超文本傳輸協(xié)議。
    μC/OS-Ⅱ操作系統(tǒng)中創(chuàng)建一個(gè)系統(tǒng)網(wǎng)絡(luò)的入口函數(shù),在此函數(shù)中創(chuàng)建一個(gè)網(wǎng)絡(luò)后臺(tái)任務(wù),該任務(wù)的主要功能是請(qǐng)求網(wǎng)絡(luò)連接,并接收來自服務(wù)器的指令。當(dāng)終端系統(tǒng)初始化后,進(jìn)入網(wǎng)絡(luò)后臺(tái)任務(wù),循環(huán)向服務(wù)器發(fā)送HTTP請(qǐng)求,請(qǐng)求成功后,終端反饋信息到服務(wù)器。
    系統(tǒng)軟件使用C語言編程,將HTTP協(xié)議封裝在結(jié)構(gòu)體中,用結(jié)構(gòu)體屬性字段來表示。
    網(wǎng)絡(luò)端口的所有數(shù)據(jù)項(xiàng),包括HTTP協(xié)議頭、控制指令、lP地址、端口號(hào)、端口信號(hào)量鎖等。HTTP協(xié)議的結(jié)構(gòu)體如下:
   
    其中:http_Request[REQUEST_SIZE為HTTP協(xié)議頭字符串;http_Response為服務(wù)器發(fā)給終端的控制指令;httpWait為信號(hào)量。用信號(hào)量來實(shí)現(xiàn)網(wǎng)絡(luò)端口的互斥訪問。
    在系統(tǒng)中,網(wǎng)絡(luò)管理平臺(tái)控制多個(gè)嵌入式終端時(shí),通過網(wǎng)絡(luò)端口與每個(gè)終端進(jìn)行網(wǎng)絡(luò)連接通信。網(wǎng)絡(luò)端口是獨(dú)占性的端口,所以,選擇信號(hào)量機(jī)制對(duì)網(wǎng)絡(luò)端口的訪問進(jìn)行互斥鎖處理。

    HTTPTcpConnection_t為網(wǎng)絡(luò)端口連接信息,它也是一個(gè)結(jié)構(gòu)體,屬性字段包括服務(wù)器的IP地址、網(wǎng)絡(luò)端口號(hào)、以及終端請(qǐng)求信息等。代碼如下:
   
   
3.2 多任務(wù)間通信
    μC/OS-Ⅱ是多任務(wù)機(jī)制操作系統(tǒng),最多可支持64個(gè)任務(wù),任務(wù)優(yōu)先級(jí)從0~63,對(duì)這樣的多任務(wù)操作系統(tǒng)來說,任務(wù)間的通信是必不可少的。μC/OS-Ⅱ中提供了4種通信對(duì)象,分別是信號(hào)量、郵箱、消息隊(duì)列和事件。所有這些同步對(duì)象都有創(chuàng)建、等待、發(fā)送、查詢的接口用于實(shí)現(xiàn)任務(wù)間的通信。[!--empirenews.page--]
    消息機(jī)制是創(chuàng)建一個(gè)消息隊(duì)列,一個(gè)任務(wù)將消息發(fā)送到該消息隊(duì)列中,另一個(gè)任務(wù)在隊(duì)列的另一端接收此消息。消息隊(duì)列是在消息的傳輸過程中保存消息的容器,它的主要目的是為消息的傳遞提供路徑;如果發(fā)送消息時(shí)接收者沒有響應(yīng),消息隊(duì)列會(huì)保留消息,直到可以成功地傳遞給接收者。
    消息機(jī)制具有靈活性、可擴(kuò)展性和異步性等優(yōu)點(diǎn)。因此,該系統(tǒng)采用消息隊(duì)列的方式實(shí)現(xiàn)UI/User層程序和應(yīng)用程序之間的通信,如圖2所示。


    消息的結(jié)構(gòu)體如下:
   
    在消息結(jié)構(gòu)體中:
    app_id:接受此消息的應(yīng)用程序或樁函數(shù)。
    msg_type:消息類型。系統(tǒng)中的消息設(shè)計(jì)有兩種類型。一是命令消息,應(yīng)用程序接收到來自UI/User程序的命令消息后,對(duì)其進(jìn)行解析,然后,逐個(gè)執(zhí)行消息中的命令集合,并反饋執(zhí)行結(jié)果;二是通知消息,用來通知UI/User命令在應(yīng)用程序中得到響應(yīng)。
    msg_id:消息的ID號(hào)。
    msg_value:消息的參數(shù),存放指針的地址。
    下面以命令消息處理過程為例,介紹消息的發(fā)送、接收和消息相應(yīng)操作過程,如圖3所示。其中,應(yīng)用程序管理器是一個(gè)消息處理中心,它為UI/User層提供了一些API函數(shù),用來為應(yīng)用程序接受輸入命令和分發(fā)命令。同時(shí),它還接收來自應(yīng)用程序的命令執(zhí)行結(jié)果和通知消息,并把這些消息發(fā)送給相應(yīng)的消息處理函數(shù)。



4 結(jié)語
    現(xiàn)場(chǎng)調(diào)試中發(fā)現(xiàn),工控機(jī)信息發(fā)布系統(tǒng)的故障率為5%,而本文設(shè)計(jì)的嵌入式信息發(fā)布系統(tǒng)的故障率為8%。從價(jià)格上進(jìn)行比較,工控機(jī)信息發(fā)布系統(tǒng)價(jià)格是嵌入式信息發(fā)布系統(tǒng)價(jià)格的10倍左右。顯然,該系統(tǒng)具有更好的性價(jià)比,且使用簡單,操作方便。隨著嵌入式系統(tǒng)軟件的PC化,它將成為一種理想的信息發(fā)布系統(tǒng),有著十分誘人的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉