新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM的嵌入式SMTP遠(yuǎn)程控制設(shè)計(jì)

基于ARM的嵌入式SMTP遠(yuǎn)程控制設(shè)計(jì)

作者: 時(shí)間:2009-06-18 來(lái)源:網(wǎng)絡(luò) 收藏

配置模塊使系統(tǒng)管理員可以遠(yuǎn)程使用郵件的方式設(shè)置設(shè)備的參數(shù),在系統(tǒng)啟動(dòng)中定義的配置環(huán)境變量包括設(shè)備的臨界值,狀態(tài)報(bào)告周期,Socket端口等網(wǎng)絡(luò)參數(shù),設(shè)備的啟動(dòng)停止時(shí)間,工作周期等。
網(wǎng)絡(luò)遠(yuǎn)程設(shè)備的配置和控制信息的訪問(wèn)是安全保護(hù)的重點(diǎn)。安全模塊通過(guò)在服務(wù)器上定義安全域和對(duì)每個(gè)安全域定義的用戶名/密碼實(shí)現(xiàn)對(duì)敏感信息的保護(hù)。還可以對(duì)請(qǐng)求控制動(dòng)作及數(shù)據(jù)采取加密措施實(shí)現(xiàn)安全保護(hù)功能。系統(tǒng)主要通過(guò)E來(lái)實(shí)現(xiàn)保護(hù)措施。E為擴(kuò)展的協(xié)議,是郵件服務(wù)器系統(tǒng)為了限制非本系統(tǒng)的正式用戶利用本系統(tǒng)散發(fā)垃圾郵件或其他不當(dāng)行為而開(kāi)設(shè)的一項(xiàng)安全認(rèn)證服務(wù)。
應(yīng)用程序接口模塊實(shí)現(xiàn)和控制系統(tǒng)的控制及數(shù)據(jù)交換。在本系統(tǒng)中,應(yīng)用程序接口與操作系統(tǒng)通信,通過(guò)設(shè)備的驅(qū)動(dòng)程序?qū)崿F(xiàn)對(duì)嵌入系統(tǒng)的配置、監(jiān)視和控制,是系統(tǒng)控制的核心。監(jiān)控程序模塊使用CGI(Common Gateway Interface)的方式實(shí)現(xiàn)。
2. SMTP通訊模塊
通過(guò)電子郵件來(lái)與網(wǎng)絡(luò)系統(tǒng)通信有如下優(yōu)點(diǎn):(1) 用戶接口是日常使用的標(biāo)準(zhǔn)電子郵件客戶程序,對(duì)技術(shù)要求較低;(2) 有現(xiàn)成的協(xié)議用于從各種設(shè)備(桌面電腦、手持設(shè)備及網(wǎng)絡(luò)電話)發(fā)送電子郵件并在因特網(wǎng)上傳輸;(3) 只需稍加處理,便可對(duì)嵌入式設(shè)備上回復(fù)的電子郵件以HTML格式進(jìn)行編碼,使數(shù)據(jù)的表現(xiàn)形式更為豐富和易讀;(4) 電子郵件客戶程序有自己的存檔日志,便于進(jìn)行數(shù)據(jù)歸檔備份[3]。
系統(tǒng)中實(shí)現(xiàn)的是一個(gè)簡(jiǎn)化的SMTP Server。僅僅是根據(jù)基本的SMTP交互協(xié)議實(shí)現(xiàn)郵件接收和郵件轉(zhuǎn)儲(chǔ)。不提供郵件轉(zhuǎn)發(fā),也不需要考慮多用戶的郵件并發(fā)連接。該SMTP Server僅僅為單用戶提供專用連接,并按自己的特定格式接收。
因此,該SMTP Server實(shí)現(xiàn)的核心是實(shí)現(xiàn)最簡(jiǎn)單的SMTP鎖步協(xié)議對(duì)話機(jī),并從郵件中析取出命令及附件數(shù)據(jù)。在分析標(biāo)準(zhǔn)后,程序中僅實(shí)現(xiàn)符合應(yīng)用需求的最簡(jiǎn)潔的SMTP對(duì)話機(jī)制。Server只是對(duì)客戶命令有效的發(fā)出每一個(gè)對(duì)話的響應(yīng)碼及固定信息,然后接收客戶機(jī)的應(yīng)答。在應(yīng)答消息中也僅僅分析應(yīng)答的字符命令是否正確,而不理睬其他信息。在郵件處理過(guò)程中,只查找主題并判斷,然后從郵件中判斷出附件的標(biāo)志并從附件開(kāi)始處接收數(shù)據(jù)然后解碼。
2.1 SMTP通訊基本流程
為實(shí)現(xiàn)設(shè)備的及狀態(tài)響應(yīng),將SMTP軟件的結(jié)構(gòu)模塊化。分為套接字通訊模塊、編碼模塊、解析模塊、SMTP/E模塊、附件解析模塊。其基本結(jié)構(gòu)如圖2。

本文引用地址:http://m.butianyuan.cn/article/152450.htm

圖2: 嵌入式SMTP流程
2.2 套接字通訊模塊
網(wǎng)絡(luò)套接字模塊負(fù)責(zé)與遠(yuǎn)端客戶機(jī)、服務(wù)器建立TCP連接,發(fā)送和接收從客戶端發(fā)送的命令和數(shù)據(jù)以及向其他SMTP服務(wù)器端返回郵件數(shù)據(jù)。這些都是TCP/IP棧通過(guò)Linux操作系統(tǒng)的標(biāo)準(zhǔn)Socket機(jī)制來(lái)實(shí)現(xiàn)的。在網(wǎng)絡(luò)模塊中,為便于升級(jí),考慮到了IPv4到IPv6過(guò)渡。在用戶設(shè)置服務(wù)器地址的時(shí)候,可以支持IP地址輸入和域名輸入兩種方式,這樣給用戶帶來(lái)很大方便。
在該模塊中,提供一個(gè)TCP流套接字服務(wù)器。在端口25上綁定套接字,最多可以提供一個(gè)連接,支持5個(gè)等待。一旦服務(wù)器接受一個(gè)連接,該套接字被傳給SMTP/E模塊,來(lái)處理SMTP協(xié)議實(shí)現(xiàn)交互。處理完后關(guān)閉套接字,然后可以等待另一個(gè)請(qǐng)求。
2.3 編碼模塊
在系統(tǒng)中,遠(yuǎn)程設(shè)備需要周期性的將設(shè)備運(yùn)行狀態(tài)及各參數(shù)發(fā)送給管理者,以及在管理者發(fā)送查詢指令時(shí)將查詢的關(guān)鍵值發(fā)送給管理者。這需要設(shè)備能夠根據(jù)運(yùn)行的參數(shù)構(gòu)造標(biāo)準(zhǔn)結(jié)構(gòu)的E-mail并發(fā)送。

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

tcp/ip相關(guān)文章:tcp/ip是什么




評(píng)論


相關(guān)推薦

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

關(guān)閉