中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Linux的WEB服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)

        基于Linux的WEB服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)

        作者: 時(shí)間:2014-10-21 來源:網(wǎng)絡(luò) 收藏

          2.2 電子郵件功能的實(shí)現(xiàn)

        本文引用地址:http://www.antipu.com.cn/article/264209.htm

          在系統(tǒng)設(shè)計(jì)時(shí),考慮到系統(tǒng)的存儲容量,不可能將采集的數(shù)據(jù)全部存儲在本地的系統(tǒng)中,為了保存系統(tǒng)的日志,可以采取定時(shí)向指定郵箱發(fā)送數(shù)據(jù)。本系統(tǒng)用 Java語言開發(fā)了后臺自動發(fā)送郵件的功能。郵件采用 BASE64編碼,并且支持 SMTP認(rèn)證。

          在本系統(tǒng)中,只需要完成 SMTP的發(fā)送方式,而不要求其完成 SMTP的接收方式,這樣就簡化了編程的難度。SMTP開服務(wù)器和 SMTP客戶之間的對話過程:首先建立 TCP連接,然后客戶端發(fā)送 HELO命令以標(biāo)識發(fā)件人的身份,客戶端發(fā)送 MAIL命令,服務(wù)器端以 OK作為響應(yīng),表明準(zhǔn)備接收。接下來客戶端發(fā)送 RCPT命令,以標(biāo)識該電子郵件的計(jì)劃接收人,服務(wù)器端如表示愿意為收件人接收郵件。則在協(xié)商結(jié)束后發(fā)送郵件,用命令 DATA發(fā)送,將輸入內(nèi)容一起發(fā)送出去。最后結(jié)束此次發(fā)送,用 QUIT命令退出。所有的命令都是以換行符作為結(jié)束。

          2.3 嵌入式 Web服務(wù)器接口模塊的實(shí)現(xiàn)

          在本系統(tǒng)中為了滿足不同工業(yè)控制系統(tǒng)的需要,設(shè)計(jì)有串口、總線接口、Modem接口和 RS-485接口。系統(tǒng)在啟動時(shí),從系統(tǒng)的 FLASH中讀取 120個(gè)字節(jié)的初始化信息,并據(jù)此來判斷是否開啟接口,并對所開啟的接口進(jìn)行初始化。由于各個(gè)模塊的初始化函數(shù)己經(jīng)存在,因此系統(tǒng)初始化時(shí),只要調(diào)用相應(yīng)的函數(shù)就夠了。PPP已經(jīng)在網(wǎng)絡(luò)模塊部分介紹,而 RS-485的使用和普通串口的初始化相似,本部分主要介紹 RS-232和 。

          2.3.1 RS-232串口驅(qū)動函數(shù)設(shè)計(jì)

          系統(tǒng)的開發(fā)語言是 Java,但 Java本身不提供對串口操作的類,要實(shí)現(xiàn)對串口的讀寫操作,需要用第三方 API函數(shù)完成,實(shí)際的開發(fā)過程中,使用串口通訊協(xié)議開發(fā)包 comm.jar,它是 J2SE的標(biāo)準(zhǔn)擴(kuò)展,支持 RS-231串口,并提供了一種與平臺無關(guān)的串口通信機(jī)制。

          串口驅(qū)動主要實(shí)現(xiàn)對串口的讀寫操作,給應(yīng)用程序提供發(fā)詢接收數(shù)據(jù)的接口。串口正常工作之前,需要進(jìn)行初始化設(shè)置,因此驅(qū)動中還有初始化函數(shù)。串口的驅(qū)動函數(shù)串口的驅(qū)動函數(shù)主要包括: serialInit()用來初始化 UART、serialRead()用來接收字節(jié)組、 serialWrite()用來發(fā)送字節(jié)組。

          2.3.2 總線模塊

          CAN接口在工業(yè)控制系統(tǒng)的運(yùn)用越來越廣泛,操作系統(tǒng)提供了對 CAN進(jìn)行操作的dalsem.com.CanBus類,如要對 CAN進(jìn)行操作,首先要建立一個(gè) CAN的對象。

          CanBus canTest = new CanBus(CanBus.CANBUS0);

          由于 DS80C400只提供一個(gè) CAN控制器,所以只能選用 CANBUS0。一旦對象被初始化,就需要設(shè)置 CAN的速率。 CAN速率的設(shè)置通過設(shè)置 Prescaler,TSEGI,TSEGZ和同步段來完成。CAN的計(jì)算速率為:CAN波特率=晶振頻率/Prescaler+ (TSEG1+TSEG2)。

          將上述設(shè)置完成后,就可以使 CAN控制器使能了:canTest.enableController();要想完成幀的發(fā)送和接收,除了在信息中心設(shè)置接收和發(fā)送模式外,還必須先定義一個(gè) CanFrame的對象即 CanFrame frame =new CanFrame();要接收一個(gè) CAN的幀時(shí),信息是以 CanFrame對象的形式進(jìn)行接收,并且調(diào)用 canTest.receive(frame);如要發(fā)送數(shù)據(jù),也必須將數(shù)據(jù)封裝層 CanFrame對象的形式進(jìn)行發(fā)送,并且調(diào)用 canTest.sendFrame(frame)。

          2.4人機(jī)接口模塊

          本系統(tǒng)將瀏覽器/服務(wù)器(B/S)結(jié)構(gòu)和客戶端/服務(wù)器(C/S)結(jié)構(gòu)相結(jié)合,客戶端仍只需使用易于操作的 Web瀏覽器,使用該模式不僅統(tǒng)一了用戶界面,為用戶對系統(tǒng)的查詢和操作提供了極大的方便,系統(tǒng)還通過 Java Applet平衡了服務(wù)器端與瀏覽器端的負(fù)載狀況。

          為了對控制對象進(jìn)行遠(yuǎn)程操作, Web頁面需要給用戶提供三個(gè)功能:一是現(xiàn)場設(shè)備查詢,主要是對現(xiàn)場設(shè)備的運(yùn)行狀態(tài)和采集數(shù)據(jù)進(jìn)行查詢;二是設(shè)備遠(yuǎn)程控制,提供對運(yùn)行現(xiàn)場某些參數(shù)的修改能力;三是報(bào)警 (如高限報(bào)警、下限報(bào)警等 ),如果現(xiàn)場設(shè)備超過設(shè)定的報(bào)警值,一方面會在網(wǎng)頁上發(fā)出聲音警報(bào)。此外還會在后臺向指定的郵箱發(fā)送報(bào)警郵件。

          2.4.1 網(wǎng)頁的交互方式

          Web系統(tǒng)主要采用 HTTP協(xié)議。HTTP采用請求/響應(yīng)的握手方式,每個(gè) HTTP交互都由從客戶端發(fā)往服務(wù)器的請求和從服務(wù)器發(fā)往客戶端的響應(yīng)組成。HTTP采用 TCP連接,而且該連接狀態(tài)僅在此次連接中保持,無論服務(wù)器或是瀏覽器都不會記憶上次的連接狀態(tài)。在設(shè)計(jì)中首先采用 com.dalsemi.tininet包中的 http類,實(shí)現(xiàn)在 80端口等待客戶端的請求。其主要實(shí)現(xiàn)如下:

          HTTPServer httpd = new HTTPServer(80); 然后給出將對應(yīng)的 HTML頁面返回到瀏覽器。 httpd.setIndexPage(“index.html”);初始化結(jié)束后,Web服務(wù)器進(jìn)入正常的工作狀態(tài)以輪詢的方式來進(jìn)行處理。

          2.5 系統(tǒng)的遠(yuǎn)程加載和調(diào)試

          為了使系統(tǒng)滿足不同任務(wù)的需要,有時(shí)需要對嵌入式系統(tǒng)中運(yùn)行的軟件進(jìn)行動態(tài)更新。本系統(tǒng)可以直接將新版本的監(jiān)控軟件通過計(jì)算機(jī)網(wǎng)絡(luò)傳送到現(xiàn)場的嵌入式系統(tǒng),對原有的軟件進(jìn)行更換,從而實(shí)現(xiàn)軟件的遠(yuǎn)程動態(tài)更新。利用操作系統(tǒng)自帶的 FTP和 Telnet功能,就可以實(shí)現(xiàn)系統(tǒng)的遠(yuǎn)程更新和調(diào)試。在系統(tǒng)初始化結(jié)束后開始運(yùn)行,一個(gè)線程創(chuàng)建了服務(wù)器套接字(Server Socket)來偵聽客戶端的 FTP和 Telnet連接請求。我們利用 Telnet和 FTP技術(shù),可以實(shí)現(xiàn)在 Internet上對嵌入式節(jié)點(diǎn)的遠(yuǎn)程操作,包括程序的運(yùn)行和停止、程序下載、在線更新、調(diào)試、配置等。

          3 總結(jié)

          本文的創(chuàng)新點(diǎn)是采用 Java技術(shù)進(jìn)行軟件開發(fā),在實(shí)現(xiàn)傳統(tǒng)的數(shù)據(jù)采集和發(fā)布的基礎(chǔ)上,還增加了電子郵件功能,使得系統(tǒng)保存日志更為方便,增加了遠(yuǎn)程文件的上傳和下載,使得系統(tǒng)可以遠(yuǎn)程更新;其次,對原有的操作系統(tǒng)進(jìn)行重新編譯,實(shí)現(xiàn)了對 Rash的加載。從而省去了傳統(tǒng)的通過電池保護(hù)電路來完成掉電后的數(shù)據(jù)保存;最后,系統(tǒng)設(shè)計(jì)了多個(gè)接口可以和不同接口的控制設(shè)備相連,增強(qiáng)了系統(tǒng)的通用性。在網(wǎng)絡(luò)接入模式上以太網(wǎng)和 PPP相結(jié)合使得系統(tǒng)的靈活性大為增強(qiáng)。

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        linux相關(guān)文章:linux教程


        雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理

        上一頁 1 2 下一頁

        關(guān)鍵詞: Linux WEB CAN

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉